我可以将 iOS 图形 API 设置为专门针对 iPhone 6s 的“OpenGLES2”,而将其他所有内容设置为自动吗?

Posted

技术标签:

【中文标题】我可以将 iOS 图形 API 设置为专门针对 iPhone 6s 的“OpenGLES2”,而将其他所有内容设置为自动吗?【英文标题】:Can I set the iOS Graphics API to 'OpenGLES2' specifically for the iPhone 6s, and Automatic for everything else? 【发布时间】:2019-10-09 04:43:42 【问题描述】:

我的 Unity ios 游戏在 iPhone 6s 上遇到了奇怪的渲染问题(极低的性能和奇怪的绘图故障)特别是。经过一番谷歌搜索,它似乎与 Unity Slow performance on iPhone 6 Plus 密切相关。

我愿意进行更改——即在图形 API 中指定 OpenGLES2——它可能会很好地解决 iPhone 6s 设备的问题。但我担心的是它会对其他设备(即大多数设备)产生负面影响。也许它会在 iPhone 6s 上运行良好,但现在在其他实际与 Metal 配合良好的设备上性能会更差。

因此,理想情况下,我想为 iPhone 6s 设置 OpenGLES2 only,并为 其他一切 将其设置为 Automatic,因为它可以正常工作那样就好。

图形 API 是一个优先级列表。如果我将其设置为

OpenGLES2
OpenGLES3
Metal

它可能会修复 iPhone 6s,但我担心其他设备会选择 OpenGLES2,这可能会使它们的性能更差,也可能不会。然后,如果我将其设置为

Metal
OpenGLES2
OpenGLES3

我怀疑它不会解决任何问题,因为 iPhone 6s 会简单地选择 Metal,这大概是它一直以来一直在做的事情。

在这种情况下我应该怎么做?我可以将 iOS 图形 API 设置为专门针对 iPhone 6s 的“OpenGLES2”,而针对其他所有设备设置为自动吗?

澄清一下,是的:我可以简单地测试所有设备上的新设置,但我宁愿不为它们更改任何内容。我只想为 iPhone 6s 更改它,因为更改图形 API 似乎是一件大事。

【问题讨论】:

我不这么认为..我猜你可能需要两个不同的构建..问了一些非常相似的问题here,但我猜似乎没有真正的解决方案 【参考方案1】:

你可以这样做:https://docs.unity3d.com/Manual/androidUnityPlayerActivity.html?_ga=2.88391515.1336029396.1607817401-1574614248.1598810258

更多详情请查看此帖: https://forum.unity.com/threads/auto-graphics-api-logic.876967/

【讨论】:

以上是关于我可以将 iOS 图形 API 设置为专门针对 iPhone 6s 的“OpenGLES2”,而将其他所有内容设置为自动吗?的主要内容,如果未能解决你的问题,请参考以下文章

【重读iOS】CoreGraphics&Quartz 2D

Xcode的多个副本-针对iOS的较早版本测试代码

9.图形验证码

在 delphi 上针对 API 28

Facebook iOS api将权限设置为可选?

iOS 中的 FQL 和图形 API