我是说无论是有许多物体和事物的场景还是空场景,CPU使用率都是100%。
为什么?
如何减少CPU占用率?
我想要减少CPU使用率的原因是: 我想在专用服务器上运行多个exe文件,这些exe文件是我用unity UNET制作的多人游戏中的一部分,并且在这些场景中,除了一些函数和syncvars,我什么都没有 ... 我只想让这些exe文件占用更少的CPU来运行更好并提高性能。
减少CPU使用率是否可能?
我找到了解决方案。只是因为我没有在脚本中预设 targetframerate
...
如果我们不设置它,那么游戏将尝试以尽可能高的帧率运行,如果我们在批处理模式下运行它,则会占用所有 CPU 使用率。
光探针是烘焙的立方贴图,存储了场景中各个点处的直接、间接甚至自发光信息。当动态物体移动时,它会插值附近光探针的样本,以近似该位置的照明。这是在不使用昂贵实时光源的情况下,模拟动态物体上逼真照明的廉价方法。
11- 避免使用透明和多材质对象
像玻璃透明窗户之类使用透明着色器的对象非常昂贵。有一个普遍的做法是通过使用带有灰尘或锈迹纹理的透明材质以及单独的基础漫反射材质来增加墙壁的真实感。这种多材质α混合很昂贵;每个材质都会添加一个绘制调用!请注意,多个纹理不是问题;使用多个单独的材质是昂贵的。使用一个材质和一个能够使用α混合融合多个纹理而不是多个单独材质的着色器。
12- 换装网格渲染器
换装网格渲染器通常用于具有动画骨骼的角色,使用物理(布娃娃身体)或自定义动画(行走、跳跃等)实现逼真的网格变形。
不幸的消息是:换装网格渲染器不能批处理。您场景中的每个角色可以为每个眼睛创建多个绘制调用。我还不确定如何解决这个问题。
来源:https://blog.bigscreenvr.com/12-performance-tricks-for-optimizing-vr-apps-in-unity-5-9849bb6aefa7
没有足够的数据帮助您跟踪问题所在,因为它可能由很多原因引起。尝试使用Unity Profiler来追踪导致CPU升高的原因。
Unity Profiler
首先要使用Unity Profiler。这是Unity内置的工具,可以让您检查应用程序的哪个部分正在使用什么资源,以及使用的强度和长度。
如果您转到“窗口”>“Profiler”,您将看到“CPU使用率”,以及细分的子类别和可视化CPU使用率的图形。您可以单击图形中的任何位置,以概述该帧中的所有CPU使用情况。
概述屏幕显示了大量信息,您需要查看的第一个信息是“总数”和“时间ms”。总数是CPU使用的百分比总量。时间是花费的时间(以毫秒为单位)。
使用这些数据找出占用您所有CPU的脚本/操作,并从那里开始优化。
有关Unity CPU Profiler的更多信息,请单击此处。
重启电脑 对我有用。
100% CPU 使用率(i5-9400),空场景在空2D项目中。
你可能有很多静态对象。对我来说,它是一个静态的地球人,但是在取消静态框后,一切都变得正常了。