diff --git a/rpcs3/Json/tooltips.json b/rpcs3/Json/tooltips.json index 71681551bf..c2f1d07ef2 100644 --- a/rpcs3/Json/tooltips.json +++ b/rpcs3/Json/tooltips.json @@ -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." } }, diff --git a/rpcs3/rpcs3qt/emu_settings.h b/rpcs3/rpcs3qt/emu_settings.h index 8758cfd762..239a530d80 100644 --- a/rpcs3/rpcs3qt/emu_settings.h +++ b/rpcs3/rpcs3qt/emu_settings.h @@ -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"}}, diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index 60eb473b16..b1dcde3d38 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -401,6 +401,12 @@ settings_dialog::settings_dialog(std::shared_ptr 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 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()); diff --git a/rpcs3/rpcs3qt/settings_dialog.ui b/rpcs3/rpcs3qt/settings_dialog.ui index b0182d33fc..3418cf6fa6 100644 --- a/rpcs3/rpcs3qt/settings_dialog.ui +++ b/rpcs3/rpcs3qt/settings_dialog.ui @@ -36,7 +36,7 @@ - 0 + 1 @@ -469,6 +469,13 @@ + + + + Strict Rendering Mode + + + @@ -483,6 +490,13 @@ + + + + Disable Vertex Cache + + + @@ -1305,13 +1319,6 @@ - - - - Strict Rendering Mode - - -