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