diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-03-29 21:52:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-29 21:52:08 +0200 |
commit | 04c17eb00389dff7add0459a5a4dd6e2886d3f05 (patch) | |
tree | 83529fb5a7d2539fdfc2dc6122f2bade57c2a6dd /platform/android/os_android.cpp | |
parent | 5c2e85879036f37cf1fc0edb4377682e45bc6607 (diff) | |
parent | b176b31f5dfeb1ddd451c4b0587a4cc7deabc117 (diff) |
Merge pull request #59607 from m4gr3d/fix_low_processor_mode_main
Fix flickering issues with low processor mode on Android
Diffstat (limited to 'platform/android/os_android.cpp')
-rw-r--r-- | platform/android/os_android.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp index 438fc04eb6..ef53415f16 100644 --- a/platform/android/os_android.cpp +++ b/platform/android/os_android.cpp @@ -36,6 +36,7 @@ #include "main/main.h" #include "platform/android/display_server_android.h" #include "scene/main/scene_tree.h" +#include "servers/rendering_server.h" #include "dir_access_jandroid.h" #include "file_access_android.h" @@ -181,12 +182,18 @@ void OS_Android::main_loop_begin() { } } -bool OS_Android::main_loop_iterate() { +bool OS_Android::main_loop_iterate(bool *r_should_swap_buffers) { if (!main_loop) { return false; } DisplayServerAndroid::get_singleton()->process_events(); - return Main::iteration(); + bool exit = Main::iteration(); + + if (r_should_swap_buffers) { + *r_should_swap_buffers = !is_in_low_processor_usage_mode() || RenderingServer::get_singleton()->has_changed(); + } + + return exit; } void OS_Android::main_loop_end() { |