mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Add Swappy & Pre-Transformed Swapchain
- Adds Swappy for Android for stable frame pacing - Implements pre-transformed Swapchain so that Godot's compositor is in charge of rotating the screen instead of Android's compositor (performance optimization for phones that don't have HW rotator) ============================ The work was performed by collaboration of TheForge and Google. I am merely splitting it up into smaller PRs and cleaning it up. Changes from original PR: - Removed "display/window/frame_pacing/android/target_frame_rate" option to use Engine::get_max_fps instead. - Target framerate can be changed at runtime using Engine::set_max_fps. - Swappy is enabled by default. - Added documentation. - enable_auto_swap setting is replaced with swappy_mode.
This commit is contained in:
parent
92e51fca72
commit
aaa0e2fddf
23 changed files with 1064 additions and 14 deletions
|
@ -6518,6 +6518,12 @@ void RenderingDevice::finalize() {
|
|||
ERR_FAIL_COND(reverse_dependency_map.size());
|
||||
}
|
||||
|
||||
void RenderingDevice::_set_max_fps(int p_max_fps) {
|
||||
for (const KeyValue<DisplayServer::WindowID, RDD::SwapChainID> &it : screen_swap_chains) {
|
||||
driver->swap_chain_set_max_fps(it.value, p_max_fps);
|
||||
}
|
||||
}
|
||||
|
||||
RenderingDevice *RenderingDevice::create_local_device() {
|
||||
RenderingDevice *rd = memnew(RenderingDevice);
|
||||
rd->initialize(context);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue