(Vsync の目的で) ダブル バッファリングを使用する必要があるアプリケーションを作成しようとしています。SDL.NETを使用しています。私が理解したことから、ダブルバッファリングを行うには、OpenGl = true で SetVideoMode を設定する必要があります。
コードは次のとおりです。
Video.Initialize();
Video.GLSetAttribute(OpenGLAttr.DoubleBuffer, 1);
Video.GLSetAttribute(OpenGLAttr.SwapControl, 1);
Video.GLSetAttribute(OpenGLAttr.RedSize, 8);
Video.GLSetAttribute(OpenGLAttr.GreenSize, 8);
Video.GLSetAttribute(OpenGLAttr.BlueSize, 8);
Video.GLSetAttribute(OpenGLAttr.DepthSize, 16);
Video.SetVideoMode(VideoInfo.ScreenWidth, VideoInfo.ScreenHeight, false, true, true, true);
4 番目のパラメーター (bool opengl) が false の場合、機能します。新しいフルスクリーン ウィンドウが作成されて表示されます (ただし、この場合、上記の OpenGLAttr のセットは意味がないと思います)。
4 番目のパラメーターが true の場合、何も起こりません。新しいウィンドウが作成されます (少なくとも、開いているウィンドウのリストに表示されます) が、alt+tab で移動できません。
私は何を間違っていますか?