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