diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-04-25 12:32:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-25 12:32:26 +0200 |
commit | 6a9115b983384f5dce341b22268dbc7f4a12f64e (patch) | |
tree | d85b9d9bbb3768ee0dcd870b5452f77b885463b8 | |
parent | d9d871dfbf661b329269d7c70a631e3405602e63 (diff) | |
parent | 3b1e62bc7ce9a0d8b48bb27661b328f7e6daabc7 (diff) |
Merge pull request #60506 from m4gr3d/fix_low_processor_mode_rendering_after_resume_main
-rw-r--r-- | platform/android/java_godot_lib_jni.cpp | 2 | ||||
-rw-r--r-- | platform/android/os_android.cpp | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/platform/android/java_godot_lib_jni.cpp b/platform/android/java_godot_lib_jni.cpp index ea72bc0e15..5e0a9d967b 100644 --- a/platform/android/java_godot_lib_jni.cpp +++ b/platform/android/java_godot_lib_jni.cpp @@ -503,6 +503,8 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_onRendererResumed(JNI return; } + // We force redraw to ensure we render at least once when resuming the app. + Main::force_redraw(); if (os_android->get_main_loop()) { os_android->get_main_loop()->notification(MainLoop::NOTIFICATION_APPLICATION_RESUMED); } diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp index ef53415f16..54124c22d0 100644 --- a/platform/android/os_android.cpp +++ b/platform/android/os_android.cpp @@ -187,10 +187,11 @@ bool OS_Android::main_loop_iterate(bool *r_should_swap_buffers) { return false; } DisplayServerAndroid::get_singleton()->process_events(); + uint64_t current_frames_drawn = Engine::get_singleton()->get_frames_drawn(); bool exit = Main::iteration(); if (r_should_swap_buffers) { - *r_should_swap_buffers = !is_in_low_processor_usage_mode() || RenderingServer::get_singleton()->has_changed(); + *r_should_swap_buffers = !is_in_low_processor_usage_mode() || RenderingServer::get_singleton()->has_changed() || current_frames_drawn != Engine::get_singleton()->get_frames_drawn(); } return exit; |