This document is about: QUANTUM 3
SWITCH TO

WebGL

Quantum 支援多種平台,包括 WebGL,而使用 WebGL 時會伴隨一些獨特的挑戰,開發者在使用過程中必須瞭解這些挑戰。本頁面提供了這些注意事項的詳細清單。

WebGL 效能

WebGL 是一個獨特的環境,存在某些限制。總體而言,其效能預期會低於其他平台。因此,至關重要的是在 WebGL 構建中測試應用程式的效能,而不僅僅是在編輯器中,以確保效能達到最佳狀態。

當在 Player 設定中禁用runInBackground選項時,當玩家切換到另一個標籤頁時,應用程式將停止運行。如果該標籤頁長時間處於非活動狀態,客戶端將斷開連接,並且在該標籤頁重新獲得焦點後需要重新建立連接。

考慮到 WebGL 的效能較低,建議同時以Release 模式構建 Quantum 程式碼專案,並將 Unity 設定為 IL2CPP。Quantum 程式碼專案的 Debug 構建在 WebGL 上可能會極其緩慢。

舊版本的 Unity 在 WebGL 構建中僅支援單執行緒,此時模擬受限於主執行緒,且 SimulationConfig 中的 ThreadCount 設定會被忽略。從 Unity 6 開始,多執行緒作為實驗性功能被引入,可通過 PlayerSettings 啟用。

Stack Trace Setting in Unity

堆疊追蹤

為了提升發布版本中 WebGL 的效能,您可以在 Unity 中關閉日誌的堆疊追蹤。進入edit > project settings > Player > Other Settings,一直向下滾動到Stack Trace*,將WarningLog的堆疊追蹤設為None

Stack Trace Setting in Unity

WebSockets

瀏覽器無法建立直接的 UDP 連接,因此改用基於 TCP 的 WebSockets。然而,對於網路連接較差的玩家,TCP 可靠且有序的傳輸協議可能會對遊戲體驗產生負面影響。為了提供最佳的玩家體驗,建議同時提供遊戲的下載版本。

瀏覽器中可能會出現應用程式正在切換到 WebSockets 的警告,此警告可以安全地忽略。

互動展示

以下是 Quantum WebGL 構建的演示,您現在可以在網頁瀏覽器中試用。

更多 WebGL 演示可參照我們的Itch.io頁面

Back to top