c# – Unity 3D质量设置之间隐藏的差异?

栏目: 后端 · 发布时间: 6年前

内容简介:翻译自:https://stackoverflow.com/questions/28817264/hidden-difference-between-unity-3d-quality-settings

我正在努力优化我的iOS游戏,而且我遇到了一个非常奇怪的问题,Unity3D中的质量设置让我完全陷入困境!

我在游戏中通过以下方式设置了4个质量设置:

Edit -> Project Settings -> Quality

四个设置是:简单,好,美丽,神奇

简短的版本是,无论我在质量设置面板中设置的选项如何,Simple总是比Good更好.

例如,如果我将Simple和Good设置为对所有渲染选项具有相同的设置,将所有设置设置为最小(阴影关闭,无抗锯齿,1/8纹理等),并在iPad上测试游戏,从不同的默认质量选项开始:

Simple - ~26FPS
Good - ~6FPS

如果我改变简单以使用1/4纹理,并保留1/8纹理的良好,它仍然执行几乎相同:

Simple - ~24FPS
Good - ~6FPS

我可以清楚地看到纹理在1/4的简单模式下更好/更详细,但是比使用1/8大小纹理的Good模式运行快近20FPS.

我可以通过附加Unity iOS分析器看到,当在Good模式下运行时,CPU会受到“开销”的持续负载,这在简单模式下不存在(具有相同的质量设置).因此,当我从简单到好时,某些东西显然正在发生变化,但它似乎不是我可以从质量设置菜单中更改的任何内容.

从阅读 unity manual page 我得到的印象是,不同的质量设置只是占位符,因为您可以添加/删除选项.但是从我的实验中看,当我开始使用Simple Vs Good(或其他)选项时,还有其他一些变化.

我尝试在Simple / Good中默认启动游戏,并手动切换代码(通过 QualitySettings.SetQualityLevel 使用C#)并获得相同的性能.

我觉得我错过了一些关键的东西,但我似乎无法想出这个.

当您使用质量级别中存在的功能并需要一些额外的计算时,质量级别可能会产生差异.但是当你不使用这些功能时,质量水平之间没有区别.

如果你想提高你的FPS,有一些提示

>制作纹理图集以减少绘制调用

>改进Update函数使用的Update函数和缓存转换中的计算.

>不要在每个帧中搜索组件,在某些情况下,您可以使用单例模式

>不要破坏每一帧中的物体.制作对象池.

>改善颗粒排放,尽可能减少排放

>改进着色器.如果您使用移动使用移动着色器.例如,将漫反射着色器更改为Mobile / Diffuse.

翻译自:https://stackoverflow.com/questions/28817264/hidden-difference-between-unity-3d-quality-settings


以上所述就是小编给大家介绍的《c# – Unity 3D质量设置之间隐藏的差异?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Essential PHP Security

Essential PHP Security

Chris Shiflett / O'Reilly Media / 2005-10-13 / USD 29.95

Being highly flexible in building dynamic, database-driven web applications makes the PHP programming language one of the most popular web development tools in use today. It also works beautifully wit......一起来看看 《Essential PHP Security》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具