透過在應用程式描述器中包括
<renderMode>gpu</renderMode>
,可啟用 AIR 應用程式中的硬體圖形加速。您無法在執行階段變更顯示模式。在桌上型電腦上,會忽略
renderMode
設定;目前不支援 GPU 圖形加速。
GPU 顯示模式限制
在 AIR 2.5 中使用 GPU 顯示模式時,具有下列限制:
-
如果 GPU 無法顯示物件,則完全不會顯示該物件。CPU 顯示沒有後援。
-
不支援下列混合模式:圖層、Alpha、清除、重疊、實光、變亮與變暗。
-
不支援濾鏡。
-
不支援 PixelBender。
-
許多 GPU 單位具有 1024x1024 的最大紋理大小。在 ActionScript 中,這將會在所有變形後,轉譯成顯示物件最後顯示大小的上限。
-
Adobe 不建議在播放視訊的 AIR 應用程式中使用 GPU 顯示模式。
-
在 GPU 顯示模式中,當虛擬鍵盤開啟時,文字欄位並不會總是移到可視的位置。若要確保您的文字欄位在使用者輸入文字時為可見,請執行下列其中一項。請將文字欄位放在螢幕的上半部,或是在它獲得焦點時將它移到螢幕的上半部。
-
對於 GPU 顯示模式無法穩定運作的某些裝置,會停用該模式。請參閱 AIR 開發人員版本說明取得最新資訊。
GPU 顯示模式的最佳作法
下列原則可以讓 GPU 顯示更快速:
-
嘗試限制舞台的可見項目數。每個項目都需要花費一些時間來顯示,並與周圍的其他項目複合。當您不再想要顯示某個顯示物件時,請將它的
visible
屬性設定為
false
。請勿將它直接移到舞台以外、將它隱藏在另一個物件後面,或是將它的
alpha
屬性設為 0。如果不再需要某個顯示物件,請使用
removeChild()
從舞台移除它。
-
請重複使用物件,而不是建立和刪除它們。
-
讓點陣圖的大小接近,但小於 2
n
x 2
m
位元。尺寸不必一定是 2 乘方,但必須接近 2 的乘方,但不大於 2 的乘方。例如,31 x 15 像素影像的顯示速度快於 33 x 17 像素影像的顯示速度。(31 和 15 剛好小於 2 的乘方:32 和 16)。
-
如有可能,請在呼叫
Graphic.beginBitmapFill()
方法時,將 repeat 參數設定成 false。
-
不要過度繪圖。使用背景顏色當做背景。避免大的圖形相互重疊。繪製每個像素都需要付出成本。
-
避免細長尖狀、邊緣自交或邊緣包含大量細節的形狀。比起邊緣平滑的顯示物件,這些形狀需要更長的時間才能顯示。
-
限制顯示物件的大小。
-
對於圖形未經常更新的顯示物件,啟用 cacheAsBitMap 與 cacheAsBitmapMatrix。
-
試著避免使用 ActionScript 繪圖 API (Graphics 類別) 來建立圖形。盡可能改在編寫時間以靜態建立這些物件。
-
在匯入點陣圖之前將點陣圖資產縮放成最終大小。
行動 AIR 2.0.3 的 GPU 顯示模式
在使用 Packager for iPhone 建立的行動 AIR 應用程式中,GPU 顯示受到較多的限制。GPU 只能用於點陣圖、純色形狀,以及設定
cacheAsBitmap
屬性的顯示物件。對於已設定
cacheAsBitmap
和
cacheAsBitmapMatrix
的物件,GPU 可有效地顯示旋轉或縮放的物件。若將 GPU 同時用於其他顯示物件,通常會造成較差的顯示效能。
|
|
|