デスクトップのOpenGLでは、コンテキストを切り替えるといくつかのオーバーヘッドが発生することはよく知られており、特にメモリ内のオブジェクト(テクスチャなど)を再読み込み/再バインドする必要があります。webglの切り替えキャンバスは、デスクトップOpenGLのような「コンテキストスイッチオーバーヘッド」を課しますか?
WebGLでさまざまなキャンバス要素間を移動すると、同じコンテキスト切り替えペナルティが発生しますか? 1つのページにキャンバス要素間で共有できるwebglオブジェクトがありますか?
"*特に、メモリ内のオブジェクト(テクスチャなど)を再読み込み/再バインドする必要があります。コンテキストは、その中に設定されているすべての状態を保持します。コンテキストが* destroyed *の場合、その状態を復元する必要があります。 –
実際、共有オブジェクトを持つコンテキストは、オブジェクトの状態を共有するため、あらゆる種類の状態の問題を抱えています。私はそれらを回避する必要があったので、私は知っています。また、一部のドライバは内容を切り替える際に重大なオーバーヘッドがあることも知っています。 Chromeのソリューションは、特定のGPUの1つの実際のコンテキストの上に複数のコンテキストを仮想化することだったので、私はそれも知っています。 – gman