2
1

More than 1 year has passed since last update.

この記事誰得? 私しか得しないニッチな技術で記事投稿!

ChromeのWebGLのコンテキスト数の上限を変更する

Last updated at Posted at 2023-07-05

概要

Chromeで16を超えるWebGLコンテキストを同時に描画するためのTipsです

結論

Chromeの起動オプションにmax-active-webgl-contextsを指定するとWebGLの描画コンテキストの上限を変更することができます。

コマンドライン実行の例

以下の例は、コマンドラインでWebGLコンテキストの上限を32にする例です。

open -a /Applications/Google\ Chrome.app --args --max-active-webgl-contexts=32

GUIで実行する

以下のサイトを参考にしながら、上記の処理をGUIから実行する方法をまとめました。

Windowsの場合

Windowsの場合は、新規にChromeの起動ショートカットを作成し、そのリンク先の中に起動オプションを書くことでGUI実行できます。

macOSの場合

macOSの場合は、Automatorでアプリケーションを作成し、シェル実行に前述のコマンドを登録し、ショートカットを作成することで、GUI実行ができるようになります。

経緯

Chromeで16を超えるWebGLコンテキストを同時に描画しようと試みたところ、WARNING: Too many active WebGL contexts. Oldest context will be lost. という警告が出力され、古いWebGLコンテキストがら削除されてしまいました。

WebGLで画像を表示する際の注意点(WebGLコンテキストの最大数)

上記のサイトによると、Chromium系のブラウザ(Chromium, Chrome, Edge, etc...)のWebGLコンテキストの最大数は16に制限されており、対処方法がないかの調査に至りました。

まとめ

Chromeにmax-active-webgl-contextsをつけることで、WebGLコンテキストの上限を変更することができました。しかしながら、この手法は自身がコントロールできる環境でしか実行できないため、公開サービスとして活用する場合はWebGLの描画を制御する処理が必要となります。

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1