为什么不保留“shouldRasterize”?
Why not leave ' shouldRasterize' on?
为什么人们通常会切换 shouldRasterize
的状态而不是保持打开状态?
我可以假设这与资源消耗有关,但有人可以向我解释一些细节或提供一些相关的 link 吗?
我想你可能把它倒过来了。默认设置是关闭它,这通常是正确的设置(这就是为什么它是默认设置)。在某些情况下,它可以提高缓存光栅化位图的性能,但也可能会变慢,尤其是在图层内容经常更改并且您不会多次使用缓存的情况下。
光栅化会干扰某些类型的合成和抗锯齿,因此会降低质量,并且肯定会影响放大变换。有时它用于性能比质量更重要的复杂动画,有时用于避免动画中的亚像素抗锯齿伪影。但同样,您应该打开它以解决您实际遇到的问题。 (现在 Retina 显示屏已成为常态,一些旧的抗锯齿技巧甚至不再有意义。永远不要在没有验证它确实如此的情况下只是复制别人说的 "fixes stuff" 的技巧。)
shouldRasterize
如果您有明显的渲染瓶颈,可以尝试一下,因为它在某些情况下会有所帮助,但必须始终结合 Instruments 中核心动画工具的数据进行探索。它可以在具有阴影的层上提供相当显着的改进(但如果需要在不同背景上绘制,它也会干扰阴影的外观)。但它肯定不是你应该经常使用的东西。如果它是一个神奇的 "go fast" 选项,那么它将是默认值。大多数时候,iOS 会自己做正确的事。
为什么人们通常会切换 shouldRasterize
的状态而不是保持打开状态?
我可以假设这与资源消耗有关,但有人可以向我解释一些细节或提供一些相关的 link 吗?
我想你可能把它倒过来了。默认设置是关闭它,这通常是正确的设置(这就是为什么它是默认设置)。在某些情况下,它可以提高缓存光栅化位图的性能,但也可能会变慢,尤其是在图层内容经常更改并且您不会多次使用缓存的情况下。
光栅化会干扰某些类型的合成和抗锯齿,因此会降低质量,并且肯定会影响放大变换。有时它用于性能比质量更重要的复杂动画,有时用于避免动画中的亚像素抗锯齿伪影。但同样,您应该打开它以解决您实际遇到的问题。 (现在 Retina 显示屏已成为常态,一些旧的抗锯齿技巧甚至不再有意义。永远不要在没有验证它确实如此的情况下只是复制别人说的 "fixes stuff" 的技巧。)
shouldRasterize
如果您有明显的渲染瓶颈,可以尝试一下,因为它在某些情况下会有所帮助,但必须始终结合 Instruments 中核心动画工具的数据进行探索。它可以在具有阴影的层上提供相当显着的改进(但如果需要在不同背景上绘制,它也会干扰阴影的外观)。但它肯定不是你应该经常使用的东西。如果它是一个神奇的 "go fast" 选项,那么它将是默认值。大多数时候,iOS 会自己做正确的事。