mirror of
https://git.eden-emu.dev/archive/citron
synced 2026-03-26 11:29:33 -04:00
feat: add Low GPU Accuracy setting for maximum performance
Implements a new "Low" GPU accuracy level that prioritizes performance over accuracy by aggressively cutting corners in GPU emulation. Changes: - Add GpuAccuracy::Low enum and setting infrastructure - Implement IsGPULevelNormal() helper function - Skip texture cache checks and query operations - Use unsafe memory reads for DMA operations - Disable fence delays and query precision - Add UI support for desktop (Qt) and Android Performance optimizations: - Skips texture cache coherency checks (vk/gl_rasterizer.cpp) - Non-blocking query synchronization (query_cache.h) - Unsafe memory operations (dma_pusher.cpp) - No macro parameter refresh (maxwell_3d.cpp) - Immediate fence signaling (fence_manager.h) - Non-precise Vulkan queries (vk_query_cache.cpp) Ideal for lower-end hardware and users prioritizing FPS over accuracy. Works on both desktop and Android platforms. Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -74,6 +74,7 @@
|
||||
</integer-array>
|
||||
|
||||
<string-array name="rendererAccuracyNames">
|
||||
<item>@string/renderer_accuracy_low</item>
|
||||
<item>@string/renderer_accuracy_normal</item>
|
||||
<item>@string/renderer_accuracy_high</item>
|
||||
<item>@string/renderer_accuracy_extreme</item>
|
||||
@@ -83,6 +84,7 @@
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="rendererResolutionNames">
|
||||
|
||||
@@ -610,6 +610,7 @@
|
||||
<string name="renderer_none">None</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_low">Low</string>
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">High</string>
|
||||
<string name="renderer_accuracy_extreme">Extreme (Slow)</string>
|
||||
|
||||
Reference in New Issue
Block a user