我对潜在的 AS3 渲染优化有一些疑问,特别是关于移动设备上的离散位图数据/对象。我发现关于其中大部分内容的明确信息令人惊讶地少,所以我在这里问专家。
位图缓存。据说使用 cacheAsBitmap=true 将加速未进行非平移转换的对象的渲染。在移动设备上为 Air 使用 cacheAsBitmapMatrix 还应该加速 alpha、颜色和缩放。
考虑背景图像?事实证明,许多用户报告说,任何背景对象(即使是在短时间内与您重叠的其他可见对象)也必须被缓存,即使它是导入到 Flash 中的图像。(参见http://forums.adobe.com/thread/758774的第一个回复)何时以及为何考虑这样做?
内部动画。文档说要避免缓存任何包含“内部动画”的对象。这具体是什么意思?如果我有一个产生子对象的位图缓存对象,并且这些子对象也是我想要移动的位图,我必须避免将父对象缓存为位图吗?如果是这样,如果父项与动画子项重叠(从而成为可见的“背景对象”),这是否会使 (A) 无效?
空白对象。如果我创建一个对象仅作为一个对象容器而没有它自己的图形内容(但有具有图形的子对象),缓存这个容器对象总是错误的吗?如果这个父容器没有被缓存,它里面的对象还会从缓存中受益吗?如果是这样,在此容器中为背景和其他动画对象设置单独的子对象是否对性能有益,所有这些对象都独立缓存为位图?