mirror of
https://github.com/kichikuou/system3-sdl2.git
synced 2026-10-07 14:27:56 +03:00
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:
+13
-13
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user