在我的 iPhone 应用程序中,我需要显示大量(最多 150 个)10x10 像素的小点,它们分别在屏幕上移动。它们不需要以任何方式顺利移动,但需要每秒钟左右更新一次。目前,我已将其实现为一个每秒重绘的 CALayer。
但我知道 CALayers 非常高效,因为它们映射到 GPU 硬件。所以我想知道为每个点创建一个单独的 CALayer 并通过设置它们的位置属性来移动它是否会更有效(就电池使用而言)。
所以我想知道你是否有这方面的经验。CPU 可以做的更少,但 GPU 更多。GPU硬件仍然可以处理多少个CALayer?
如果我让它们分开 CALayers,我也可以轻松地为它们设置动画,这样看起来会更好。那会更耗能吗?
在我的情况下更糟糕的是,我目前为它们使用 CATiledLayer,最多暴露 4 个图块。这也意味着我每次更新都需要重绘它们 4 次。