OpenGL Compute Shaders を使用してデータの計算を行っています。1 つのシェーダーを 10 秒以上実行できないことを除けば、すべて正常に動作します。glBeginQuery(...)
とで時間を計りglEndQuery(...)
ます。シェーダーは 1 ミリ秒から 10 秒で正常に実行されます。シェーダーが必要とする時間を増やすために、シェーダーを呼び出さずにデータを追加するだけです。しかし、シェーダーが 10 秒以上必要な場合、データを追加することはできません。その後、プログラムがフリーズし、それ以上何もできなくなります。私が測定した最高値は 11.02 秒でした。
では、コンピューティング シェーダーの時間境界はありますか? それとも、私が間違っていた明らかな何かがありますか?
追加情報:Nvidia GT 555Mを搭載したノートブックで作業しています。私は bumblebee を使用し、QtCreator を起動optirun
して Nvidia カードで実行します。私を助けるためにさらに情報が必要な場合は、お尋ねください. それに答えるために何が必要なのか、私にはわかりません。