为什么不离开' shouldRasterize'上?

时间:2015-03-04 02:50:05

标签: core-animation

为什么人们通常会切换shouldRasterize的状态而不是将其保留?

我可以假设这与资源消耗有关,但任何人都可以向我解释一些细节或提供一些相关的链接吗?

1 个答案:

答案 0 :(得分:2)

我想你可能会在这里倒退。默认设置是将其关闭,这通常是正确的设置(这就是默认设置)。在某些情况下,它可以提高缓存光栅化位图的性能,但它也可能更慢,特别是如果图层内容经常更改而您不能多次使用缓存。

光栅化会干扰某些成分和抗锯齿,因此会降低质量,绝对会影响放大倍率变换。有时它用于复杂的动画,其中性能比质量更重要,有时用于躲避动画中的子像素抗锯齿伪像。但同样,你应该开启它以解决你实际看到的问题。 (一些旧的抗锯齿技巧甚至不再有意义,因为Retina显示是常态。永远不要只是复制一个别人说“修复东西”的技巧而不验证它确实存在。)

shouldRasterize是一个可以尝试的东西,如果你有一个重要的渲染瓶颈,因为它在某些情况下可以提供帮助,但必须始终与仪器中核心动画工具的数据一起探索。它可以对具有阴影的图层提供相当显着的改进(但如果需要在不同背景上绘制,它也会干扰阴影的外观)。但它肯定不是你应该经常使用的东西。如果它是一个神奇的“快速”选项,那么它将是默认值。大多数时候,iOS会自己做正确的事情。