• 深入体会DisplayObject.cacheAsBitmap属性


    如果设置为 true,则 Flash Player 或 Adobe AIR 将缓存显示对象的内部位图表示形式。此缓存可以提高包含复杂矢量内容的显示对象的性能。 (对矢量图进行缓存)

    具有已缓存位图的显示对象的所有矢量数据都将被绘制到位图而不是主显示。 然后,将位图作为贴紧到最接近像素边界的未拉伸、未旋转的像素复制到主显示。 像素按一对一与父对象进行映射。 如果位图的边界发生更改,则将重新创建位图而不会拉伸它。

    除非将 cacheAsBitmap 属性设置为 true,否则不会创建内部位图

    cacheAsBitmap 属性设置为 true 后,呈现并不更改,但是,显示对象将自动执行像素贴紧。 动画速度可能会大大加快,具体取决于矢量内容的复杂性。

    只要对显示对象(当其 filter 数组不为空时)应用滤镜,cacheAsBitmap 属性就自动设置为 true,而且如果对显示对象应用了滤镜,即使将该属性设置为 false,也会将该显示对象的 cacheAsBitmap 报告为 true。 如果清除显示对象的所有滤镜,则 cacheAsBitmap 设置将更改为它上次的设置。

    在下面的情况下,即使将 cacheAsBitmap 属性设置为 true,显示对象也不使用位图,而是从矢量数据呈现:

    • 位图过大。在 AIR 1.5 和 Flash Player 10 中,位图图像的最大宽度或高度为 8,192 像素,并且像素总数不能超过 16,777,216 像素。(因此,如果位图图像的宽度为 8,192 像素,则其高度只能为 2,048 像素。)在 Flash Player 9 及早期版本中,高度最大为 2,880 像素,宽度最大为 2,880 像素。
    • 位图无法分配(内存不足错误)。

    最好将 cacheAsBitmap 属性与主要具有静态内容且不频繁缩放和旋转的影片剪辑一起使用。 对于这样的影片剪辑,在转换影片剪辑时(更改其 xy 位置时),cacheAsBitmap 可以提高性能。

  • 相关阅读:
    php单例设计模式
    js实用技巧
    快速排序java实现
    PHP大小写问题
    http转https
    wx-charts 微信小程序图表插件
    如何判断微信内置浏览器 MicroMessenger
    小程序:下拉加载更多时bindscrolltolower多次执行
    PHP内核
    CSS的4种引入方式以及优先级
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/1662521.html
Copyright © 2020-2023  润新知