我正在努力优化我的iOS游戏,而且我遇到了一个非常奇怪的问题,Unity3D中的质量设置让我彻底陷入困境!
我在游戏中通过以下方式设置了4个质量设置:
Edit -> Project Settings -> Quality
这四个设置是:简单,好,美丽,神奇
简短的版本是,无论我在质量设置面板中设置的选项如何,Simple总是表现得比Good好。
例如,如果我将Simple和Good设置为对所有渲染选项具有相同的设置,将所有设置设置为最小(阴影关闭,无抗锯齿,1/8纹理等),并在iPad上以不同的方式测试游戏默认质量选项:
Simple - ~26FPS
Good - ~6FPS
如果我将简单改为使用1/4纹理,并将1/8纹理保留为Good,则它仍然表现几乎相同:
Simple - ~24FPS
Good - ~6FPS
我可以清楚地看到纹理在1/4的简单模式下更好/更详细,但运行速度比使用1/8尺寸纹理的Good模式快20FPS。
从附加Unity iOS分析器可以看出,当在Good模式下运行时,CPU会遇到“Overhead”的持续负载,这在简单模式下不存在(具有相同的质量设置)。因此,当我从简单到好的时候,某些东西显然在变化,但它似乎不是我可以从质量设置菜单中更改的任何内容。
从阅读unity manual page我得到的印象是,不同的质量设置只是占位符,因为您可以添加/删除选项。但是从我的实验中看,当我开始使用Simple Vs Good(或其他)选项时,还有其他一些变化。
我尝试在Simple / Good中默认启动游戏,并手动切换代码(通过QualitySettings.SetQualityLevel使用C#)并获得相同的性能。
我觉得我错过了一些关键但我似乎无法想出这个。
答案 0 :(得分:2)
当您使用质量级别中存在的功能并需要一些额外的计算时,质量级别可能会产生差异。但是,当您不使用该功能时,质量水平之间没有区别。 如果你想提高你的FPS,有一些提示
这是一些有用的链接 Object pooling video tutorial, Singleton pattern Unity3d c#