Browse Source

configure_cpu: Add tooltips

MerryMage 6 years ago
parent
commit
da11a27f42
1 changed files with 54 additions and 1 deletions
  1. 54 1
      src/yuzu/configuration/configure_cpu.ui

+ 54 - 1
src/yuzu/configuration/configure_cpu.ui

@@ -76,7 +76,7 @@
             <bool>1</bool>
             <bool>1</bool>
           </property>
           </property>
           <property name="text">
           <property name="text">
-           <string>Keep these enabled. For debugging only.</string>
+           <string>Keep all of these enabled. For debugging only.</string>
           </property>
           </property>
          </widget>
          </widget>
         </item>
         </item>
@@ -85,6 +85,13 @@
           <property name="text">
           <property name="text">
            <string>Enable inline page tables</string>
            <string>Enable inline page tables</string>
           </property>
           </property>
+          <property name="toolTip">
+           <string>
+            &lt;div style="white-space: nowrap"&gt;This optimization speeds up memory accesses by the guest program.&lt;/div&gt;
+            &lt;div style="white-space: nowrap"&gt;Enabling it inlines accesses to PageTable::pointers into emitted code.&lt;/div&gt;
+            &lt;div style="white-space: nowrap"&gt;Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.&lt;/div&gt;
+           </string>
+          </property>
          </widget>
          </widget>
         </item>
         </item>
         <item>
         <item>
@@ -92,6 +99,11 @@
           <property name="text">
           <property name="text">
            <string>Enable block linking</string>
            <string>Enable block linking</string>
           </property>
           </property>
+          <property name="toolTip">
+           <string>
+            &lt;div&gt;This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.&lt;/div&gt;
+           </string>
+          </property>
          </widget>
          </widget>
         </item>
         </item>
         <item>
         <item>
@@ -99,6 +111,11 @@
           <property name="text">
           <property name="text">
            <string>Enable return stack buffer</string>
            <string>Enable return stack buffer</string>
           </property>
           </property>
+          <property name="toolTip">
+           <string>
+            &lt;div&gt;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.&lt;/div&gt;
+           </string>
+          </property>
          </widget>
          </widget>
         </item>
         </item>
         <item>
         <item>
@@ -106,6 +123,11 @@
           <property name="text">
           <property name="text">
            <string>Enable fast dispatcher</string>
            <string>Enable fast dispatcher</string>
           </property>
           </property>
+          <property name="toolTip">
+           <string>
+            &lt;div&gt;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.&lt;/div&gt;
+           </string>
+          </property>
          </widget>
          </widget>
         </item>
         </item>
         <item>
         <item>
@@ -113,6 +135,11 @@
           <property name="text">
           <property name="text">
            <string>Enable context elimination</string>
            <string>Enable context elimination</string>
           </property>
           </property>
+          <property name="toolTip">
+           <string>
+            &lt;div&gt;Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.&lt;/div&gt;
+           </string>
+          </property>
          </widget>
          </widget>
         </item>
         </item>
         <item>
         <item>
@@ -120,6 +147,11 @@
           <property name="text">
           <property name="text">
            <string>Enable constant propagation</string>
            <string>Enable constant propagation</string>
           </property>
           </property>
+          <property name="toolTip">
+           <string>
+            &lt;div&gt;Enables IR optimizations that involve constant propagation.&lt;/div&gt;
+           </string>
+          </property>
          </widget>
          </widget>
         </item>
         </item>
         <item>
         <item>
@@ -127,6 +159,11 @@
           <property name="text">
           <property name="text">
            <string>Enable miscellaneous optimizations</string>
            <string>Enable miscellaneous optimizations</string>
           </property>
           </property>
+          <property name="toolTip">
+           <string>
+            &lt;div&gt;Enables miscellaneous IR optimizations.&lt;/div&gt;
+           </string>
+          </property>
          </widget>
          </widget>
         </item>
         </item>
         <item>
         <item>
@@ -134,6 +171,12 @@
           <property name="text">
           <property name="text">
            <string>Enable misalignment check reduction</string>
            <string>Enable misalignment check reduction</string>
           </property>
           </property>
+          <property name="toolTip">
+           <string>
+            &lt;div style="white-space: nowrap"&gt;When enabled, a misalignment is only triggered when an access crosses a page boundary.&lt;/div&gt;
+            &lt;div style="white-space: nowrap"&gt;When disabled, a misalignment is triggered on all misaligned accesses.&lt;/div&gt;
+           </string>
+          </property>
          </widget>
          </widget>
         </item>
         </item>
        </layout>
        </layout>
@@ -154,6 +197,16 @@
      </property>
      </property>
     </spacer>
     </spacer>
    </item>
    </item>
+   <item>
+    <widget class="QLabel" name="label_disable_info">
+     <property name="text">
+      <string>CPU settings are available only when game is not running.</string>
+     </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
   </layout>
   </layout>
  </widget>
  </widget>
  <resources/>
  <resources/>