ConfigureCpuDebug
 
  
   
    0
    0
    592
    503
   
  
  
   Form
  
  
   - 
    
     - 
      
       
        Toggle CPU Optimizations
       
       
        - 
         
          
           <html><head/><body><p><span style=" font-weight:600;">For debugging only.</span><br/>If you're not sure what these do, keep all of these enabled. <br/>These settings, when disabled, only take effect when CPU Debugging is enabled. </p></body></html>
          
          
           false
          
         
        
- 
         
          
           
            <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 inline page tables
          
         
        
- 
         
          
           
            <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 block linking
          
         
        
- 
         
          
           
            <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 return stack buffer
          
         
        
- 
         
          
           
            <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 fast dispatcher
          
         
        
- 
         
          
           
            <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div>
           
          
          
           Enable context elimination
          
         
        
- 
         
          
           
            <div>Enables IR optimizations that involve constant propagation.</div>
           
          
          
           Enable constant propagation
          
         
        
- 
         
          
           
            <div>Enables miscellaneous IR optimizations.</div>
           
          
          
           Enable miscellaneous optimizations
          
         
        
- 
         
          
           
            <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>
           
          
          
           Enable misalignment check reduction
          
         
        
- 
         
          
           
            <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div>
            <div style="white-space: nowrap">Enabling it causes guest memory reads/writes to be done directly into memory and make use of Host's MMU.</div>
            <div style="white-space: nowrap">Disabling this forces all memory accesses to use Software MMU Emulation.</div>
           
          
          
           Enable Host MMU Emulation
          
         
        
- 
    
     
      Qt::Vertical
     
     
      
       20
       40
      
     
    
   
- 
    
     
      CPU settings are available only when game is not running.
     
     
      true