iT邦幫忙

第 12 屆 iThome 鐵人賽

0
Modern Web

再談 PixiJS,那些先前不一定有提到的部分與地雷系列 第 35

[Re:PixiJS - Day35] PixiJS v5 預設不支援不支援 WebGL 的瀏覽器

昨天的文章提到了不同手機使用 PixiJS 的差異
實際上在 PixiJS v5 後,將 canvas 的支援方法搬到 pixi.js-legacy 裡,如需向下相容只支援 canvas 的裝置時,需另外加入 pixi.js-legacy


問題實例:

發現 Android 5.0 (Android Lollipop) 以下的環境不支援 WebGL。
型號:Samsung GALAXY J7

WebGL 相容於:

  • Firefox 4+
  • Google Chrome 9+
  • Opera 12+
  • Safari 5.1+
  • Internet Explorer 11+

然而,使用者的 GPU 也必須支援。

WebGL 詳細文件


解決辦法:

當環境不支援 WebGL 時

可直接下載目前版本的 pixi-legacy:

或從 PixiJS Release頁 最下方下載:

並在 html 中引入檔案:

<script src="js/plugin/pixi-legacy.min.js"></script>

pixi-legacy - 讓 PIXI 可使用 Canvas 模式執行:

舊版 PIXI 會偵測瀏覽器是否支援 WebGL,不支援時會自動使用 Canvas 模式運算,或者可使用 forceCanvas 設定,強制 PIXI 使用 Canvas 模式執行

PixiJS v5 後,使用 forceCanvasPIXI 強迫使用 Canvas 模式執行時
須引入 pixi.js-legacy@pixi/canvas-renderer,否則此設定會被忽略

  • 支援 Canvas不支援 WebGL 的瀏覽器時,可使用這個設定
  • 使用 Canvas 模式 時,一些使用 WebGL 的效果 可能會不顯示 / 有問題

疑慮:

  • 檔案大小:
    pixi.min.js:354KB (v5.1.5)
    pixi-legacy.min:428KB
    pixi-legacy.js.map:2.2MB

    pixi-legacy.min 比 pixi.min 本身還要大

由於 pixi-legacy 是擴充 plugin,未來會不會隨著 PixiJS 版號更新就不支援了,也有可能


相關文章:

Renderer 的相關討論,可參考我先前的文章:
[PixiJS - Day-06] 起手式:View 與 Renderer


其他:

這篇也是同事遇到的問題與整理,有一定的重要性,寫在系列文章裡


上一篇
[Re:PixiJS - Day34] 不同手機使用 PixiJS 的各種問題
下一篇
[Re:PixiJS - Day36] PIXI.utils 與內建的輸出圖檔功能
系列文
再談 PixiJS,那些先前不一定有提到的部分與地雷45
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言