glClearColor()将iPhone的渲染利用率提高到27% [英] glClearColor() pushing the iPhone at 27% render utilization

查看:142
本文介绍了glClearColor()将iPhone的渲染利用率提高到27%的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

搜索

As a result of the search for an answer of this question, I ran into a rather uncomfortable finding.

似乎仅以60 fps的速度渲染glClearColor()会将iPhone的渲染利用率提高到27%.

It seems that rendering only glClearColor() at 60 fps pushes the iPhone at 27% render utilization.

这意味着几乎不做任何事情-仅刷新屏幕-使iPhone使用的渲染容量超过其四分之一.

That means that doing hardly anything at all - only refreshing the screen - makes the iPhone use more than a quarter of its render capacity.

这是预期的吗?

根据文档,POWERVR至少应达到约270兆像素/秒.正如下面的 unwind 正确说明的那样,在60 fps下480×320等于大约9.2兆像素/秒,因此总性能大约为40兆像素/秒,这是可疑的.

The POWERVR should hit around 270 megapixels/second at least, according to the documentation. As unwind correctly stated below, 480×320 at 60 fps equals about 9.2 megapixels/second, putting the total performance at around 40 megapixels/second, wich is suspicious.

推荐答案

这只是意味着您应该设计渲染以将每个帧的所有像素填充为实际内容,因此根本不需要清除帧缓冲区.至少,这是清除瓶颈的经典解决方案":不要这样做.

This just means that you should design your rendering to fill all pixels every frame with actual content, so you don't need to clear the framebuffer at all. That is, at least, the classic "solution" to the bottleneck of clearing: don't do it.

例如,在典型的第一人称引擎中,这是通过渲染始终覆盖整个视口的天空盒和地面平面"来实现的.

In typical first-person engines, for instance, this is achieved by rendering a skybox and a ground "plane", that always cover the entire viewport.

我还没有阅读有关iPhone渲染子系统的详细信息,但是它似乎表明填充率很低. 480×320(60帧/秒)大约等于9.2兆像素/秒,使总性能达到40左右.声音听起来很可疑.

I haven't read up on the details of the iPhone's rendering subsystem, but it does seem to indicate a very low fill-rate. 480×320 at 60 fps equals about 9.2 megapixels/second, putting the total performance at around 40. Sounds suspicious.

这篇关于glClearColor()将iPhone的渲染利用率提高到27%的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆