在行動 AIR 應用程式中的 GPU 顯示

透過在應用程式描述器中包括 <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 同時用於其他顯示物件,通常會造成較差的顯示效能。