From a67d00ef31aba1c45dde956b48844f91427963a1 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Sun, 12 Jul 2020 12:06:04 +0100 Subject: configure_cpu: Split optimization settings off into Debug tab --- src/yuzu/configuration/configure_cpu_debug.ui | 174 ++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 src/yuzu/configuration/configure_cpu_debug.ui (limited to 'src/yuzu/configuration/configure_cpu_debug.ui') diff --git a/src/yuzu/configuration/configure_cpu_debug.ui b/src/yuzu/configuration/configure_cpu_debug.ui new file mode 100644 index 000000000..a90dc64fe --- /dev/null +++ b/src/yuzu/configuration/configure_cpu_debug.ui @@ -0,0 +1,174 @@ + + + ConfigureCpuDebug + + + + 0 + 0 + 400 + 321 + + + + Form + + + + + + + + Toggle CPU Optimizations + + + + + + 1 + + + + <div> + <b>For debugging only.</b> + <br> + If you're not sure what these do, keep all of these enabled. + <br> + These settings only take effect when CPU Accuracy is "Debug Mode". + </div> + + + + + + + + Enable inline page tables + + + + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + + + + + + + + Enable block linking + + + + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + + + + + + + + Enable return stack buffer + + + + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + + + + + + + + Enable fast dispatcher + + + + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + + + + + + + + Enable context elimination + + + + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + + + + + + + + Enable constant propagation + + + + <div>Enables IR optimizations that involve constant propagation.</div> + + + + + + + + Enable miscellaneous optimizations + + + + <div>Enables miscellaneous IR optimizations.</div> + + + + + + + + Enable misalignment check reduction + + + + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + CPU settings are available only when game is not running. + + + true + + + + + + + + -- cgit v1.2.3