將 GPU 顯示效能最佳化的秘訣

雖然 GPU 顯示可大幅提升 SWF 內容的效能,但內容設計還是扮演了一個重要的角色。請記住,以往可在軟體顯示上正常運作的設定,有時也無法和 GPU 顯示一同正常運作。下列秘訣可協助您利用 GPU 顯示來達成良好的效能,而不會在軟體顯示效能上遭遇任何困難。

備註: 支援硬體顯示的行動裝置通常會從網頁存取 SWF 內容。因此,最佳作法是在建立任何 SWF 內容時考量這些秘訣,以確保會在所有畫面上得到最佳經驗。
  • 避免在 HTML 內嵌參數中使用 wmode=transparent wmode=opaque 。這些模式會導致效能降低。它們也會在軟體和硬體顯示中,造成音訊與視訊同步處理上的少量遺失。因此,在使用這些模式時,許多平台都不支援 GPU 顯示,因為這些模式會對效能造成顯著的損害。

  • 只使用正常和 Alpha 混合模式。避免使用其他混合模式,特別是圖層混合模式。並非所有混合模式都會在使用 GPU 顯示時確實地出現。

  • 當 GPU 顯示向量圖形時,會將它們分成由小三角形組成的網狀圖形,然後加以繪製。此程序稱為鑲嵌。鑲嵌會產生少量的效能成本,在形狀複雜度提高時會增加。若要將效能影響降至最低,請避免將形狀變形,因為 GPU 顯示會在每格影格中進行鑲嵌作業。

  • 避免自我交叉的曲線、非常細的曲線區域 (例如,纖細的新月形),以及形狀邊緣上錯綜複雜的細節。對於 GPU 而言,要將這些形狀鑲嵌至三角形網狀圖形中是非常複雜的。若要瞭解原因,請考量兩個向量:500 × 500 的方形和 100 × 10 的新月形。GPU 可以輕鬆地顯示大矩形,因為它只是由兩個三角形所組成。但是,它必須利用許多三角形,才能描繪新月形的曲線。因此,顯示形狀會變得更複雜,即使它所包含的像素較少也一樣。

  • 避免大範圍的變更,因為這類變更也會導致 GPU 再次鑲嵌圖形。

  • 儘可能避免重新繪製。重新繪製會分層放置多個圖形元素,進而導致它們彼此遮蓋。使用軟體顯示程式,每個像素都只會繪製一次。因此,對於軟體顯示,無論該像素位置上有多少圖形元素要涵蓋彼此,應用程式的效能都不會遭遇任何困難。相反地,不論其他元素是否會遮蓋該區域,硬體顯示程式都會為每個元素繪製每一個像素。如果有兩個矩形彼此重疊,硬體顯示程式便會繪製重疊的區域兩次,而軟體顯示程式只會繪製該區域一次。

    因此,在使用軟體顯示程式的桌上型電腦上,您通常不會注意到重新繪製的效能影響。但是,許多重疊形狀會在使用 GPU 顯示的裝置上對效能產生不利的影響。最佳作法是從顯示清單移除物件,而非加以隱藏。

  • 避免使用填色的大矩形作為背景。改為設定舞台的背景顏色。

  • 儘可能避免重複點陣圖的預設點陣圖填色模式。改用點陣圖固定模式以取得較佳效能。