视网膜Macbook Pro的WebGL性能问题

aes*_*eis 25 javascript webgl

我有一个正在开发的WebGL应用程序,我遇到了Retina Display Macbook Pros的一些非常严重的性能问题.我正在测试带有Intel Iris Pro GPU的15英寸Macbook,以全分辨率渲染,这使我的画布分辨率为3810x2030,带有全屏Chrome窗口.我的应用程序每帧渲染大约10万个顶点.

现在,当我将应用程序设置为以1的设备像素比率运行(意味着没有视网膜缩放)时,应用程序的性能稳定,永远不会低于60 fps,但图像质量是不可接受的.当我切换到视网膜的设备像素比率为2时,图像质量显着提高,但我的帧速率急剧下降到20-30 fps左右.

现在,我对GPU编程并不陌生,所以发生这种情况的原因对我来说是显而易见的.我想知道的是,有没有人在那里找到任何变通方法或方法来优化WebGL绘图的超高分辨率显示与像视网膜Macbook Pro的坏GPU?是否有任何非显而易见的提示或技巧通过反复试验找到解决此问题或至少使其稍微好一些?

任何帮助,将不胜感激.谢谢.

编辑:带有趣发现的小更新.我把我的浏览器窗口放到连接到Macbook的外部显示器上,当在DPR为1的情况下进行渲染时,外部显示器上的性能甚至高于在MacBook上的性能,即使分辨率完全相同,图像也是如此质量要好得多.

因此,即使你在Macbook Pro上渲染一个缩小尺寸的帧缓冲区,它仍然可以将其缩放,这可能是导致图像质量较差的原因(它使用双线性滤波进行缩放,使其比原始版本更模糊)图像显示未受影响).

aes*_*eis 8

只想给所有关注这篇文章的人提供一些更新.通过简单地设置canvas选项"antialias:false",我能够使我的应用程序运行超过45 FPS.这在高密度显示器上获得了巨大的性能提升,并且由于高密度显示器提供大量内置抗锯齿,因此不是必需的.希望这有助于将来的其他人.