Opengl 计算GLSL着色器成本

Opengl 计算GLSL着色器成本,opengl,glsl,Opengl,Glsl,我有一个不同着色器的列表,这些着色器根据顶点和像素着色器进行计算。我需要计算这个着色器中,顶点和像素的指令数(周期)。我知道着色器执行时间不仅取决于着色器的复杂性。 在ARM文档(和)中,我发现了如何在Mali GPU上计算它:malisc-v my_shader.frag。但我不使用马里GPU的,你有什么想法我可以这样做吗 目标平台Windows 7 x64 带有CUDA的GPU适配器Nvidia SDK VS 2010只是好奇,但你为什么还要这样做/计算呢?这可以显示我们在理想世界中可以得到

我有一个不同着色器的列表,这些着色器根据顶点和像素着色器进行计算。我需要计算这个着色器中,顶点和像素的指令数(周期)。我知道着色器执行时间不仅取决于着色器的复杂性。 在ARM文档(和)中,我发现了如何在Mali GPU上计算它:malisc-v my_shader.frag。但我不使用马里GPU的,你有什么想法我可以这样做吗

目标平台Windows 7 x64 带有CUDA的GPU适配器Nvidia
SDK VS 2010

只是好奇,但你为什么还要这样做/计算呢?这可以显示我们在理想世界中可以得到多少帧,然后我可以比较理想结果和当前结果,并发现百分比的差异,我们可以选择更好的着色器,提供所需的FPS,但为什么不简单地对着色器进行基准测试,然后选择最好的着色器并提供最快的执行时间?因为如果着色器足够复杂(例如循环、运行时优化数学的位置等),则可以在客户端编写着色器,没有办法知道它的成本。一根绳子有多长?一个程序运行需要多长时间?你可能会做一些复杂度分析和猜测,但根据我的经验,结果会变化太大。基准测试、动态学习或一些手工编码的权重选择是方法。