ui: Restore 'Strict Mode Rendering' to GPU tab. Also add an option to disable the vertex cache

- Also, updates json tooltips for some options
This commit is contained in:
kd-11 2017-07-26 17:57:19 +03:00
parent fb7ccbd7b4
commit fc6891a0e3
4 changed files with 27 additions and 14 deletions

View file

@ -27,10 +27,10 @@
"hookStFunc": "Allows to hook some functions like 'memcpy' replacing them with high-level implementations. May do nothing or break things. Experimental.",
"bindSPUThreads": "If your CPU has SMT (Hyper-Threading) SPU threads will run on these logical cores instead.\nUsually faster on an i3, possibly slower or no difference on an i7 or Ryzen.",
"lowerSPUThrPrio": "Runs SPU threads with lower priority than PPU threads.\nUsually faster on an i3 or i5, possibly slower or no difference on an i7 or Ryzen.",
"spuLoopDetection": ""
"spuLoopDetection": "Try to detect loop conditions in SPU kernels and use them as scheduling hints.\nImproves performance and reduces CPU usage"
},
"comboboxes": {
"preferredSPUThreads": ""
"preferredSPUThreads": "Preferred number of threads allowed to enter some sensitive SPU stages.\nSome SPU stages are sensitive to race conditions and allowing a limited number at a time helps alleviate performance stalls.\nSetting this to a smaller value might improve performance and reduce stuttering in some games.\nLeave this on auto if performance is negatively affected when setting a small value"
}
},
"debug": {
@ -38,7 +38,6 @@
"dumpDepth": "Never use this.",
"readDepth": "Never use this.",
"glLegacyBuffers": "Enables use of classic OpenGL buffers which allows capturing tools to work with RPCS3 e.g RenderDoc.\nIf unsure, don't use this option.",
"scrictModeRendering": "Enforces strict compliance to the API specification.\nMight result in degraded performance in some games.\nCan resolve rare cases of missing graphics and flickering.\nIf unsure, don't use this option.",
"forceHighpZ": "Only useful when debugging differences in GPU hardware.\nNot necessary for average users.\nIf unsure, don't use this option.",
"debugOutput": "Enables the selected API's inbuilt debugging functionality.\nWill cause severe performance degradation especially with Vulkan.\nOnly useful for developers.\nIf unsure, don't use this option.",
"debugOverlay": "Provides a graphical overlay of various debugging information.\nIf unsure, don't use this option.",
@ -70,6 +69,8 @@
"vsync": "By having this off you might obtain a higher frame rate at the cost of tearing artifacts in the game.",
"autoInvalidateCache": "Enable this option if the game has broken shadows. May slightly degrade performance.",
"gpuTextureScaling": "Small to significant performance boost in most games and rarely with side effects.\nMay cause texture corruption in rare cases.\nOnly works with OpenGL for now.",
"scrictModeRendering": "Enforces strict compliance to the API specification.\nMight result in degraded performance in some games.\nCan resolve rare cases of missing graphics and flickering.\nIf unsure, don't use this option.",
"disableVertexCache": "Disables the vertex cache.\nMight resolve missing or flickering graphics output.\nMay degrade performance.",
"stretchToDisplayArea": "Overrides the aspect ratio and stretches the image to the full display area."
}
},

View file

@ -68,6 +68,7 @@ public:
ForceHighpZ,
AutoInvalidateCache,
StrictRenderingMode,
DisableVertexCache,
// Audio
AudioRenderer,
@ -162,6 +163,7 @@ private:
{ ForceHighpZ, { "Video", "Force High Precision Z buffer"}},
{ AutoInvalidateCache, { "Video", "Invalidate Cache Every Frame"}},
{ StrictRenderingMode, { "Video", "Strict Rendering Mode"}},
{ DisableVertexCache, { "Video", "Disable Vertex Cache"}},
{ D3D12Adapter, { "Video", "D3D12", "Adapter"}},
{ VulkanAdapter, { "Video", "Vulkan", "Adapter"}},

View file

@ -401,6 +401,12 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> xSettings, const
xemu_settings->EnhanceCheckBox(ui->stretchToDisplayArea, emu_settings::StretchToDisplayArea);
ui->stretchToDisplayArea->setToolTip(json_gpu_main["stretchToDisplayArea"].toString());
xemu_settings->EnhanceCheckBox(ui->scrictModeRendering, emu_settings::StrictRenderingMode);
ui->scrictModeRendering->setToolTip(json_gpu_main["scrictModeRendering"].toString());
xemu_settings->EnhanceCheckBox(ui->disableVertexCache, emu_settings::DisableVertexCache);
ui->disableVertexCache->setToolTip(json_gpu_main["disableVertexCache"].toString());
// Graphics Adapter
QStringList D3D12Adapters = r_Creator.D3D12Adapters;
QStringList vulkanAdapters = r_Creator.vulkanAdapters;
@ -819,9 +825,6 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> xSettings, const
xemu_settings->EnhanceCheckBox(ui->glLegacyBuffers, emu_settings::LegacyBuffers);
ui->glLegacyBuffers->setToolTip(json_debug["glLegacyBuffers"].toString());
xemu_settings->EnhanceCheckBox(ui->scrictModeRendering, emu_settings::StrictRenderingMode);
ui->scrictModeRendering->setToolTip(json_debug["scrictModeRendering"].toString());
xemu_settings->EnhanceCheckBox(ui->forceHighpZ, emu_settings::ForceHighpZ);
ui->forceHighpZ->setToolTip(json_debug["forceHighpZ"].toString());

View file

@ -36,7 +36,7 @@
</sizepolicy>
</property>
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="coreTab">
<attribute name="title">
@ -469,6 +469,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="scrictModeRendering">
<property name="text">
<string>Strict Rendering Mode</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="vsync">
<property name="text">
@ -483,6 +490,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="disableVertexCache">
<property name="text">
<string>Disable Vertex Cache</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@ -1305,13 +1319,6 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="scrictModeRendering">
<property name="text">
<string>Strict Rendering Mode</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="logProg">
<property name="text">