Derelict 3 経由でアクセスする SDL2 ウィンドウ ウィンドウがあります。
それは白黒でストロボすることになっています (私がてんかんが嫌いだからではありません)。ただし、一定の時間が経過すると、Ubuntu 13.10 はウィンドウを「応答なし」としてマークし、グレー表示し、ストロボ効果を鈍らせます。
これは非常に刺激的であり、EEG ヘッドセットから SSVEP 測定値を取得するためにアプリケーションが必要とする視覚刺激の効果を完全に無効にします。
ウィンドウが本来あるべきことを正確に実行していることを OS に認識させるにはどうすればよいですか?
コード
SDL 呼び出しを実際のコードにラップしたので、疑似コードとそれらのセクションで呼び出される SDL メソッドを提供します (他の SDL 関数を呼び出していないことを確認しました)。
make a window using SDL_CreateWindow (no set flags)
make a renderer using SDL_CreateRenderer (with presentvsync flag set)
for( ... )
{
fill screen black using SDL_RenderFillRect and SDL_SetRenderDrawColor
update screen using SDL_RenderPresent
fill screen white (same as above filling)
update screen (same as above update)
}
exit
ラッパー ライブラリ内のすべての SDL 呼び出しのエラー コードと戻り値を慎重にチェックします。彼らはすべて元気です。私が知る必要があるのは、OS にハートビートを提供するために何を追加しなければならないかということです。これにより、ウィンドウがグレー表示されなくなります。
別物...
誰かSDL2タグを追加してくれませんか? SDL2 には、SDL1.2 とは非常に異なる API があります...