【发布时间】:2010-11-17 20:45:38
【问题描述】:
我最近注意到我的游戏有时会出现性能问题,即每一帧的完成时间都比应该完成的要长得多。我将它插入 Instruments 中的 CPU Sampler 并发现了一些很奇怪的东西(我想,这是我第一次使用 CPU Sampler,所以我不明白所有这些)。
glClear 显然占用了大量的 CPU 时间(目前为 36%,并且还在稳步上升)。这是一个相当耗费处理器的游戏,所以调用 glClear 不可能占用这么多时间。
glClearColor(backgroundcolor[0], backgroundcolor[1], backgroundcolor[2], 1);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
每帧只调用一次。我没有活动的模板缓冲区,所以这不是问题。可能有问题的一件事是,我的游戏允许您在任何方向上任意移动,这意味着您的 x 和 y 位置可能会远离原点。 glClear 会尝试清除您所覆盖的整个景观还是仅清除屏幕的尺寸?如果这不是问题,那么有谁知道为什么它在我的处理器上如此昂贵?
【问题讨论】:
标签: iphone performance opengl-es cpu instruments