簡體   English   中英

ActionScript-位圖緩存與圖像資產性能

[英]ActionScript - Bitmap Cacheing vs. Image Asset Performance

我創建了一個全光譜色輪Sprite對象,該對象由1440個矢量三角形或切片組成(如果需要)。

由於我想為色輪設置動畫,因此我激活了顯示對象的cacheAsBitmap屬性。 但是,將矢量緩存為位圖不會在動畫過程中提高性能-仍然緩慢,跳躍。

通過無損壓縮將色輪的PNG屏幕快照導入到庫中,將其轉換為Sprite,然后旋轉此新圖像資源在動畫過程中表現出色。

為什么未壓縮的PNG圖像資產導入會在cacheAsBitmap屬性設置為true的情況下執行相同的矢量圖像?

因為每次旋轉對象,它都必須重新計算一個新的位圖。

cacheAsBitmap僅適用於正在翻譯而不是旋轉的對象; 文檔

cacheAsBitmap屬性最適合與大多數具有靜態內容且不經常縮放和旋轉的影片剪輯一起使用。 使用此類影片剪輯,在平移影片剪輯時(更改其x和y位置時),cacheAsBitmap可以提高性能。

這是因為將緩存的位圖逐像素直接復制到顯示表面(為了提高速度,這稱為blitting )。 每次只對位圖進行一次旋轉時,將其每次渲染時對位圖進行轉換都是愚蠢的。 僅當應用了轉換時才重新計算位圖是一項設計決策,在最常見的情況下(轉換不經常進行轉換),可以提高性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM