gpt4 book ai didi

iphone - 在遇到性能问题之前,在 iOS 上可以同时显示多少个 UIView?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:21:10 26 4
gpt4 key购买 nike

我正在制作一个 iPhone 游戏并使用 UIView 对象来绘制 Sprite 。大多数时候,我没有性能问题。然而,一旦我在屏幕上有大约 15 到 20 个对象(可能其中 5 个在四处移动),游戏就会变得相当慢,尤其是在 iPhone 3G 上。帧率可降至每秒一帧。

这仅仅是使用 UIView 对象的限制,还是 iOS 应该能够同时处理屏幕上这么多的 UIView 对象?

为了隔离问题,我使绘制 View 变得非常简单——绘制一个红色矩形。 drawRect 每个 View 只被调用一次。 View 层次结构非常简单和浅。我正在使用 CADisplayLink 每帧更新 UIView 位置。

几乎没有其他事情发生,所以我想听听是否还有其他人成功使用了这个数量的 UIView 对象。

最佳答案

我的问题的关键在于我在游戏内容之上添加了标签。正如 phix23 所建议的,标签不是不透明的,这可能是问题的很大一部分。

产生重大影响的第一件事是删除了内容顶部的每秒帧数标签。有一个在每一帧上更改内容的标签会导致很多速度变慢。

我还有一个大标签,它显示在游戏的大部分内容之上,并在你升级时改变形状。事实证明,在所有内容之上绘制此标签也导致了很多减速。

在回答我原来的问题时,我发现在 iPhone 3G 上我可以同时在屏幕上支持大约 30-40 个不透明的 UIView,以及 2 或 3 个非不透明 View 。改变大小、形状或位置的非不透明 UIView 是迄今为止最糟糕的,即使其中一个覆盖了大量屏幕也会很快导致问题。

关于iphone - 在遇到性能问题之前,在 iOS 上可以同时显示多少个 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4503385/

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