我正在制作一款依赖CoreAnimation的应用。它有一个CAReplicatorLayer和一个子层CAShapeLayer。 当进行12次复制然后设置动画路径(在touchMoved上更改它)时,一旦图形在屏幕上变大(约12-20 fps),FPS就会显着降低。
时间分析器显示大约10%的CPU利用率,Open GL ES驱动程序分析器报告大约90-97%的“渲染利用率”和40-50%的“Tiler利用率”。
本指南解释了这两个词,但没有详细说明。任何人都可以解释这两个究竟是什么吗? Apple Docs
显然,高渲染利用率是问题所在,那么我该怎么做才能提高性能呢?
答案 0 :(得分:3)
解决方法是从屏幕上删除所有具有透明度的UI元素(或将其设置为不透明)。
在具有透明度的UI元素之下或之上渲染动画CAShapeLayer时,填充率会受到很大影响。
优化后,渲染利用率降至30-40%。