1
1
Fork 0
Browse Source

reduce sim rate to improve performance

thread-physics
alistair 4 years ago
parent
commit
ce54f720d9
  1. 18
      main.c

18
main.c

@ -20,6 +20,8 @@ struct SDL_Window* make_window(void) { @@ -20,6 +20,8 @@ struct SDL_Window* make_window(void) {
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
printf("error initializing SDL: %s\n", SDL_GetError());
}
return SDL_CreateWindow("sdl_tester",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
@ -55,13 +57,22 @@ void redraw(struct SDL_Renderer * ren) { @@ -55,13 +57,22 @@ void redraw(struct SDL_Renderer * ren) {
SDL_RenderPresent(ren);
}
int physics_loop(void *ptr) {
while (true) {
SDL_Delay(10);
step(10);
}
}
int main () {
LOGLEVEL = DEBUG;
STDOUTLEVEL = DEBUG;
SDL_SetHint( SDL_HINT_RENDER_SCALE_QUALITY, "2" );
logwrite(INFO, "Starting\n");
SDL_Window * win = make_window();
SDL_Renderer * ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
SDL_Renderer * ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
queue_for_cleanup(win, WINDOW);
queue_for_cleanup(ren, RENDERER);
@ -76,11 +87,14 @@ int main () { @@ -76,11 +87,14 @@ int main () {
int close = 0;
//draw_pictures(ren);
SDL_Thread *physics_thread;
int ignore;
physics_thread = SDL_CreateThread(physics_loop, "Physics", (void *)NULL);
bool once = true;
startgame(ren);
while (!close) {
step(100);
/* Redraw Screen */
redraw(ren);

Loading…
Cancel
Save