gpt4 book ai didi

IOS:OpenGL ES 2.0 与 3.0 中具有动态分支的着色器的性能

转载 作者:行者123 更新时间:2023-11-28 21:43:25 26 4
gpt4 key购买 nike

我有一个基于 OpenGL ES 3.0 的 IOS 应用程序,我将把它移植到 ES 2.0。它包含带有一些昂贵的着色器,我猜,循环和 ifs。尽管该应用程序在支持 OpenGL ES 3.0 的设备上运行正常,但我不确定它是否会在 ES 2.0 设备(我没有)上运行良好。所以我想知道与较新的 IOS 设备相比,较旧的 IOS 设备处理动态分支结构有多好?有没有人看过一些相关的基准?

最佳答案

这不是 GLES2 或 GLES3 的问题,因为您可以在 GLES3.0 设备上使用 GLES2.0(甚至 GLES1.0)。

这更多是关于 GPU 的片段处理能力、处理每帧所需的片段数量、着色器的周期成本(您可以使用 PVRShaderEditor 工具进行评估,您可以在 Imagination 上找到该工具技术网站)以及您如何在着色器中读取纹理。

功能较弱的 ES3.0 兼容设备是 iPhone 5S。

因此,如果您目前在 5S 上的帧率为 60fps,那么我不会太担心 iPhone5 和 4S 等设备,您可能会达到 20 到 30fps 或更高。在 iPad2/3 上,您可能需要使用降低的分辨率,因为它们有大屏幕,而 GPU 可能无法跟上。现在对于 iPhone4,这是另一个故事......当试图在着色器中做复杂的事情时,这个设备非常慢(超过 ~20 个周期会降低性能......)和/或如果你经常使用透明度(例如:全屏透明quad(s) 显示在其他元素之上)或者如果您使用渲染目标进行后期处理。

如果您在 iPhone5S 上的帧率为 25/30fps,那么如果您没有找到减少着色器使用的循环次数(简化那些/切割效果)的方法,我认为您不能希望该应用程序在功能较弱的设备上正常工作等等)

关于IOS:OpenGL ES 2.0 与 3.0 中具有动态分支的着色器的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31211374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com