赞
踩
总的来说,WebGL性能在GPU上接近本地应用程序,因为WebGL图形API使用GPU进行硬件加速渲染。唯一的例外是将WebGL API调用和着色器转换为您的操作系统图形API(通常是Windows上的DirectX,Mac上的OpenGL和Linux上的OpenGL)的轻微开销。
在CPU方面,Emscripten将您的代码转换为WebAssembly,其性能取决于您使用的Web浏览器。有关更多信息,请参见
以下是您必须注意的其他考虑因素:
提示:要查看Unity在非WebGL平台上将工作分配给不同线程的情况,请参见Unity中的新时间轴分析器。
为获得最佳性能,在Build Player窗口中将优化级别设置为Faster,并在WebGL Player设置中将异常支持设置为None,方法是展开“Other Settings”>“Stack Trace”。
WebGL支持Unity Profiler。请参阅Profiler文档以了解如何设置它。
如果在 WebGL 平台的 Player 设置中启用了 Run in background,或者如果启用了 Application.runInBackground,您的内容将在画布或浏览器窗口失去焦点时继续运行。
但是,某些浏览器可能会限制在后台标签页中运行的内容。如果包含该内容的标签页不可见,在大多数浏览器中,您的内容每秒才会更新一次。请注意,这将导致 Time.time 比平常采用默认设置时更慢,因为 Time.maximumDeltaTime 的默认值小于一秒。
在某些情况下,您可能希望以较低的帧率运行WebGL内容以减少CPU使用率。例如,在其他平台上,您可以使用Application.targetFrameRate API来实现此目的。
当您不想降低性能时,请将此API设置为默认值-1,而不是高值。这允许浏览器调整帧率以获得最平滑的动画,而不是Unity尝试自己进行主循环定时以匹配目标帧率,这可能会产生更好的结果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。