Ich möchte SLI im AFR-Modus verwenden, um den FPS zu erhöhen. Ich habe den Eindruck, dass der NVIDIA SLI-Treiber die VBOs automatisch und intelligent einzelnen Grafikprozessoren zuordnen wird. Ist das richtig?Wie entscheidet SLI, welcher VBO zu welcher GPU in OpenGL gehört?
Ich habe einen Code, der eine große Anzahl von Scheitelpunkten/Flächen hat, die durch VAO mit drei verschiedenen VBOs (Scheitelpunkte, Farbe, Indizes) dargestellt werden. Es gibt keine Erhöhung von fps bei der Verwendung von Doppel-GPU mit SLI.
Ich dupliziere die VAO und VBOs mit den gleichen Scheitelpunkte/Flächen und abwechselnd den glDrawElements Aufruf zwischen den beiden VAOs in der Hoffnung der NVIDIA SLI-Treiber wird klug genug zu wissen, ein VAO ist für eine GPU, aber leider immer noch keine fps erhöhen. Kann mir jemand sagen, was ich falsch gemacht habe?
Ich habe auch versucht, einen der glDrawElements Anruf für einen der VAO kommentieren, und es zeigt doppelte FPS und flackernde Szene mit der tatsächlichen Szene und schwarzen Bildschirm wie erwartet.
Welche Frameraten erhalten Sie? Wenn Sie sehr einfache Geometrie zeichnen, sind Sie wahrscheinlich von der CPU und nicht von der GPU abgedeckt. Auch SLI kann seine Muskeln nur spielen, wenn Sie eine ziemlich komplexe Szene haben, in der das Rendern eines einzelnen Frames für eine GPU länger dauert als ein Aktualisierungszyklus eines Monitors. – datenwolf
@datenwolf die fps, die ich bekomme, ist um 25 ~ 30, die Szene ist von einer Ply-Datei und ich zeichne, wie es ist. Es gibt viele Scheitelpunkte/Flächen, aber keine Beleuchtung/Schatten usw. Ich bin mir also nicht sicher, ob das "komplex" ist. Eine Sache, die ich sicher bin, ist, wenn ich nur die Hälfte der Scheitelpunkte/Gesichter lade die fps verdoppelt. Sollte SLI in diesem Szenario nicht helfen? – user3667089