iOS shouldRasterize 详解 是否光栅化

iOS shouldRasterize 详解 是否光栅化


  1. /* When true, the layer is rendered as a bitmap in its local coordinate 
  2.  * space ("rasterized"), then the bitmap is composited into the 
  3.  * destination (with the minificationFilter and magnificationFilter 
  4.  * properties of the layer applied if the bitmap needs scaling)
  5.  * Rasterization occurs after the layer's filters and shadow effects 
  6.  * are applied, but before the opacity modulation. As an implementation 
  7.  * detail the rendering engine may attempt to cache and reuse the 
  8.  * bitmap from one frame to the next. (Whether it does or not will have 
  9.  * no affect on the rendered output.) 
  10.  * 
  11.  * When false the layer is composited directly into the destination 
  12.  * whenever possible (however, certain features of the compositing 
  13.  * model may force rasterization, e.g. adding filters)
  14.  * 
  15.  * Defaults to NO. Animatable. */  
  16.   
  17. @property BOOL shouldRasterize;  
  18.   
  19. /* The scale at which the layer will be rasterized (when the 
  20.  * shouldRasterize property has been set to YES) relative to the 
  21.  * coordinate space of the layer. Defaults to one. Animatable. */  
  22.   
  23. @property CGFloat rasterizationScale;  


shouldRasterize设成true时,layer被渲染成一个bitmap,并缓存起来,等下次使用时不会再重新去渲染了。


对于layershouldRasterize属性默认为NO,将此属性设置为YES时,会在对应的本地坐标空间创建一张bitmap图片,用来缓存图片,当在layer上添加filters或者shadow effects等特效时,将自动开启光栅化的功能,光栅化的开启与否不会影响最总的render output 既最终的渲染输出,但是有一点要注意,开启光栅化虽然不会影响最终的输出结果,但是却可能严重影响性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值