Hallo zusammen,
ich habe derzeit folgendes Problem:
Ich messe derzeit die Zeit eines Frames in ms vom Beginn der Renderschleife bis nach glfwSwapBuffers mit glfwGetTime(). Das klappt wunderbar.
Jetzt würde ich jedoch gerne wissen wieviel Zeit meine Shader benötigen
Ist dieses Problem trivial lösbar? Angenommen ich weiß, dass Shader A 20 FLOPS/Aufruf und Shader B 18 FLOPS/Aufruf benötigt. Daraus kann ich jetzt noch nicht garantiert sagen das A schneller als B ist, da vielleicht A auf einer Textur und B auf einen Buffer zugreift (nur mal als Beispiel).
Ich habe folgendes zum messen von FLOPS gefunden:
We multiply the number of FLOPS per cycle by the
number of arithmetic pipelines per core, then the number of cores, then
by the frequency. That gives you a number of FLOPS
Ist das korrekt so? Wie kann ich die frequency eines Shaders ermitteln? Ein einfaches
|
C-/C++-Quelltext
|
1
2
3
4
|
glUseProgram(x);
startClock();
render();
endClock();
|
dürfte der falsche Ansatz sein.
Hat jemand Erfahrungen mit solchen Dingen?
Danke und Gruß