如何找到图形管道的瓶颈

| 我一直在想这个问题有一段时间了。如何找到图形管道的瓶颈。最近,我一直在使用一个程序在具有alpha混合的简单场景(又称为草场景)中绘制大量多边形。我使用了两个程序,一个使用静态坐标,另一个使用旋转和平移。两者均以60 FPS运行,没有其他繁重的流程在运行。但是,当我一起使用它们时(两个具有相同草和草位置的窗口),一个使用平移和旋转的窗口的运行速度为10 FPS,而另一个则约为55 FPS。我的问题是,为什么两者都以60 FPS的速度运行,当发生这种情况时,为什么第二个(旋转和翻译每个草)下降约50 FPS,而第二个仍然是55 FPS?听起来对我来说是瓶颈。如果您有任何想法,请告诉我,或者如果您有关于发现GPU(或GPGPU)瓶颈或优化图形代码以在GPU上运行的想法或论文,请在更广泛的答复中告诉我。     
已邀请:
您的问题实际上不是GPU和程序的瓶颈,而是驱动程序的瓶颈。 glRotate和glTranslate导致许多上下文切换到驱动程序模式,这会降低性能。您很少浪费时间在簿记上,而没有效率。 已引入实例化来减轻您遇到的此特定问题。 要回答如何配置图形管道,可以使用许多工具来帮助您: gDEBugger http://www.gremedy.com/ NVPerfkit http://developer.nvidia.com/nvidia-perfkit GPU Perf Studio http://developer.amd.com/tools/PerfStudio/Pages/default.aspx 它还有助于收集程序中的一些统计信息,主要是有关昂贵调用的顺序和数量的信息(主要是切换着色器,纹理)。     

要回复问题请先登录注册