Als «performance» getaggte Fragen

3
Wann ist ein Compute-Shader effizienter als ein Pixel-Shader für die Bildfilterung?
Bildfilterungsoperationen wie Unschärfen, SSAO, Blühen usw. werden normalerweise unter Verwendung von Pixel-Shadern und "Sammeln" -Operationen durchgeführt, wobei jeder Pixel-Shader-Aufruf eine Anzahl von Texturabrufen ausgibt, um auf die benachbarten Pixelwerte zuzugreifen, und den Wert eines einzelnen Pixels berechnet das Ergebnis. Dieser Ansatz hat eine theoretische Ineffizienz dahingehend, dass viele redundante Abfragen …

2
Was kostet der Zustandswechsel?
Programmierer sollten eine ziemlich gute Vorstellung von den Kosten bestimmter Operationen haben: zum Beispiel die Kosten eines Befehls auf der CPU, die Kosten eines L1-, L2- oder L3-Cache-Fehlschlags, die Kosten eines LHS. Wenn es um Grafiken geht, ist mir klar, dass ich kaum eine Ahnung habe, was sie sind. Ich …


1
Warum ist diese Bedingung in meinem Fragment-Shader so langsam?
Ich habe einen FPS-Messcode in WebGL eingerichtet (basierend auf dieser SO-Antwort ) und einige Merkwürdigkeiten mit der Leistung meines Fragment-Shaders entdeckt. Der Code gibt nur ein einzelnes Quad (oder besser gesagt zwei Dreiecke) auf einer Leinwand von 1024 x 1024 wieder, sodass die ganze Magie im Fragment-Shader geschieht. Betrachten Sie …


3
Warum gibt es Grafik-Frameworks wie OpenGL und DirectX, wenn Spiele Pixel direkt zeichnen könnten?
Spiele und andere grafikintensive Anwendungen verwenden Frameworks wie OpenGL und DirectX. Außerdem benötigen sie Funktionen wie Pixel Shader und DX12. Aber warum brauchen wir all diese Frameworks und GPU-Funktionen, wenn wir einfach alles Pixel für Pixel zeichnen können? Erstens müsste das Spiel so kompiliert werden, dass es pixelweise gezeichnet wird. …

1
Ist eine konstante Bedingung teurer als das Wechseln von Shadern?
Im Allgemeinen ist das Verzweigen in Shader keine gute Idee. Aber jetzt habe ich einen Shader mit einer Bedingung, die in Bezug auf den gesamten Draw-Aufruf konstant ist. Die ausgeführte Verzweigung ist also für einen Draw-Aufruf immer dieselbe. Ist eine solche Verzweigung immer noch teurer als die Verwendung mehrerer Shader …

1
Wann die perspektivisch korrekte Interpolation deaktiviert werden soll (keine Perspektive)
In GLSL ist die perspektivisch korrekte Interpolation von Scheitelpunktattributen die Standardeinstellung. Sie kann sie für bestimmte Scheitelpunktattribute mithilfe des nicht- perspektivischen Qualifikationsmerkmals deaktivieren . Abgesehen von Nachbearbeitungs-Shadern habe ich die perspektivisch korrekte Interpolation noch nie deaktiviert gesehen - gibt es andere Anwendungsfälle? Macht es überhaupt einen Unterschied in Bezug auf …

1
Loop-Leistung in einem Shader
Ich frage mich, wie ich eine dynamische Schleifenfunktion am besten in einen Shader integrieren kann. Erstens scheinen dynamische Arrays nicht möglich zu sein. Ist es also besser, ein Array mit maximaler Größe zu erstellen und nur einen Teil davon zu füllen oder Arrays mit vordefinierten Größen zu definieren? Was ist …

1
Warum ist der Zugriff auf Texturen bei der Berechnung der Texturkoordinate im Fragment-Shader viel langsamer?
Wenn Sie Texturen in GLSL verwenden, berechnen Sie am besten die endgültigen Texturkoordinaten im Vertex-Shader und übergeben Sie sie mit varyings an den Fragment-Shader . Beispiel mit einem einfachen Umdrehen der y-Koordinate: // Vertex shader attribute vec2 texture; varying highp vec2 texCoord; // ... void main() { texCoord = vec2(texture.x, …


2
Ist Okklusions-Culling bei modernen Füllraten und verzögertem Rendern immer noch relevant?
Während es sich beispielsweise um die aktuelle GPU der Spitzenklasse handelt, verfügt die GTX 980 über eine erstaunliche Füllrate von 72,1 Gigapixeln / Sekunde, die mit Back-to-Front-Rendering und / oder Z-Pufferprüfungen fast lächerlich groß erscheint, möglicherweise sogar bei 4k Auflösungen. In Bezug auf die Anzahl der Polygone können moderne GPUs …



1
Was ist der Performance-Kompromiss zwischen Forward- und Deferred-Rendering?
Beim Forward-Rendering wird ein Strahlungswert für ein Oberflächenfragment direkt aus der Eingabegeometrie und den Beleuchtungsinformationen berechnet. Das verzögerte Rendern teilt diesen Prozess in zwei Schritte auf: erstens einen Bildschirmraumpuffer mit Materialeigenschaften (einen Geometriepuffer oder G-Puffer), der durch Rastern der Eingabegeometrie erstellt wurde, und zweitens einen Strahlungswert für jedes Pixel durch …

1
Wie zählt jeder "Strahlen pro Sekunde"?
Kürzlich entwickle ich einen Monte-Carlo-Pfad-Tracer. Um die Leistung meines Tracers zu messen, habe ich beschlossen, einen einfachen Mechanismus zu implementieren, um zu zählen, wie viele Strahlen er in einer Sekunde verfolgen kann. Dann kommt hier das Problem, es gibt zwei Möglichkeiten, einen einzelnen Strahl zu definieren: Ein vollständiger Strahl, der …

1
Enthalten moderne GPUs Barrel Shifter?
Ich bin mir bewusst, dass die meisten modernen GPUs, obwohl sie für Gleitkomma ausgelegt sind, heutzutage in Bezug auf die Ganzzahlleistung mehr oder weniger gleichwertig sind, mit ein paar Einschränkungen wie dem Fehlen eines verschmolzenen Multiplikationszusatzes. Ich bin mir jedoch nicht sicher, wie dies für Schichtoperationen gilt. Ich mache Marching …

1
Shader einheitliche Leistung
Ich würde gerne wissen, ob sich die Leistung auf die Struktur meiner Shader-Uniformen auswirkt. Ist das Übergeben von 4 Floats beispielsweise schlechter als das Übergeben eines einzelnen vec4?

2
Wann ist es besser, Teilmodellmatrizen in den Vertex-Shader hochzuladen?
Beim Rendern meiner Szene und beim Durchlaufen des Szenendiagramms wird ab sofort für jeden Knoten seine Modellmatrix aus der Modellmatrix des übergeordneten Knotens und der Pose des Szenenknotens berechnet. Dies ist recht einfach und reduziert die Anzahl der Matrixmultiplikationen bereits auf eine Multiplikation pro Knoten und Frame. Alle diese Matrixmultiplikationen …


2
Welche Methoden / Technologien zur Reduzierung der erforderlichen Leistung für die virtuelle Realität gibt es?
Ich interessiere mich für virtuelle Realität, aber einigen Quellen zufolge verfügen weniger als 1% der heute verwendeten Computer über die erforderliche Leistung, um moderne VR-Spiele auszuführen. Da viele von ihnen nicht für Spiele gedacht sind, ist dies immer noch ein großes Hindernis für die weit verbreitete Einführung von VR-Headsets auf …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.