Compare commits
4 Commits
netgate1
...
pipelinede
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a20d3f6799 | ||
|
|
4edb70c8f0 | ||
|
|
9da38715fe | ||
|
|
7157d5167e |
@@ -25,7 +25,6 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
|
||||
RENDERER_ASYNCHRONOUS_SHADERS("use_asynchronous_shaders"),
|
||||
RENDERER_FAST_GPU("use_fast_gpu_time"),
|
||||
RENDERER_REACTIVE_FLUSHING("use_reactive_flushing"),
|
||||
RENDERER_EARLY_RELEASE_FENCES("early_release_fences"),
|
||||
SYNC_MEMORY_OPERATIONS("sync_memory_operations"),
|
||||
BUFFER_REORDER_DISABLE("disable_buffer_reorder"),
|
||||
RENDERER_DEBUG("debug"),
|
||||
|
||||
@@ -689,13 +689,6 @@ abstract class SettingsItem(
|
||||
descriptionId = R.string.renderer_reactive_flushing_description
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_EARLY_RELEASE_FENCES,
|
||||
titleId = R.string.renderer_early_release_fences,
|
||||
descriptionId = R.string.renderer_early_release_fences_description
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.SYNC_MEMORY_OPERATIONS,
|
||||
|
||||
@@ -460,7 +460,6 @@ class SettingsFragmentPresenter(
|
||||
add(IntSetting.RENDERER_SAMPLE_SHADING_FRACTION.key)
|
||||
|
||||
add(HeaderSetting(R.string.veil_renderer))
|
||||
add(BooleanSetting.RENDERER_EARLY_RELEASE_FENCES.key)
|
||||
add(IntSetting.DMA_ACCURACY.key)
|
||||
add(BooleanSetting.BUFFER_REORDER_DISABLE.key)
|
||||
add(BooleanSetting.RENDERER_FAST_GPU.key)
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">كثافة تمرير تظليل العينة. تؤدي القيم الأعلى إلى تحسين الجودة بشكل أكبر، ولكنها تقلل أيضًا من الأداء إلى حد كبير.</string>
|
||||
|
||||
<string name="veil_renderer">العارض</string>
|
||||
<string name="renderer_early_release_fences">إطلاق الأسوار مبكرًا</string>
|
||||
<string name="renderer_early_release_fences_description">يساعد في إصلاح مشكلة 0 إطار في الثانية في ألعاب مثل DKCR:HD وSubnautica Below Zero وOri 2، ولكن قد يتسبب في تعطيل التحميل أو الأداء في ألعاب Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">مزامنة عمليات الذاكرة</string>
|
||||
<string name="sync_memory_operations_description">يضمن اتساق البيانات بين عمليات الحوسبة والذاكرة. هذا الخيار قد يحل المشكلات في بعض الألعاب، ولكن قد يقلل الأداء في بعض الحالات. يبدو أن الألعاب التي تستخدم Unreal Engine 4 هي الأكثر تأثرًا.</string>
|
||||
<string name="buffer_reorder_disable">تعطيل إعادة ترتيب المخزن المؤقت</string>
|
||||
@@ -880,11 +878,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">لاشيء</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">عادي</string>
|
||||
<string name="renderer_accuracy_high">عالي</string>
|
||||
<string name="renderer_accuracy_extreme">أقصى</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">افتراضي</string>
|
||||
<string name="dma_accuracy_unsafe">غير آمن</string>
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">چڕی تێپەڕاندنی سێبەرکردنی نموونە. بەهای زیاتر کوالێتی باشتر دەکات بەڵام کارایی زیاتر کەم دەکاتەوە.</string>
|
||||
|
||||
<string name="veil_renderer">رێندرەر</string>
|
||||
<string name="renderer_early_release_fences">زێدەکردنی پەرستارەکان زووتر</string>
|
||||
<string name="renderer_early_release_fences_description">یارمەتی دەدات لە چارەسەری 0 FPS لە یارییەکانی وەک DKCR:HD، Subnautica Below Zero و Ori 2، بەڵام ڕەنگە بارکردن یان کارایی لە یارییەکانی Unreal Engine تێکبدات.</string>
|
||||
<string name="sync_memory_operations">هاوبەشیی کردارەکانی بیرگە</string>
|
||||
<string name="sync_memory_operations_description">دڵنیایی داتا لە نێوان کردارەکانی کۆمپیوتەر و بیرگە. ئەم هەڵبژاردە کێشەکان لە هەندێک یاری چارەسەر دەکات، بەڵام لە هەندێک حاڵەت کارایی کەم دەکاتەوە. وا دیارە یارییەکانی Unreal Engine 4 زۆرترین کاریگەریان هەیە.</string>
|
||||
<string name="buffer_reorder_disable">ڕێکخستنەوەی بافر ناچالاک بکە</string>
|
||||
@@ -625,9 +623,6 @@
|
||||
<string name="renderer_vulkan">ڤوڵکان</string>
|
||||
<string name="renderer_none">هیچ</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">ئاسایی</string>
|
||||
<string name="renderer_accuracy_high">بەرز</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">بنەڕەتی</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">Intenzita průchodu stínování vzorku. Vyšší hodnoty zlepšují kvalitu, ale také výrazněji snižují výkon.</string>
|
||||
|
||||
<string name="veil_renderer">Renderer</string>
|
||||
<string name="renderer_early_release_fences">Uvolnit ploty brzy</string>
|
||||
<string name="renderer_early_release_fences_description">Pomáhá opravit 0 FPS v hrách jako DKCR:HD, Subnautica Below Zero a Ori 2, ale může narušit načítání nebo výkon v hrách na Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Synchronizace paměťových operací</string>
|
||||
<string name="sync_memory_operations_description">Zajišťuje konzistenci dat mezi výpočetními a paměťovými operacemi. Tato volba by měla opravit problémy v některých hrách, ale může v některých případech snížit výkon. Nejvíce postižené se zdají být hry s Unreal Engine 4.</string>
|
||||
<string name="buffer_reorder_disable">Zakázat přeřazování vyrovnávací paměti</string>
|
||||
@@ -612,9 +610,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Žádné</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normální</string>
|
||||
<string name="renderer_accuracy_high">Vysoká</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Výchozí</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -84,8 +84,6 @@
|
||||
<string name="sample_shading_fraction_description">Die Intensität des Sample-Shading-Durchgangs. Höhere Werte verbessern die Qualität stärker, beeinträchtigen aber auch die Leistung stärker.</string>
|
||||
|
||||
<string name="veil_renderer">Renderer</string>
|
||||
<string name="renderer_early_release_fences">Zäune früher freigeben</string>
|
||||
<string name="renderer_early_release_fences_description">Behebt 0 FPS in Spielen wie DKCR:HD, Subnautica Below Zero und Ori 2, kann aber Ladezeiten oder Performance in Unreal Engine-Spielen beeinträchtigen.</string>
|
||||
<string name="sync_memory_operations">Speicheroperationen synchronisieren</string>
|
||||
<string name="sync_memory_operations_description">Stellt die Datenkonsistenz zwischen Compute- und Speicheroperationen sicher. Diese Option sollte Probleme in einigen Spielen beheben, kann aber in einigen Fällen die Leistung verringern. Spiele mit Unreal Engine 4 scheinen am stärksten betroffen zu sein.</string>
|
||||
<string name="buffer_reorder_disable">Puffer-Neuanordnung deaktivieren</string>
|
||||
@@ -790,9 +788,6 @@ Wirklich fortfahren?</string>
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Keiner</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">Hoch</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Standard</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">La intensidad del paso de sombreado de la muestra. Los valores más altos mejoran más la calidad, pero también reducen el rendimiento en mayor medida.</string>
|
||||
|
||||
<string name="veil_renderer">Renderizador</string>
|
||||
<string name="renderer_early_release_fences">Liberar las vallas antes</string>
|
||||
<string name="renderer_early_release_fences_description">Ayuda a arreglar 0 FPS en juegos como DKCR:HD, Subnautica Below Zero y Ori 2, pero puede romper la carga o el rendimiento en juegos de Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Sincronizar operaciones de memoria</string>
|
||||
<string name="sync_memory_operations_description">Garantiza la consistencia de los datos entre las operaciones de computación y memoria. Esta opción debería solucionar problemas en algunos juegos, pero también puede reducir el rendimiento en algunos casos. Los juegos de Unreal Engine 4 a menudo ven los cambios más significativos de los mismos.</string>
|
||||
<string name="buffer_reorder_disable">Desactivar reordenamiento de búfer</string>
|
||||
@@ -839,11 +837,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Ninguno</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">Alto</string>
|
||||
<string name="renderer_accuracy_extreme">Extremo</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Predeterminado</string>
|
||||
<string name="dma_accuracy_unsafe">Inseguro</string>
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
<string name="veil_misc">پردازنده و حافظه</string>
|
||||
<string name="eden_veil">پرده عدن</string>
|
||||
<string name="eden_veil_description">تنظیمات آزمایشی برای بهبود عملکرد و قابلیت. این تنظیمات ممکن است باعث نمایش صفحه سیاه یا سایر مشکلات بازی شود.</string>
|
||||
<string name="renderer_early_release_fences">رهاسازی حصارها زودتر</string>
|
||||
<string name="renderer_early_release_fences_description">به رفع مشکل 0 فریم بر ثانیه در بازیهایی مانند DKCR:HD، Subnautica Below Zero و Ori 2 کمک میکند، اما ممکن است بارگذاری یا عملکرد بازیهای Unreal Engine را مختل کند.</string>
|
||||
<string name="sync_memory_operations">همگامسازی عملیات حافظه</string>
|
||||
<string name="sync_memory_operations_description">اطمینان از سازگاری دادهها بین عملیات محاسباتی و حافظه. این گزینه ممکن است مشکلات برخی بازیها را رفع کند، اما در برخی موارد ممکن است عملکرد را کاهش دهد. به نظر میرسد بازیهای با Unreal Engine 4 بیشترین تأثیر را داشته باشند.</string>
|
||||
<string name="buffer_reorder_disable">غیرفعال کردن مرتبسازی مجدد بافر</string>
|
||||
@@ -760,11 +758,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">هیچ</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">معمولی</string>
|
||||
<string name="renderer_accuracy_high">زیاد</string>
|
||||
<string name="renderer_accuracy_extreme">افراطی (کند)</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">پیش فرض</string>
|
||||
<string name="dma_accuracy_unsafe">ناایمن (سریع)</string>
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">L\'intensité de la passe d\'ombrage d\'échantillon. Des valeurs plus élevées améliorent davantage la qualité mais réduisent aussi plus fortement les performances.</string>
|
||||
|
||||
<string name="veil_renderer">Rendu</string>
|
||||
<string name="renderer_early_release_fences">Libérer les barrières plus tôt</string>
|
||||
<string name="renderer_early_release_fences_description">Résout les problèmes de 0 FPS dans des jeux comme DKCR:HD, Subnautica Below Zero et Ori 2, mais peut perturber le chargement ou les performances des jeux Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Synchroniser les opérations mémoire</string>
|
||||
<string name="sync_memory_operations_description">Garantit la cohérence des données entre les opérations de calcul et de mémoire. Cette option devrait résoudre les problèmes dans certains jeux, mais peut réduire les performances dans certains cas. Les jeux utilisant Unreal Engine 4 semblent être les plus affectés.</string>
|
||||
<string name="buffer_reorder_disable">Désactiver le réordonnancement du tampon</string>
|
||||
@@ -852,11 +850,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Aucune</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">Haut</string>
|
||||
<string name="renderer_accuracy_extreme">Extrême</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Défaut</string>
|
||||
<string name="dma_accuracy_unsafe">Dangereux</string>
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">עוצמת מעבר ההצללה לדוגמה. ערכים גבוהים יותר משפרים את האיכות יותר אך גם מפחיתים את הביצועים במידה רבה יותר.</string>
|
||||
|
||||
<string name="veil_renderer">רנדרר</string>
|
||||
<string name="renderer_early_release_fences">שחרר גדרות מוקדם</string>
|
||||
<string name="renderer_early_release_fences_description">עוזר לתקן 0 FPS במשחקים כמו DKCR:HD, Subnautica Below Zero ו-Ori 2, אך עלול לפגוע בטעינה או בביצועים במשחקי Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">סנכרון פעולות זיכרון</string>
|
||||
<string name="sync_memory_operations_description">מבטיח עקביות נתונים בין פעולות חישוב וזיכרון. אפשרות זו אמורה לתקן בעיות במשחקים מסוימים, אך עלולה להפחית ביצועים במקרים מסוימים. נראה שהמשחקים עם Unreal Engine 4 הם המושפעים ביותר.</string>
|
||||
<string name="buffer_reorder_disable">השבת סידור מחדש של חוצץ</string>
|
||||
@@ -666,9 +664,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">אין שום דבר</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">רגיל</string>
|
||||
<string name="renderer_accuracy_high">גבוה</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">ברירת מחדל</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">A mintavételezés árnyékolási lépés intenzitása. A magasabb értékek jobb minőséget eredményeznek, de nagyobb mértékben csökkentik a teljesítményt.</string>
|
||||
|
||||
<string name="veil_renderer">Megjelenítő</string>
|
||||
<string name="renderer_early_release_fences">Korai kerítés-felszabadítás</string>
|
||||
<string name="renderer_early_release_fences_description">Segít javítani a 0 FPS-t olyan játékokban, mint a DKCR:HD, Subnautica Below Zero és az Ori 2, de ronthatja az Unreal Engine játékok betöltését vagy teljesítményét.</string>
|
||||
<string name="sync_memory_operations">Memória-műveletek szinkronizálása</string>
|
||||
<string name="sync_memory_operations_description">Biztosítja az adatok konzisztenciáját a számítási és memória-műveletek között. Ez az opciónak javítania kell néhány játékban előforduló problémát, de bizonyos esetekben csökkentheti a teljesítményt. Az Unreal Engine 4-et használó játékok látszanak a legérintettebbek.</string>
|
||||
<string name="buffer_reorder_disable">Puffer újrarendezés letiltása</string>
|
||||
@@ -761,9 +759,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Nincs</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normál</string>
|
||||
<string name="renderer_accuracy_high">Magas</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Alapértelmezett</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">Intensitas proses pencahayaan sampel. Nilai lebih tinggi meningkatkan kualitas lebih baik tetapi juga mengurangi performa lebih besar.</string>
|
||||
|
||||
<string name="veil_renderer">Renderer</string>
|
||||
<string name="renderer_early_release_fences">Lepas Pagar Lebih Awal</string>
|
||||
<string name="renderer_early_release_fences_description">Membantu memperbaiki 0 FPS di game seperti DKCR:HD, Subnautica Below Zero dan Ori 2, tapi mungkin mengganggu loading atau performa di game Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Sinkronisasi Operasi Memori</string>
|
||||
<string name="sync_memory_operations_description">Memastikan konsistensi data antara operasi komputasi dan memori. Opsi ini seharusnya memperbaiki masalah di beberapa game, tetapi mungkin mengurangi performa dalam beberapa kasus. Game dengan Unreal Engine 4 tampaknya yang paling terpengaruh.</string>
|
||||
<string name="buffer_reorder_disable">Nonaktifkan Penyusunan Ulang Buffer</string>
|
||||
@@ -811,9 +809,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Tak ada</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">Tinggi</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Bawaan</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">L\'intensità della passata di ombreggiatura campione. Valori più alti migliorano la qualità ma riducono maggiormente le prestazioni.</string>
|
||||
|
||||
<string name="veil_renderer">Renderer</string>
|
||||
<string name="renderer_early_release_fences">Rilascia le barriere prima</string>
|
||||
<string name="renderer_early_release_fences_description">Risolve problemi di 0 FPS in giochi come DKCR:HD, Subnautica Below Zero e Ori 2, ma potrebbe compromettere caricamento o prestazioni in giochi Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Sincronizza operazioni di memoria</string>
|
||||
<string name="sync_memory_operations_description">Garantisce la coerenza dei dati tra le operazioni di calcolo e memoria. Questa opzione dovrebbe risolvere problemi in alcuni giochi, ma potrebbe ridurre le prestazioni in alcuni casi. I giochi con Unreal Engine 4 sembrano essere i più colpiti.</string>
|
||||
<string name="buffer_reorder_disable">Disabilita riordino buffer</string>
|
||||
@@ -852,11 +850,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Nessuna</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normale</string>
|
||||
<string name="renderer_accuracy_high">Alta</string>
|
||||
<string name="renderer_accuracy_extreme">Estrema</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Predefinito</string>
|
||||
<string name="dma_accuracy_unsafe">Non sicura</string>
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">サンプルシェーディング処理の強度。高い値ほど品質は向上しますが、パフォーマンスも大きく低下します。</string>
|
||||
|
||||
<string name="veil_renderer">レンダラー</string>
|
||||
<string name="renderer_early_release_fences">フェンスを早期に解放</string>
|
||||
<string name="renderer_early_release_fences_description">DKCR:HD、Subnautica Below Zero、Ori 2などのゲームで0 FPSを修正しますが、Unreal Engineゲームの読み込みやパフォーマンスに影響する可能性があります。</string>
|
||||
<string name="sync_memory_operations">メモリ操作の同期</string>
|
||||
<string name="sync_memory_operations_description">計算処理とメモリ操作間のデータ一貫性を保証します。 このオプションは一部のゲームの問題を修正しますが、場合によってはパフォーマンスが低下する可能性があります。 Unreal Engine 4のゲームが最も影響を受けるようです。</string>
|
||||
<string name="buffer_reorder_disable">バッファの再並べ替えを無効化</string>
|
||||
@@ -666,9 +664,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">なし</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">標準</string>
|
||||
<string name="renderer_accuracy_high">高</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">デフォルト</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">샘플 쉐이딩 패스의 강도. 값이 높을수록 품질이 더 향상되지만 성능도 더 크게 저하됩니다.</string>
|
||||
|
||||
<string name="veil_renderer">렌더러</string>
|
||||
<string name="renderer_early_release_fences">펜스 조기 해제</string>
|
||||
<string name="renderer_early_release_fences_description">DKCR:HD, Subnautica Below Zero, Ori 2 등의 게임에서 0 FPS 현상을 해결하지만, Unreal Engine 게임의 로딩이나 성능에 문제를 일으킬 수 있습니다.</string>
|
||||
<string name="sync_memory_operations">메모리 작업 동기화</string>
|
||||
<string name="sync_memory_operations_description">컴퓨팅 및 메모리 작업 간 데이터 일관성을 보장합니다. 이 옵션은 일부 게임의 문제를 해결할 수 있지만 경우에 따라 성능이 저하될 수 있습니다. Unreal Engine 4 게임이 가장 큰 영향을 받는 것으로 보입니다.</string>
|
||||
<string name="buffer_reorder_disable">버퍼 재정렬 비활성화</string>
|
||||
@@ -720,9 +718,6 @@
|
||||
<string name="renderer_vulkan">Vulcan</string>
|
||||
<string name="renderer_none">없음</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">보통</string>
|
||||
<string name="renderer_accuracy_high">높음</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">기본값</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">Intensiteten til prøveskyggepasseringen. Høyere verdier forbedrer kvaliteten mer, men reduserer også ytelsen i større grad.</string>
|
||||
|
||||
<string name="veil_renderer">Renderer</string>
|
||||
<string name="renderer_early_release_fences">Frigjør gjerder tidlig</string>
|
||||
<string name="renderer_early_release_fences_description">Løser 0 FPS i spill som DKCR:HD, Subnautica Below Zero og Ori 2, men kan forårsake problemer med lasting eller ytelse i Unreal Engine-spill.</string>
|
||||
<string name="sync_memory_operations">Synkroniser minneoperasjoner</string>
|
||||
<string name="sync_memory_operations_description">Sikrer datakonsistens mellom beregnings- og minneoperasjoner. Dette alternativet bør fikse problemer i noen spill, men kan redusere ytelsen i noen tilfeller. Spill med Unreal Engine 4 ser ut til å være de mest berørte.</string>
|
||||
<string name="buffer_reorder_disable">Deaktiver bufferomorganisering</string>
|
||||
@@ -638,9 +636,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Ingen</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">Høy</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Standard</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">Intensywność przebiegu cieniowania próbki. Wyższe wartości poprawiają jakość, ale także w większym stopniu zmniejszają wydajność.</string>
|
||||
|
||||
<string name="veil_renderer">Renderer</string>
|
||||
<string name="renderer_early_release_fences">Wcześniejsze zwalnianie zabezpieczeń</string>
|
||||
<string name="renderer_early_release_fences_description">Pomaga naprawić 0 FPS w grach takich jak DKCR:HD, Subnautica Below Zero i Ori 2, ale może zaburzyć ładowanie lub wydajność w grach Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Synchronizuj operacje pamięci</string>
|
||||
<string name="sync_memory_operations_description">Zapewnia spójność danych między operacjami obliczeniowymi i pamięciowymi. Ta opcja powinna naprawiać problemy w niektórych grach, ale może zmniejszyć wydajność w niektórych przypadkach. Gry z Unreal Engine 4 wydają się być najbardziej dotknięte.</string>
|
||||
<string name="buffer_reorder_disable">Wyłącz przestawianie bufora</string>
|
||||
@@ -876,11 +874,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Żadny</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normalny</string>
|
||||
<string name="renderer_accuracy_high">Wysoki</string>
|
||||
<string name="renderer_accuracy_extreme">Ekstremalne</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">預設</string>
|
||||
<string name="dma_accuracy_unsafe">Niezalecane</string>
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">Fração de Sombreamento de Amostra: Define a intensidade do sample shading. Quanto maior, melhor a qualidade, mas maior o impacto no desempenho.</string>
|
||||
|
||||
<string name="veil_renderer">Renderizador</string>
|
||||
<string name="renderer_early_release_fences">Release Fences Early</string>
|
||||
<string name="renderer_early_release_fences_description">Liberar Cercas Antecipadamente: Ajuda a corrigir 0 FPS em jogos como DKCR:HD, Subnautica Below Zero e Ori 2, mas pode prejudicar o carregamento ou o desempenho em jogos feitos com Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Sincronizar Operações de Memória</string>
|
||||
<string name="sync_memory_operations_description">Garante a consistência de dados entre operações de computação e memória. Esta opção pode corrigir problemas em alguns jogos, mas também pode reduzir o desempenho, sendo os jogos da Unreal Engine 4 os mais afetados.</string>
|
||||
<string name="buffer_reorder_disable">Desativar Reordenação de Buffers</string>
|
||||
@@ -840,11 +838,6 @@ uma tentativa de mapeamento automático</string>
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Nenhum</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">Alta</string>
|
||||
<string name="renderer_accuracy_extreme">Extrema</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Padrão</string>
|
||||
<string name="dma_accuracy_unsafe">Insegura</string>
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">A intensidade da passagem de sombreamento de amostra. Valores mais elevados melhoram a qualidade, mas também reduzem o desempenho numa maior medida.</string>
|
||||
|
||||
<string name="veil_renderer">Renderizador</string>
|
||||
<string name="renderer_early_release_fences">Libertar barreiras antecipadamente</string>
|
||||
<string name="renderer_early_release_fences_description">Ajuda a corrigir 0 FPS em jogos como DKCR:HD, Subnautica Below Zero e Ori 2, mas pode afetar carregamento ou desempenho em jogos Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Sincronizar Operações de Memória</string>
|
||||
<string name="sync_memory_operations_description">Garante a consistência dos dados entre operações de computação e memória. Esta opção deve corrigir problemas em alguns jogos, mas pode reduzir o desempenho nalguns casos. Os jogos com Unreal Engine 4 parecem ser os mais afectados.</string>
|
||||
<string name="buffer_reorder_disable">Desativar reordenação de buffer</string>
|
||||
@@ -773,9 +771,6 @@ uma tentativa de mapeamento automático</string>
|
||||
<string name="renderer_vulkan">Vulcano</string>
|
||||
<string name="renderer_none">Nenhum</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">Alto</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Predefinido</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">Интенсивность прохода сэмплового затенения. Более высокие значения улучшают качество, но и сильнее снижают производительность.</string>
|
||||
|
||||
<string name="veil_renderer">Рендеринг</string>
|
||||
<string name="renderer_early_release_fences">Ранний релиз ограждений</string>
|
||||
<string name="renderer_early_release_fences_description">Помогает исправить 0 FPS в играх типа DKCR:HD, Subnautica Below Zero и Ori 2, но может нарушить загрузку или производительность в играх на Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Синхронизация операций с памятью</string>
|
||||
<string name="sync_memory_operations_description">Обеспечивает согласованность данных между вычислительными операциями и операциями с памятью. Эта опция должна исправлять проблемы в некоторых играх, но может снижать производительность в некоторых случаях. Наиболее сильно это затрагивает игры на Unreal Engine 4.</string>
|
||||
<string name="buffer_reorder_disable">Отключить переупорядочивание буфера</string>
|
||||
@@ -874,11 +872,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Никакой</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Нормальная</string>
|
||||
<string name="renderer_accuracy_high">Высокая</string>
|
||||
<string name="renderer_accuracy_extreme">Экстрим</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">По умолчанию</string>
|
||||
<string name="dma_accuracy_unsafe">Небезопасно</string>
|
||||
|
||||
@@ -75,8 +75,6 @@
|
||||
<string name="sample_shading_fraction_description">Интензитет проласка сенчења узорка. Веће вредности побољшавају квалитет више, али такође више смањују перформансе.</string>
|
||||
|
||||
<string name="veil_renderer">Рендерер</string>
|
||||
<string name="renderer_early_release_fences">Ranije oslobađanje ograda</string>
|
||||
<string name="renderer_early_release_fences_description">Pomaže u popravci 0 FPS u igrama kao što su DKCR:HD, Subnautica Below Zero i Ori 2, ali može oštetiti učitavanje ili performanse u Unreal Engine igrama.</string>
|
||||
<string name="sync_memory_operations">Синхронизација меморијских операција</string>
|
||||
<string name="sync_memory_operations_description">Осигурава конзистентност података између рачунских и меморијских операција. Ова опција би требало да поправи проблеме у неким играма, али може смањити перформансе у неким случајевима. Чини се да су игре са Unreal Engine 4 највише погођене.</string>
|
||||
<string name="buffer_reorder_disable">Онемогући преуређивање бафера</string>
|
||||
@@ -771,9 +769,6 @@
|
||||
<string name="renderer_vulkan">Вулкан</string>
|
||||
<string name="renderer_none">Ниједан</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Нормалан</string>
|
||||
<string name="renderer_accuracy_high">Високо</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Подразумевано</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">Інтенсивність проходу затінення зразка. Вищі значення покращують якість, але й сильніше знижують продуктивність.</string>
|
||||
|
||||
<string name="veil_renderer">Візуалізатор</string>
|
||||
<string name="renderer_early_release_fences">Release fences early</string>
|
||||
<string name="renderer_early_release_fences_description">Це налаштування може бути необхідним для виправлення помилок 0FPS у деяких іграх (зокрема DKCR:HD, Subnautica та Ori 2). Водночас інші ігри, особливо створені на рушії Unreal Engine, можуть працювати некоректно або взагалі не запускатися.</string>
|
||||
<string name="sync_memory_operations">Синхронізація операцій з пам\'яттю</string>
|
||||
<string name="sync_memory_operations_description">Забезпечує узгодженість даних між обчислювальними операціями та операціями з пам\'яттю. Ця опція має виправляти проблеми в деяких іграх, але може знижувати продуктивність у деяких випадках. Ігри на Unreal Engine 4, здається, найбільш постраждалі.</string>
|
||||
<string name="buffer_reorder_disable">Вимкнути переупорядкування буфера</string>
|
||||
@@ -876,11 +874,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Вимкнено</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Нормальна</string>
|
||||
<string name="renderer_accuracy_high">Висока</string>
|
||||
<string name="renderer_accuracy_extreme">Екстремально</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Типово</string>
|
||||
<string name="dma_accuracy_unsafe">Небезпечно</string>
|
||||
|
||||
@@ -76,8 +76,6 @@
|
||||
<string name="sample_shading_fraction_description">Cường độ của bước tô bóng mẫu. Giá trị cao hơn cải thiện chất lượng tốt hơn nhưng cũng giảm hiệu suất nhiều hơn.</string>
|
||||
|
||||
<string name="veil_renderer">Trình kết xuất</string>
|
||||
<string name="renderer_early_release_fences">Giải phóng rào chắn sớm</string>
|
||||
<string name="renderer_early_release_fences_description">Giúp sửa lỗi 0 FPS trong các trò chơi như DKCR:HD, Subnautica Below Zero và Ori 2, nhưng có thể ảnh hưởng đến tải hoặc hiệu suất trong trò chơi Unreal Engine.</string>
|
||||
<string name="sync_memory_operations">Đồng bộ hoá thao tác bộ nhớ</string>
|
||||
<string name="sync_memory_operations_description">Đảm bảo tính nhất quán dữ liệu giữa các thao tác tính toán và bộ nhớ. Tùy chọn này nên khắc phục sự cố trong một số trò chơi, nhưng có thể làm giảm hiệu suất trong một số trường hợp. Các trò chơi với Unreal Engine 4 có vẻ bị ảnh hưởng nhiều nhất.</string>
|
||||
<string name="buffer_reorder_disable">Tắt sắp xếp lại bộ đệm</string>
|
||||
@@ -638,9 +636,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">Trống</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Trung bình</string>
|
||||
<string name="renderer_accuracy_high">Khỏe</string>
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Mặc định</string>
|
||||
<!-- ASTC Decoding Method -->
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">采样着色处理的强度。值越高,质量改善越多,但性能降低也越明显。</string>
|
||||
|
||||
<string name="veil_renderer">渲染器</string>
|
||||
<string name="renderer_early_release_fences">提前释放围栏</string>
|
||||
<string name="renderer_early_release_fences_description">可修复《大金刚国度:热带寒流》《深海迷航:零度之下》和《奥日2》等游戏中的0 FPS问题,但可能影响Unreal Engine游戏的加载或性能。</string>
|
||||
<string name="sync_memory_operations">同步内存操作</string>
|
||||
<string name="sync_memory_operations_description">确保计算和内存操作之间的数据一致性。 此选项应能修复某些游戏中的问题,但在某些情况下可能会降低性能。 使用Unreal Engine 4的游戏似乎受影响最大。</string>
|
||||
<string name="buffer_reorder_disable">禁用缓冲重排序</string>
|
||||
@@ -848,11 +846,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">无</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">正常</string>
|
||||
<string name="renderer_accuracy_high">高</string>
|
||||
<string name="renderer_accuracy_extreme">极致</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">默认</string>
|
||||
<string name="dma_accuracy_unsafe">不安全</string>
|
||||
|
||||
@@ -98,8 +98,6 @@
|
||||
<string name="sample_shading_fraction_description">採樣著色處理的強度。數值越高,品質改善越多,但效能降低也越明顯。</string>
|
||||
|
||||
<string name="veil_renderer">渲染器</string>
|
||||
<string name="renderer_early_release_fences">提前釋放圍欄</string>
|
||||
<string name="renderer_early_release_fences_description">可修復《咚奇剛歸來HD》、《深海迷航:冰點之下》和《聖靈之光2》等遊戲中的0 FPS問題,但可能影響Unreal Engine遊戲的載入或效能。</string>
|
||||
<string name="sync_memory_operations">同步記憶體操作</string>
|
||||
<string name="sync_memory_operations_description">確保計算和記憶體操作之間的資料一致性。 此選項應能修復某些遊戲中的問題,但在某些情況下可能會降低效能。 使用Unreal Engine 4的遊戲似乎受影響最大。</string>
|
||||
<string name="buffer_reorder_disable">停用緩衝區重新排序</string>
|
||||
@@ -848,11 +846,6 @@
|
||||
<string name="renderer_vulkan">Vulkan</string>
|
||||
<string name="renderer_none">無</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">標準</string>
|
||||
<string name="renderer_accuracy_high">高</string>
|
||||
<string name="renderer_accuracy_extreme">極高</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">預設</string>
|
||||
<string name="dma_accuracy_unsafe">不安全</string>
|
||||
|
||||
@@ -98,9 +98,9 @@
|
||||
</integer-array>
|
||||
|
||||
<string-array name="rendererAccuracyNames">
|
||||
<item>@string/renderer_accuracy_normal</item>
|
||||
<item>@string/renderer_accuracy_low</item>
|
||||
<item>@string/renderer_accuracy_medium</item>
|
||||
<item>@string/renderer_accuracy_high</item>
|
||||
<item>@string/renderer_accuracy_extreme</item>
|
||||
</string-array>
|
||||
|
||||
<integer-array name="rendererAccuracyValues">
|
||||
|
||||
@@ -105,8 +105,6 @@
|
||||
<string name="sample_shading_fraction_description">The intensity of the sample shading pass. Higher values improve quality more but also reduce performance to a greater extent.</string>
|
||||
|
||||
<string name="veil_renderer">Renderer</string>
|
||||
<string name="renderer_early_release_fences">Release Fences Early</string>
|
||||
<string name="renderer_early_release_fences_description">Helps fix 0 FPS in games like DKCR:HD, Subnautica Below Zero and Ori 2, but may break loading or performance in Unreal Engine games.</string>
|
||||
<string name="sync_memory_operations">Sync Memory Operations</string>
|
||||
<string name="sync_memory_operations_description">Ensures data consistency between compute and memory operations. This option should fix issues in some games, but may also reduce performance in some cases. Unreal Engine 4 games often see the most significant changes thereof.</string>
|
||||
<string name="buffer_reorder_disable">Disable Buffer Reorder</string>
|
||||
@@ -924,9 +922,9 @@
|
||||
<string name="renderer_none">None</string>
|
||||
|
||||
<!-- Renderer Accuracy -->
|
||||
<string name="renderer_accuracy_normal">Normal</string>
|
||||
<string name="renderer_accuracy_high">High</string>
|
||||
<string name="renderer_accuracy_extreme">Extreme</string>
|
||||
<string name="renderer_accuracy_low">Performance</string>
|
||||
<string name="renderer_accuracy_medium">Balanced</string>
|
||||
<string name="renderer_accuracy_high">Accurate</string>
|
||||
|
||||
<!-- DMA Accuracy -->
|
||||
<string name="dma_accuracy_default">Default</string>
|
||||
|
||||
@@ -149,13 +149,16 @@ void UpdateGPUAccuracy() {
|
||||
values.current_gpu_accuracy = values.gpu_accuracy.GetValue();
|
||||
}
|
||||
|
||||
bool IsGPULevelExtreme() {
|
||||
return values.current_gpu_accuracy == GpuAccuracy::Extreme;
|
||||
bool IsGPULevelLow() {
|
||||
return values.current_gpu_accuracy == GpuAccuracy::Low;
|
||||
}
|
||||
|
||||
bool IsGPULevelMedium() {
|
||||
return values.current_gpu_accuracy == GpuAccuracy::Medium;
|
||||
}
|
||||
|
||||
bool IsGPULevelHigh() {
|
||||
return values.current_gpu_accuracy == GpuAccuracy::Extreme ||
|
||||
values.current_gpu_accuracy == GpuAccuracy::High;
|
||||
return values.current_gpu_accuracy == GpuAccuracy::High;
|
||||
}
|
||||
|
||||
bool IsDMALevelDefault() {
|
||||
|
||||
@@ -414,9 +414,9 @@ struct Values {
|
||||
|
||||
SwitchableSetting<GpuAccuracy, true> gpu_accuracy{linkage,
|
||||
#ifdef ANDROID
|
||||
GpuAccuracy::Normal,
|
||||
GpuAccuracy::Low,
|
||||
#else
|
||||
GpuAccuracy::High,
|
||||
GpuAccuracy::Medium,
|
||||
#endif
|
||||
"gpu_accuracy",
|
||||
Category::RendererAdvanced,
|
||||
@@ -424,7 +424,7 @@ struct Values {
|
||||
true,
|
||||
true};
|
||||
|
||||
GpuAccuracy current_gpu_accuracy{GpuAccuracy::High};
|
||||
GpuAccuracy current_gpu_accuracy{GpuAccuracy::Medium};
|
||||
|
||||
SwitchableSetting<DmaAccuracy, true> dma_accuracy{linkage,
|
||||
DmaAccuracy::Default,
|
||||
@@ -457,15 +457,6 @@ struct Values {
|
||||
Specialization::Default,
|
||||
true,
|
||||
true};
|
||||
#ifdef ANDROID
|
||||
SwitchableSetting<bool> early_release_fences{linkage,
|
||||
false,
|
||||
"early_release_fences",
|
||||
Category::RendererAdvanced,
|
||||
Specialization::Default,
|
||||
true,
|
||||
true};
|
||||
#endif
|
||||
SwitchableSetting<bool> sync_memory_operations{linkage,
|
||||
false,
|
||||
"sync_memory_operations",
|
||||
@@ -771,7 +762,8 @@ extern Values values;
|
||||
bool getDebugKnobAt(u8 i);
|
||||
|
||||
void UpdateGPUAccuracy();
|
||||
bool IsGPULevelExtreme();
|
||||
bool IsGPULevelLow();
|
||||
bool IsGPULevelMedium();
|
||||
bool IsGPULevelHigh();
|
||||
|
||||
bool IsDMALevelDefault();
|
||||
|
||||
@@ -133,7 +133,7 @@ ENUM(VSyncMode, Immediate, Mailbox, Fifo, FifoRelaxed);
|
||||
ENUM(VramUsageMode, Conservative, Aggressive);
|
||||
ENUM(RendererBackend, OpenGL, Vulkan, Null);
|
||||
ENUM(ShaderBackend, Glsl, Glasm, SpirV);
|
||||
ENUM(GpuAccuracy, Normal, High, Extreme);
|
||||
ENUM(GpuAccuracy, Low, Medium, High);
|
||||
ENUM(DmaAccuracy, Default, Unsafe, Safe);
|
||||
ENUM(CpuBackend, Dynarmic, Nce);
|
||||
ENUM(CpuAccuracy, Auto, Accurate, Unsafe, Paranoid, Debugging);
|
||||
|
||||
@@ -277,9 +277,8 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QObject* parent)
|
||||
INSERT(Settings,
|
||||
gpu_accuracy,
|
||||
tr("GPU Accuracy:"),
|
||||
tr("Controls the GPU emulation accuracy.\nMost games render fine with Normal, but High is still "
|
||||
"required for some.\nParticles tend to only render correctly with High "
|
||||
"accuracy.\nExtreme should only be used as a last resort."));
|
||||
tr("Controls the GPU emulation accuracy.\nMost games render fine with Performance or Balanced modes, but Accurate is still "
|
||||
"required for some.\nParticles tend to only render correctly with Accurate mode."));
|
||||
INSERT(Settings,
|
||||
dma_accuracy,
|
||||
tr("DMA Accuracy:"),
|
||||
@@ -507,9 +506,9 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QObject* parent)
|
||||
}});
|
||||
translations->insert({Settings::EnumMetadata<Settings::GpuAccuracy>::Index(),
|
||||
{
|
||||
PAIR(GpuAccuracy, Normal, tr("Normal")),
|
||||
PAIR(GpuAccuracy, High, tr("High")),
|
||||
PAIR(GpuAccuracy, Extreme, tr("Extreme")),
|
||||
PAIR(GpuAccuracy, Low, tr("Performance")),
|
||||
PAIR(GpuAccuracy, Medium, tr("Balanced")),
|
||||
PAIR(GpuAccuracy, High, tr("Accurate")),
|
||||
}});
|
||||
translations->insert({Settings::EnumMetadata<Settings::DmaAccuracy>::Index(),
|
||||
{
|
||||
|
||||
@@ -61,9 +61,9 @@ static const std::map<Settings::ConsoleMode, QString> use_docked_mode_texts_map
|
||||
};
|
||||
|
||||
static const std::map<Settings::GpuAccuracy, QString> gpu_accuracy_texts_map = {
|
||||
{Settings::GpuAccuracy::Normal, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Normal"))},
|
||||
{Settings::GpuAccuracy::High, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "High"))},
|
||||
{Settings::GpuAccuracy::Extreme, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Extreme"))},
|
||||
{Settings::GpuAccuracy::Low, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Performance"))},
|
||||
{Settings::GpuAccuracy::Medium, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Balanced"))},
|
||||
{Settings::GpuAccuracy::High, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Accurate"))},
|
||||
};
|
||||
|
||||
static const std::map<Settings::RendererBackend, QString> renderer_backend_texts_map = {
|
||||
|
||||
@@ -103,7 +103,7 @@ bool DmaPusher::Step() {
|
||||
ProcessCommands(headers);
|
||||
};
|
||||
|
||||
const bool use_safe = Settings::IsDMALevelDefault() ? Settings::IsGPULevelHigh() : Settings::IsDMALevelSafe();
|
||||
const bool use_safe = Settings::IsDMALevelDefault() ? (Settings::IsGPULevelMedium() || Settings::IsGPULevelHigh()) : Settings::IsDMALevelSafe();
|
||||
|
||||
if (use_safe) {
|
||||
safe_process();
|
||||
|
||||
@@ -72,66 +72,33 @@ public:
|
||||
}
|
||||
|
||||
void SignalFence(std::function<void()>&& func) {
|
||||
const bool delay_fence = Settings::IsGPULevelHigh();
|
||||
|
||||
#ifdef __ANDROID__
|
||||
const bool use_optimized = Settings::values.early_release_fences.GetValue();
|
||||
#else
|
||||
constexpr bool use_optimized = false;
|
||||
#endif
|
||||
|
||||
if constexpr (!can_async_check) {
|
||||
TryReleasePendingFences<false>();
|
||||
}
|
||||
const bool should_flush = ShouldFlush();
|
||||
CommitAsyncFlushes();
|
||||
TFence new_fence = CreateFence(!should_flush);
|
||||
|
||||
if (use_optimized) {
|
||||
if (!delay_fence) {
|
||||
TryReleasePendingFences<false>();
|
||||
}
|
||||
|
||||
if (delay_fence) {
|
||||
guard.lock();
|
||||
uncommitted_operations.emplace_back(std::move(func));
|
||||
}
|
||||
} else {
|
||||
if constexpr (!can_async_check) {
|
||||
TryReleasePendingFences<false>();
|
||||
}
|
||||
|
||||
if constexpr (can_async_check) {
|
||||
guard.lock();
|
||||
}
|
||||
|
||||
if (delay_fence) {
|
||||
uncommitted_operations.emplace_back(std::move(func));
|
||||
}
|
||||
if constexpr (can_async_check) {
|
||||
guard.lock();
|
||||
}
|
||||
|
||||
pending_operations.emplace_back(std::move(uncommitted_operations));
|
||||
QueueFence(new_fence);
|
||||
|
||||
if (!delay_fence) {
|
||||
if (Settings::IsGPULevelLow() || (Settings::IsGPULevelMedium() && !should_flush)) {
|
||||
func();
|
||||
} else {
|
||||
uncommitted_operations.emplace_back(std::move(func));
|
||||
}
|
||||
|
||||
if (!uncommitted_operations.empty()) {
|
||||
pending_operations.emplace_back(std::move(uncommitted_operations));
|
||||
uncommitted_operations.clear();
|
||||
}
|
||||
QueueFence(new_fence);
|
||||
fences.push(std::move(new_fence));
|
||||
|
||||
if (should_flush) {
|
||||
rasterizer.FlushCommands();
|
||||
}
|
||||
|
||||
if (use_optimized) {
|
||||
if (delay_fence) {
|
||||
guard.unlock();
|
||||
cv.notify_all();
|
||||
}
|
||||
} else {
|
||||
if constexpr (can_async_check) {
|
||||
guard.unlock();
|
||||
cv.notify_all();
|
||||
}
|
||||
if constexpr (can_async_check) {
|
||||
guard.unlock();
|
||||
cv.notify_all();
|
||||
}
|
||||
|
||||
rasterizer.InvalidateGPUCache();
|
||||
}
|
||||
|
||||
|
||||
@@ -79,15 +79,8 @@ void ThreadManager::FlushRegion(DAddr addr, u64 size) {
|
||||
if (!is_async) {
|
||||
// Always flush with synchronous GPU mode
|
||||
PushCommand(FlushRegionCommand(addr, size));
|
||||
return;
|
||||
}
|
||||
if (!Settings::IsGPULevelExtreme()) {
|
||||
return;
|
||||
}
|
||||
auto& gpu = system.GPU();
|
||||
u64 fence = gpu.RequestFlush(addr, size);
|
||||
TickGPU();
|
||||
gpu.WaitForSyncOperation(fence);
|
||||
return;
|
||||
}
|
||||
|
||||
void ThreadManager::TickGPU() {
|
||||
|
||||
@@ -629,9 +629,6 @@ void RasterizerOpenGL::ReleaseFences(bool force) {
|
||||
|
||||
void RasterizerOpenGL::FlushAndInvalidateRegion(DAddr addr, u64 size,
|
||||
VideoCommon::CacheType which) {
|
||||
if (Settings::IsGPULevelExtreme()) {
|
||||
FlushRegion(addr, size, which);
|
||||
}
|
||||
InvalidateRegion(addr, size, which);
|
||||
}
|
||||
|
||||
|
||||
@@ -248,10 +248,12 @@ GraphicsPipeline::GraphicsPipeline(
|
||||
GuestDescriptorQueue& guest_descriptor_queue_, Common::ThreadWorker* worker_thread,
|
||||
PipelineStatistics* pipeline_statistics, RenderPassCache& render_pass_cache,
|
||||
const GraphicsPipelineCacheKey& key_, std::array<vk::ShaderModule, NUM_STAGES> stages,
|
||||
const std::array<const Shader::Info*, NUM_STAGES>& infos)
|
||||
: key{key_}, device{device_}, texture_cache{texture_cache_}, buffer_cache{buffer_cache_},
|
||||
pipeline_cache(pipeline_cache_), scheduler{scheduler_},
|
||||
guest_descriptor_queue{guest_descriptor_queue_}, spv_modules{std::move(stages)} {
|
||||
const std::array<const Shader::Info*, NUM_STAGES>& infos,
|
||||
GraphicsPipeline* base_pipeline_)
|
||||
: key{key_}, base_pipeline{base_pipeline_}, allow_derivatives{base_pipeline_ == nullptr},
|
||||
device{device_}, texture_cache{texture_cache_}, buffer_cache{buffer_cache_},
|
||||
pipeline_cache(pipeline_cache_), scheduler{scheduler_},
|
||||
guest_descriptor_queue{guest_descriptor_queue_}, spv_modules{std::move(stages)} {
|
||||
if (shader_notify) {
|
||||
shader_notify->MarkShaderBuilding();
|
||||
}
|
||||
@@ -935,6 +937,18 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
|
||||
if (device.IsKhrPipelineExecutablePropertiesEnabled() && Settings::values.renderer_debug.GetValue()) {
|
||||
flags |= VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR;
|
||||
}
|
||||
VkPipeline base_handle = VK_NULL_HANDLE;
|
||||
|
||||
// First pipeline in a "cluster" allows derivatives
|
||||
if (allow_derivatives) {
|
||||
flags |= VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT;
|
||||
}
|
||||
|
||||
// Children mark themselves as derivatives when base is already built
|
||||
if (base_pipeline != nullptr && base_pipeline->IsBuilt()) {
|
||||
flags |= VK_PIPELINE_CREATE_DERIVATIVE_BIT;
|
||||
base_handle = *base_pipeline->pipeline;
|
||||
}
|
||||
|
||||
pipeline = device.GetLogical().CreateGraphicsPipeline(
|
||||
{
|
||||
@@ -955,8 +969,8 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
|
||||
.layout = *pipeline_layout,
|
||||
.renderPass = render_pass,
|
||||
.subpass = 0,
|
||||
.basePipelineHandle = nullptr,
|
||||
.basePipelineIndex = 0,
|
||||
.basePipelineHandle = base_handle,
|
||||
.basePipelineIndex = -1,
|
||||
},
|
||||
*pipeline_cache);
|
||||
}
|
||||
|
||||
@@ -79,9 +79,14 @@ public:
|
||||
GuestDescriptorQueue& guest_descriptor_queue, Common::ThreadWorker* worker_thread,
|
||||
PipelineStatistics* pipeline_statistics, RenderPassCache& render_pass_cache,
|
||||
const GraphicsPipelineCacheKey& key, std::array<vk::ShaderModule, NUM_STAGES> stages,
|
||||
const std::array<const Shader::Info*, NUM_STAGES>& infos);
|
||||
const std::array<const Shader::Info*, NUM_STAGES>& infos,
|
||||
GraphicsPipeline* base_pipeline = nullptr);
|
||||
|
||||
|
||||
bool HasDynamicVertexInput() const noexcept { return key.state.dynamic_vertex_input; }
|
||||
[[nodiscard]] const GraphicsPipelineCacheKey& Key() const noexcept {
|
||||
return key;
|
||||
}
|
||||
GraphicsPipeline& operator=(GraphicsPipeline&&) noexcept = delete;
|
||||
GraphicsPipeline(GraphicsPipeline&&) noexcept = delete;
|
||||
|
||||
@@ -129,6 +134,8 @@ private:
|
||||
void Validate();
|
||||
|
||||
const GraphicsPipelineCacheKey key;
|
||||
GraphicsPipeline* base_pipeline = nullptr; // non-owning
|
||||
bool allow_derivatives = false;
|
||||
Tegra::Engines::Maxwell3D* maxwell3d;
|
||||
Tegra::MemoryManager* gpu_memory;
|
||||
const Device& device;
|
||||
|
||||
@@ -80,7 +80,9 @@ void MasterSemaphore::Wait(u64 tick) {
|
||||
if (!semaphore) {
|
||||
// If we don't support timeline semaphores, wait for the value normally
|
||||
std::unique_lock lk{free_mutex};
|
||||
free_cv.wait(lk, [&] { return gpu_tick.load(std::memory_order_relaxed) >= tick; });
|
||||
free_cv.wait(lk, [&] {
|
||||
return gpu_tick.load(std::memory_order_acquire) >= tick;
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -216,15 +218,32 @@ void MasterSemaphore::WaitThread(std::stop_token token) {
|
||||
wait_queue.pop();
|
||||
}
|
||||
|
||||
#ifdef ANDROID
|
||||
VkResult status;
|
||||
do {
|
||||
status = fence.GetStatus();
|
||||
if (status == VK_NOT_READY) {
|
||||
std::this_thread::sleep_for(std::chrono::microseconds(100));
|
||||
}
|
||||
} while (status == VK_NOT_READY);
|
||||
|
||||
if (status == VK_SUCCESS) {
|
||||
fence.Reset();
|
||||
} else {
|
||||
vk::Check(status);
|
||||
continue;
|
||||
}
|
||||
#else
|
||||
fence.Wait();
|
||||
fence.Reset();
|
||||
#endif
|
||||
|
||||
{
|
||||
std::scoped_lock lock{free_mutex};
|
||||
free_queue.push_front(std::move(fence));
|
||||
gpu_tick.store(host_tick);
|
||||
gpu_tick.store(host_tick, std::memory_order_release);
|
||||
}
|
||||
free_cv.notify_one();
|
||||
free_cv.notify_all();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -575,8 +575,18 @@ GraphicsPipeline* PipelineCache::CurrentGraphicsPipelineSlowPath() {
|
||||
const auto [pair, is_new]{graphics_cache.try_emplace(graphics_key)};
|
||||
auto& pipeline{pair->second};
|
||||
if (is_new) {
|
||||
pipeline = CreateGraphicsPipeline();
|
||||
GraphicsPipeline* base = nullptr;
|
||||
|
||||
// Use the current pipeline as a base if shaders match
|
||||
if (current_pipeline) {
|
||||
const auto& base_key = current_pipeline->Key();
|
||||
if (base_key.unique_hashes == graphics_key.unique_hashes) {
|
||||
base = current_pipeline;
|
||||
}
|
||||
}
|
||||
pipeline = CreateGraphicsPipeline(base);
|
||||
}
|
||||
|
||||
if (!pipeline) {
|
||||
return nullptr;
|
||||
}
|
||||
@@ -607,7 +617,7 @@ GraphicsPipeline* PipelineCache::BuiltPipeline(GraphicsPipeline* pipeline) const
|
||||
std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline(
|
||||
ShaderPools& pools, const GraphicsPipelineCacheKey& key,
|
||||
std::span<Shader::Environment* const> envs, PipelineStatistics* statistics,
|
||||
bool build_in_parallel) try {
|
||||
bool build_in_parallel, GraphicsPipeline* base_pipeline) try {
|
||||
auto hash = key.Hash();
|
||||
LOG_INFO(Render_Vulkan, "0x{:016x}", hash);
|
||||
size_t env_index{0};
|
||||
@@ -686,7 +696,7 @@ std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline(
|
||||
return std::make_unique<GraphicsPipeline>(
|
||||
scheduler, buffer_cache, texture_cache, vulkan_pipeline_cache, &shader_notify, device,
|
||||
descriptor_pool, guest_descriptor_queue, thread_worker, statistics, render_pass_cache, key,
|
||||
std::move(modules), infos);
|
||||
std::move(modules), infos, base_pipeline);
|
||||
|
||||
} catch (const Shader::Exception& exception) {
|
||||
auto hash = key.Hash();
|
||||
@@ -707,16 +717,23 @@ std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline(
|
||||
}
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline() {
|
||||
// Preserve old behaviour, no base pipeline
|
||||
return CreateGraphicsPipeline(nullptr);
|
||||
}
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline(
|
||||
GraphicsPipeline* base_pipeline) {
|
||||
GraphicsEnvironments environments;
|
||||
GetGraphicsEnvironments(environments, graphics_key.unique_hashes);
|
||||
|
||||
main_pools.ReleaseContents();
|
||||
auto pipeline{
|
||||
CreateGraphicsPipeline(main_pools, graphics_key, environments.Span(), nullptr, true)};
|
||||
auto pipeline{CreateGraphicsPipeline(main_pools, graphics_key, environments.Span(),
|
||||
nullptr, true, base_pipeline)};
|
||||
if (!pipeline || pipeline_cache_filename.empty()) {
|
||||
return pipeline;
|
||||
}
|
||||
serialization_thread.QueueWork([this, key = graphics_key, envs = std::move(environments.envs)] {
|
||||
serialization_thread.QueueWork(
|
||||
[this, key = graphics_key, envs = std::move(environments.envs)] {
|
||||
boost::container::static_vector<const GenericEnvironment*, Maxwell::MaxShaderProgram>
|
||||
env_ptrs;
|
||||
for (size_t index = 0; index < Maxwell::MaxShaderProgram; ++index) {
|
||||
|
||||
@@ -119,11 +119,12 @@ private:
|
||||
[[nodiscard]] GraphicsPipeline* BuiltPipeline(GraphicsPipeline* pipeline) const noexcept;
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> CreateGraphicsPipeline();
|
||||
std::unique_ptr<GraphicsPipeline> CreateGraphicsPipeline(GraphicsPipeline* base_pipeline);
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> CreateGraphicsPipeline(
|
||||
ShaderPools& pools, const GraphicsPipelineCacheKey& key,
|
||||
std::span<Shader::Environment* const> envs, PipelineStatistics* statistics,
|
||||
bool build_in_parallel);
|
||||
bool build_in_parallel, GraphicsPipeline* base_pipeline = nullptr);
|
||||
|
||||
std::unique_ptr<ComputePipeline> CreateComputePipeline(const ComputePipelineCacheKey& key,
|
||||
const ShaderInfo* shader);
|
||||
|
||||
@@ -1415,14 +1415,10 @@ bool QueryCacheRuntime::HostConditionalRenderingCompareValues(VideoCommon::Looku
|
||||
return false;
|
||||
}
|
||||
|
||||
const bool is_gpu_high = Settings::IsGPULevelHigh();
|
||||
if (!is_gpu_high && impl->device.GetDriverID() == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS) {
|
||||
return true;
|
||||
}
|
||||
|
||||
auto driver_id = impl->device.GetDriverID();
|
||||
if (driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY ||
|
||||
driver_id == VK_DRIVER_ID_ARM_PROPRIETARY || driver_id == VK_DRIVER_ID_MESA_TURNIP) {
|
||||
const bool is_gpu_high = Settings::IsGPULevelHigh();
|
||||
|
||||
if ((!is_gpu_high && driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS) || driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY || driver_id == VK_DRIVER_ID_ARM_PROPRIETARY || driver_id == VK_DRIVER_ID_MESA_TURNIP) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1443,7 +1439,6 @@ bool QueryCacheRuntime::HostConditionalRenderingCompareValues(VideoCommon::Looku
|
||||
}
|
||||
|
||||
if (!is_in_bc[0] && !is_in_bc[1]) {
|
||||
// Both queries are in query cache, it's best to just flush.
|
||||
return true;
|
||||
}
|
||||
HostConditionalRenderingCompareBCImpl(object_1.address, equal_check);
|
||||
|
||||
@@ -730,9 +730,6 @@ void RasterizerVulkan::ReleaseFences(bool force) {
|
||||
|
||||
void RasterizerVulkan::FlushAndInvalidateRegion(DAddr addr, u64 size,
|
||||
VideoCommon::CacheType which) {
|
||||
if (Settings::IsGPULevelExtreme()) {
|
||||
FlushRegion(addr, size, which);
|
||||
}
|
||||
InvalidateRegion(addr, size, which);
|
||||
}
|
||||
|
||||
|
||||
@@ -1269,6 +1269,17 @@ void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, Im
|
||||
case PixelFormat::R32G32_FLOAT:
|
||||
case PixelFormat::R32G32_SINT:
|
||||
case PixelFormat::R32_FLOAT:
|
||||
if (src_view.format == PixelFormat::D32_FLOAT) {
|
||||
const Region2D region{
|
||||
.start = {0, 0},
|
||||
.end = {static_cast<s32>(dst->RenderArea().width),
|
||||
static_cast<s32>(dst->RenderArea().height)},
|
||||
};
|
||||
return blit_image_helper.BlitColor(dst, src_view, region, region,
|
||||
Tegra::Engines::Fermi2D::Filter::Point,
|
||||
Tegra::Engines::Fermi2D::Operation::SrcCopy);
|
||||
}
|
||||
break;
|
||||
case PixelFormat::R16_FLOAT:
|
||||
case PixelFormat::R16_UNORM:
|
||||
case PixelFormat::R16_SNORM:
|
||||
|
||||
@@ -663,11 +663,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
||||
break;
|
||||
}
|
||||
|
||||
if (!extensions.extended_dynamic_state) {
|
||||
Settings::values.vertex_input_dynamic_state.SetValue(false);
|
||||
}
|
||||
|
||||
if (!Settings::values.vertex_input_dynamic_state.GetValue()) {
|
||||
if (!Settings::values.vertex_input_dynamic_state.GetValue() || !extensions.extended_dynamic_state) {
|
||||
RemoveExtensionFeature(extensions.vertex_input_dynamic_state, features.vertex_input_dynamic_state, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
|
||||
}
|
||||
|
||||
|
||||
@@ -1267,9 +1267,6 @@ void MainWindow::InitializeWidgets() {
|
||||
QMenu context_menu;
|
||||
|
||||
for (auto const& gpu_accuracy_pair : ConfigurationShared::gpu_accuracy_texts_map) {
|
||||
if (gpu_accuracy_pair.first == Settings::GpuAccuracy::Extreme) {
|
||||
continue;
|
||||
}
|
||||
context_menu.addAction(gpu_accuracy_pair.second, [this, gpu_accuracy_pair] {
|
||||
Settings::values.gpu_accuracy.SetValue(gpu_accuracy_pair.first);
|
||||
UpdateGPUAccuracyButton();
|
||||
@@ -3563,16 +3560,15 @@ void MainWindow::OnToggleDockedMode() {
|
||||
|
||||
void MainWindow::OnToggleGpuAccuracy() {
|
||||
switch (Settings::values.gpu_accuracy.GetValue()) {
|
||||
case Settings::GpuAccuracy::High: {
|
||||
Settings::values.gpu_accuracy.SetValue(Settings::GpuAccuracy::Normal);
|
||||
case Settings::GpuAccuracy::Low:
|
||||
Settings::values.gpu_accuracy.SetValue(Settings::GpuAccuracy::Medium);
|
||||
break;
|
||||
}
|
||||
case Settings::GpuAccuracy::Normal:
|
||||
case Settings::GpuAccuracy::Extreme:
|
||||
default: {
|
||||
case Settings::GpuAccuracy::Medium:
|
||||
Settings::values.gpu_accuracy.SetValue(Settings::GpuAccuracy::High);
|
||||
break;
|
||||
}
|
||||
case Settings::GpuAccuracy::High:
|
||||
Settings::values.gpu_accuracy.SetValue(Settings::GpuAccuracy::Low);
|
||||
break;
|
||||
}
|
||||
|
||||
QtCommon::system->ApplySettings();
|
||||
@@ -4260,7 +4256,7 @@ void MainWindow::UpdateGPUAccuracyButton() {
|
||||
const auto gpu_accuracy_text =
|
||||
ConfigurationShared::gpu_accuracy_texts_map.find(gpu_accuracy)->second;
|
||||
gpu_accuracy_button->setText(gpu_accuracy_text.toUpper());
|
||||
gpu_accuracy_button->setChecked(gpu_accuracy != Settings::GpuAccuracy::Normal);
|
||||
gpu_accuracy_button->setChecked(gpu_accuracy != Settings::GpuAccuracy::Low);
|
||||
}
|
||||
|
||||
void MainWindow::UpdateDockedButton() {
|
||||
|
||||
Reference in New Issue
Block a user