SDL を使用して非常に基本的なウィンドウを作成しましたが、ウィンドウで X を押すまで実行し続けたいと考えています。
#include "SDL.h"
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
int main(int argc, char **argv)
{
SDL_Init( SDL_INIT_VIDEO );
SDL_Surface* screen = SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, 0,
SDL_HWSURFACE | SDL_DOUBLEBUF );
SDL_WM_SetCaption( "SDL Test", 0 );
SDL_Event event;
bool quit = false;
while (quit != false)
{
if (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) {
quit = true;
}
}
SDL_Delay(80);
}
SDL_Quit();
return 0;
}
while句の最後に追加SDL_Delay()
してみましたが、うまくいきました。
ただし、プログラムをスムーズに実行し続けるために使用できる最大値は 80 ミリ秒のようで、それでも CPU 使用率は約 15 ~ 20% です。
これはこれを行うための最良の方法であり、この時点ですでにこれほど多くの CPU を消費しているという事実に耐えなければなりませんか?