1

渲染场景时,我的 iphone 4 上有标准的 60fps。然后我在 onGUI 中绘制 2 个纹理,如下所示:

void OnGUI() 
    {
    GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),textureBack);
        GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),textureFront);
        }

FPS下降到~30fps。前面的图像需要有 alpha,所以我将它设置为 RGBA 32bit,这个图像现在显然有 3 mb,后面的图像是 1.5mb,两者的分辨率都是 1024x768。

有没有办法更好地处理这个问题?我希望图像最高 10fps 因为.. 30fps 太荒谬了!

4

2 回答 2

0

统一内置的 GUI 表现不佳(没有绘制调用批处理),您可以切换到 GUITextures 或任何其他 GUI 框架......

另一件事,如果您使用没有 GUILayout 的内置 gui,请禁用它以获得一些额外的帧..只需在 start() 函数中将 useGUILayout 设置为 false

于 2012-11-13T16:51:17.677 回答
0

您可以使用带有纹理的 GameObject,其父级为 Main Camera。这样,它会像使用 OnGUI 时的纹理一样跟随相机。

于 2012-11-12T08:10:18.793 回答