0

我有一个问题,必须在 2 天内完成:

考虑到渲染管道的各个阶段,如果您的 FPS 较低,您首先想到的是哪个阶段更有可能成为问题的根源?

任何人都可以帮助我理解,或者给我一个线索,

谢谢,

4

1 回答 1

1

要考虑的事情:

  • Draw Calls:你是否使用 glBegin/glEnd,调用 glVertex 数千次?或者也许你使用了太多的 glDrawArrays?也许你每帧从系统内存发送太多数据到 GPU?
  • 顶点着色器:您有简单的顶点着色器还是复杂的,将其更改为简单的并检查 fps... 是更好还是仍然很低?
  • 片段着色器:纹理读取次数、if 语句、指令复杂度。更改窗口的分辨率并检查 fps。
  • 缓冲区使用:您是否在 GPU 上使用缓冲区,或者将所有内容从 mem 传输到 gpu mem?尝试使用 1x1 纹理来检查性能。
  • 工具:使用工具执行测量:geDebugger、glIntercept 等...

还有其他类似的东西(可能我忘了列出更多):几何着色器,镶嵌,但首先检查上面的列表。

一般来说:测量,测量,测量:)

于 2013-08-16T09:20:39.397 回答