Defer rendering to idle time

SDL_RenderCopy / SDL_RenderPresent was called too often, which sometimes
caused screen update to fail on Mac.
This commit is contained in:
kichikuou
2020-11-29 12:06:08 +09:00
parent 89d5fdcbc6
commit f2139440b6
7 changed files with 75 additions and 60 deletions
+13 -13
View File
@@ -157,10 +157,10 @@ int NACT_Sys3::menu_select(int num_items)
if (dx*dx + dy*dy > 10)
break;
if((val = get_key()) != 0) {
SDL_Delay(100);
sys_sleep(100);
break;
}
SDL_Delay(16);
sys_sleep(16);
}
if(val) {
for(;;) {
@@ -170,7 +170,7 @@ int NACT_Sys3::menu_select(int num_items)
if(!get_key()) {
break;
}
SDL_Delay(16);
sys_sleep(16);
}
}
@@ -387,9 +387,9 @@ void NACT_Sys3::cmd_a()
if(get_key()) {
break;
}
SDL_Delay(16);
sys_sleep(16);
}
SDL_Delay(30);
sys_sleep(30);
for(;;) {
if(terminate) {
return;
@@ -397,7 +397,7 @@ void NACT_Sys3::cmd_a()
if(!(get_key() & 0x18)) {
break;
}
SDL_Delay(16);
sys_sleep(16);
}
}
@@ -638,7 +638,7 @@ void NACT_Sys3::cmd_k()
return;
}
}
SDL_Delay(16);
sys_sleep(16);
}
if(cmd != 0 && cmd != 4) {
RND = val;
@@ -646,7 +646,7 @@ void NACT_Sys3::cmd_k()
// キーが離されるまで待機
if(cmd != 1) {
SDL_Delay(100);
sys_sleep(100);
for(;;) {
if(terminate) {
return;
@@ -654,7 +654,7 @@ void NACT_Sys3::cmd_k()
if(!(val = get_key())) {
break;
}
SDL_Delay(16);
sys_sleep(16);
}
}
@@ -1158,7 +1158,7 @@ void NACT_Sys3::cmd_y()
if(dwTime <= SDL_GetTicks()) {
break;
}
SDL_Delay(16);
sys_sleep(16);
}
}
break;
@@ -1251,7 +1251,7 @@ void NACT_Sys3::cmd_y()
ags->fade_in(i);
int32 ms = dwStart + param * 1000 / 60 * i - SDL_GetTicks();
if (ms > 0)
SDL_Delay(ms);
sys_sleep(ms);
}
ags->fade_end();
}
@@ -1265,7 +1265,7 @@ void NACT_Sys3::cmd_y()
ags->fade_out(i, (cmd == 41) ? false : true);
int32 ms = dwStart + param * 1000 / 60 * i - SDL_GetTicks();
if (ms > 0)
SDL_Delay(ms);
sys_sleep(ms);
}
}
break;
@@ -1303,7 +1303,7 @@ void NACT_Sys3::cmd_y()
if(!get_key()) {
break;
}
SDL_Delay(16);
sys_sleep(16);
}
}
} else if(param == 3) {