渲染场景时,我的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是荒谬的!
答案 0 :(得分:0)
您可以使用带有纹理的GameObject作为主摄像头的父级。这样,当你使用OnGUI时,它会像纹理一样跟随相机。
答案 1 :(得分:0)
内置的GUI统一执行效果不佳(没有绘制调用批处理),您可以切换到GUITextures或任何其他GUI框架......
另外一件事,如果你使用内置的gui没有GUILayout禁用它来获得一些额外的帧..只需在你的start()函数中将useGUILayout设置为false