Просмотр исходного кода

android: GPU: Enable async presentation, increase frames in flight.

bunnei 3 лет назад
Родитель
Сommit
f0ed20c8a2

+ 3 - 1
src/android/app/src/main/jni/config.cpp

@@ -215,7 +215,6 @@ void Config::ReadValues() {
     ReadSetting("Renderer", Settings::values.nvdec_emulation);
     ReadSetting("Renderer", Settings::values.use_fast_gpu_time);
     ReadSetting("Renderer", Settings::values.use_vulkan_driver_pipeline_cache);
-    ReadSetting("Renderer", Settings::values.async_presentation);
 
     // Use GPU accuracy normal by default on Android
     Settings::values.gpu_accuracy = static_cast<Settings::GPUAccuracy>(config->GetInteger(
@@ -235,6 +234,9 @@ void Config::ReadValues() {
     // Disable ASTC compute by default on Android
     Settings::values.accelerate_astc = config->GetBoolean("Renderer", "accelerate_astc", false);
 
+    // Enable asynchronous presentation by default on Android
+    Settings::values.async_presentation = config->GetBoolean("Renderer", "async_presentation", true);
+
     // Enable force_max_clock by default on Android
     Settings::values.renderer_force_max_clock =
         config->GetBoolean("Renderer", "force_max_clock", true);

+ 1 - 1
src/video_core/renderer_vulkan/vk_update_descriptor.h

@@ -31,7 +31,7 @@ struct DescriptorUpdateEntry {
 class UpdateDescriptorQueue final {
     // This should be plenty for the vast majority of cases. Most desktop platforms only
     // provide up to 3 swapchain images.
-    static constexpr size_t FRAMES_IN_FLIGHT = 5;
+    static constexpr size_t FRAMES_IN_FLIGHT = 7;
     static constexpr size_t FRAME_PAYLOAD_SIZE = 0x20000;
     static constexpr size_t PAYLOAD_SIZE = FRAME_PAYLOAD_SIZE * FRAMES_IN_FLIGHT;