2016-08-18 7 views
0

WebGLキャンバスの内容を消去しようとしています。キャンバス内でWebGLコンテキストを再利用するにはどうすればよいですか?

DOMからキャンバス要素を削除して新しい要素を作成するだけで、最も重要なのは、すべてのリソースをクリアしてメモリリークを引き起こさないかどうかです。

私のシナリオでは、サーバからAJAXポーリングを20秒ごとに連続して取得しています。隠れたWebglキャンバスを使用してそれを描画し、別のキャンバスを使用して完全に表示します。

提案?

+0

なぜ、あなたは 'img'タグを使ってキャンバスを使っていますか? – Gant

+0

私のために必要な、プロジェクトの要件、私は隠しキャンバス上ですべての処理を行い、Fabric.jsを使用してそのキャンバスをメインキャンバスにコピーする必要があります –

答えて

0

基本的にDOMからキャンバスを削除しても、新しいものを作成するために解放される保証はありません。そのうちの8個または16個後にエラーが発生する可能性があります。

はあなただけ同じキャンバスやキャンバスを再利用し続けることができないのはなぜHow do I clean up and unload a WebGL canvas context from GPU after use?

を参照してください?

+0

私はキャンバスを再利用したいと思いますが、長さそれをfabricjsに送るために、隠しキャンバスの幅と高さを更新する必要があります。私はまたあなたが提供している上記のリンクに沿って来ているコードを適用しましたが、私は何とかそれを働かせませんでした –

関連する問題