mirror of
https://github.com/godotengine/godot.git
synced 2025-10-29 12:44:31 +00:00
Fix Lag when resizing Floating Game Window
This commit is contained in:
parent
36d90c73a8
commit
b0ac51217a
1 changed files with 8 additions and 5 deletions
|
|
@ -40,6 +40,12 @@ void EmbeddedProcess::_notification(int p_what) {
|
|||
case NOTIFICATION_ENTER_TREE: {
|
||||
window = get_window();
|
||||
} break;
|
||||
case NOTIFICATION_PROCESS: {
|
||||
if (updated_embedded_process_queued) {
|
||||
updated_embedded_process_queued = false;
|
||||
_update_embedded_process();
|
||||
}
|
||||
} break;
|
||||
case NOTIFICATION_DRAW: {
|
||||
_draw();
|
||||
} break;
|
||||
|
|
@ -179,6 +185,7 @@ void EmbeddedProcess::embed_process(OS::ProcessID p_pid) {
|
|||
start_embedding_time = OS::get_singleton()->get_ticks_msec();
|
||||
embedding_grab_focus = has_focus();
|
||||
timer_update_embedded_process->start();
|
||||
set_process(true);
|
||||
set_notify_transform(true);
|
||||
|
||||
// Attempt to embed the process, but if it has just started and the window is not ready yet,
|
||||
|
|
@ -196,6 +203,7 @@ void EmbeddedProcess::reset() {
|
|||
embedding_grab_focus = false;
|
||||
timer_embedding->stop();
|
||||
timer_update_embedded_process->stop();
|
||||
set_process(false);
|
||||
set_notify_transform(false);
|
||||
queue_redraw();
|
||||
}
|
||||
|
|
@ -251,11 +259,6 @@ void EmbeddedProcess::_timer_update_embedded_process_timeout() {
|
|||
queue_update_embedded_process();
|
||||
}
|
||||
}
|
||||
|
||||
if (updated_embedded_process_queued) {
|
||||
updated_embedded_process_queued = false;
|
||||
_update_embedded_process();
|
||||
}
|
||||
}
|
||||
|
||||
void EmbeddedProcess::_update_embedded_process() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue