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
+18 -18
View File
@@ -30,7 +30,7 @@
if(dwTime <= SDL_GetTicks()) { \
break; \
} \
SDL_Delay(10); \
sys_sleep(10); \
} \
}
@@ -52,14 +52,14 @@
if(dwTime <= SDL_GetTicks()) { \
break; \
} \
SDL_Delay(10); \
sys_sleep(10); \
} \
break; \
} \
if(dwTime <= SDL_GetTicks()) { \
break; \
} \
SDL_Delay(10); \
sys_sleep(10); \
} \
}
@@ -345,14 +345,14 @@ void NACT_Sys1::cmd_open_menu()
return;
}
if((val = get_key()) != 0) {
SDL_Delay(100);
sys_sleep(100);
break;
}
get_cursor(&current_mx, &current_my);
if(abs(my - current_my) > 3) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
if(val) {
for(;;) {
@@ -362,7 +362,7 @@ void NACT_Sys1::cmd_open_menu()
if(!get_key()) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
}
@@ -531,14 +531,14 @@ top2:
return;
}
if((val = get_key()) != 0) {
SDL_Delay(100);
sys_sleep(100);
break;
}
get_cursor(&current_mx, &current_my);
if(abs(my - current_my) > 3) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
if(val) {
for(;;) {
@@ -548,7 +548,7 @@ top2:
if(!get_key()) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
}
@@ -713,14 +713,14 @@ top2:
return;
}
if((val = get_key()) != 0) {
SDL_Delay(100);
sys_sleep(100);
break;
}
get_cursor(&current_mx, &current_my);
if(abs(my - current_my) > 3) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
if(val) {
for(;;) {
@@ -730,7 +730,7 @@ top2:
if(!get_key()) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
}
@@ -798,9 +798,9 @@ void NACT_Sys1::cmd_a()
if(get_key()) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
SDL_Delay(100);
sys_sleep(100);
for(;;) {
if(terminate) {
return;
@@ -808,7 +808,7 @@ void NACT_Sys1::cmd_a()
if(!(get_key() & 0x18)) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
}
@@ -1210,9 +1210,9 @@ void NACT_Sys1::cmd_y()
if(get_key()) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
SDL_Delay(100);
sys_sleep(100);
for(;;) {
if(terminate) {
return;
@@ -1220,7 +1220,7 @@ void NACT_Sys1::cmd_y()
if(!(get_key() & 0x18)) {
break;
}
SDL_Delay(10);
sys_sleep(10);
}
ags->clear_text_window(text_window, true);
break;