1
0
Fork 1
forked from suyu/suyu

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

This commit is contained in:
bunnei 2023-05-24 21:29:29 -07:00
parent 116e2b5f02
commit f0ed20c8a2
2 changed files with 4 additions and 2 deletions

View file

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

View file

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