SDL on Windows でハードウェアアクセラレーションが効かない問題
サークル内で問題になったのでメモ。
どうやら1.2.10からデフォルトのビデオドライバとして DirectX ではなく windib が使用されるようになったのが原因っぽい。
http://www.libsdl.org/release/changes-1.2.html
The "windib" video driver is the default now, to prevent problems with certain laptops, 64-bit Windows, and Windows Vista. The DirectX driver is still available, and can be selected by setting the environment variable SDL_VIDEODRIVER to "directx".
ある種のラップトップ、64 bit の Windows 及び Windows Vista における問題を防ぐため、"windib" をデフォルトのビデオドライバにした。DirectXドライバはまだ利用可能であり、環境変数 SDL_VIDEODRIVER を "directx" に設定することで選択できる。
ということで Windows において DirectX を有効にするにはプログラムの先頭で
_putenv_s("SDL_VIDEODRIVER", "directx");
としておけばいいっぽい。