2

このメッセージについて私が言えることは、ドライバーでエラーが発生したときに表示されるということです。これは、高レベルのエラー チェックが行われているため、何らかの間違いがあったとしても、JavaScript コードがこの警告をトリガーできないことを意味しているようです。

しかし、私のコードは最近、一度だけそれをトリガーし、それを再現できませんでした (コードは、少なくとも理論的には、毎回まったく同じコマンドを WebGL に送信します)。したがって、コードをデバッグする必要があるかどうか (明らかなエラーは表示されません)、またはハードウェアのランダム/ブラウザーのバグに分類する必要があるかどうかを知りたいだけです。

リクエストに応じて半縮小コードを投稿できますが、それでも約 5000 行あり、人々がそれをデバッグしてくれるとはまったく期待していません。

4

1 に答える 1

1

あなたの質問の「トリガー」の意味に少し苦労しています。このエラーが発生した場合、WebGL は JavaScript を実行しないと実行されないため、JavaScript は常に因果関係にあります。したがって、誤ってエラーをトリガーする可能性は確かにあります (常に意図的にエラーをトリガーしない限り、そうではないと確信しています)。

ただし、グラフィックス ドライバーは、プログラマーの制御下にない、またはプログラマーが必ずしも検出できない多くの要因の影響を受けることで有名です。そのため、Google では、エラーが発生したときにページを再読み込みすることをお勧めしています。(彼らのガイダンスへのリンクはここにありましたが、彼らはページを移動または削除しました。)以前の試行が「snag」エラーで終了したときに、ページをリロードした後に Chrome で WebGL を正常に表示することがよくありました。(そして、私はあなたがそれを知っていることを知っています。)

確かに、WebGL コード ( http://shadertoy.com/のさまざまなシェーダーなど) が、同じマシン上で一部のマシンでは正常に動作し、他のマシンでは正常に動作し、次のマシンでは正常に動作しない場合があります。したがって、「思わぬ障害」エラーは、必ずしもコードに問題があることを意味するわけではないことを示唆しています。

ただし、ポータブル WebGL の作成方法などの記事は、コード内の危険なプラクティスを最小限に抑え、これらのエラーの頻度を減らすのに役立ちます。

于 2013-05-24T20:07:01.737 に答える