问题描述
我开发了一个具有3d角色的WebGL Unity 3D应用程序,该角色可以在环境中导航(鼠标导航和WASD)并与某些对象进行交互。 在Windows上,一切都很棒,FPS为45-60,分辨率为1920 * 1xxx。 在Mac上,由于Retina,性能下降到13-17,分辨率为3300 * 2100(笔记本电脑的分辨率的两倍)。 我该如何处理? 任何帮助将不胜感激。谢谢!
解决方法
在Unity中,如果您转到“编辑”菜单>“项目设置”>“播放器|分辨率和演示:“显示分辨率”对话框。您可以更改程序的默认设置。
Here you can see the default ratio's your screen will be displayed in
This是一门有关统一性能优化的课程
有关更多信息,请访问link
或者Unity Desrciption本身。
,好吧,如果您进入webGL,应该团结一致。因此: WebGL> WebGL Player设置>分辨率和演示文稿。
您会找到这个screen。
设置功能
默认画布宽度
设置WebGL canvas元素的宽度。
默认画布高度
设置WebGL canvas元素的高度。
在后台运行
启用此选项可让您的内容在画布或浏览器窗口失去焦点时继续运行。
我需要在html文件中添加JavaScript代码,以将DPI设置为1
,感谢 Siba 的提示。虽然我不得不搜索一下如何在 2019.4 实际做到这一点。
以防万一有人偶然发现这一点,我在 UnityLoader.instantiate 之前用 JavaScript 做了这个:
window.devicePixelRatio = 1;
如果您使用较新的 Unity 版本,此主题也可能有帮助: https://forum.unity.com/threads/webgl-retina-scaling.853144/