diff --git a/src/feature/gui/gui-runner.c b/src/feature/gui/gui-runner.c index 27746da69..302e21b28 100644 --- a/src/feature/gui/gui-runner.c +++ b/src/feature/gui/gui-runner.c @@ -623,14 +623,19 @@ void mGUIRun(struct mGUIRunner* runner, const char* path) { int frames = 0; GUIPollInput(&runner->params, 0, &keys); while (keys && frames < 30) { - ++frames; - runner->params.drawStart(); - runner->drawFrame(runner, true); - runner->params.drawEnd(); #ifdef _3DS - // XXX: Why does this fix #1294? - usleep(1000); + if (!frames) { #endif + runner->params.drawStart(); + runner->drawFrame(runner, true); + runner->params.drawEnd(); +#ifdef _3DS + } else { + // XXX: Why does this fix #1294? + usleep(15000); + } +#endif + ++frames; GUIPollInput(&runner->params, 0, &keys); } if (runner->unpaused) {