summaryrefslogtreecommitdiff
path: root/platform/android/os_android.cpp
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2022-03-29 21:52:08 +0200
committerGitHub <noreply@github.com>2022-03-29 21:52:08 +0200
commit04c17eb00389dff7add0459a5a4dd6e2886d3f05 (patch)
tree83529fb5a7d2539fdfc2dc6122f2bade57c2a6dd /platform/android/os_android.cpp
parent5c2e85879036f37cf1fc0edb4377682e45bc6607 (diff)
parentb176b31f5dfeb1ddd451c4b0587a4cc7deabc117 (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.cpp11
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() {