mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-10 03:18:55 +02:00
settings: Remove use_asynchronous_shaders
Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
This commit is contained in:
parent
5fb3ae487c
commit
9705410657
35 changed files with 6 additions and 139 deletions
|
|
@ -22,7 +22,6 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
|
|||
USE_AUTO_STUB("use_auto_stub"),
|
||||
RENDERER_USE_DISK_SHADER_CACHE("use_disk_shader_cache"),
|
||||
RENDERER_FORCE_MAX_CLOCK("force_max_clock"),
|
||||
RENDERER_ASYNCHRONOUS_SHADERS("use_asynchronous_shaders"),
|
||||
RENDERER_REACTIVE_FLUSHING("use_reactive_flushing"),
|
||||
ENABLE_BUFFER_HISTORY("enable_buffer_history"),
|
||||
SYNC_MEMORY_OPERATIONS("sync_memory_operations"),
|
||||
|
|
|
|||
|
|
@ -672,13 +672,6 @@ abstract class SettingsItem(
|
|||
valuesId = R.array.framePacingModeValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_ASYNCHRONOUS_SHADERS,
|
||||
titleId = R.string.renderer_asynchronous_shaders,
|
||||
descriptionId = R.string.renderer_asynchronous_shaders_description
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.FAST_GPU_TIME,
|
||||
|
|
|
|||
|
|
@ -284,7 +284,6 @@ class SettingsFragmentPresenter(
|
|||
add(IntSetting.FAST_GPU_TIME.key)
|
||||
add(BooleanSetting.SKIP_CPU_INNER_INVALIDATION.key)
|
||||
add(BooleanSetting.FIX_BLOOM_EFFECTS.key)
|
||||
add(BooleanSetting.RENDERER_ASYNCHRONOUS_SHADERS.key)
|
||||
add(SettingsItem.GPU_UNSWIZZLE_COMBINED)
|
||||
|
||||
add(HeaderSetting(R.string.extensions))
|
||||
|
|
|
|||
|
|
@ -491,8 +491,6 @@
|
|||
<string name="skip_cpu_inner_invalidation_description">يتخطى بعض عمليات إبطال ذاكرة التخزين المؤقتة من جانب وحدة المعالجة المركزية أثناء تحديثات الذاكرة، مما يقلل من استخدام وحدة المعالجة المركزية ويحسن أداءها. قد يتسبب ذلك في حدوث أعطال أو تعطل في بعض الألعاب.</string>
|
||||
<string name="fix_bloom_effects">إصلاح تأثيرات التوهج</string>
|
||||
<string name="fix_bloom_effects_description">يقلل من ضبابية التوهج في وضع LA/EOW (مخصص ل Adreno 700)، ويزيل التوهج في وضع الإحتراق</string>
|
||||
<string name="renderer_asynchronous_shaders">استخدم تظليل غير متزامن</string>
|
||||
<string name="renderer_asynchronous_shaders_description">يقوم بتجميع التظليل بشكل غير متزامن. قد يقلل ذلك من التقطعات ولكنه قد يؤدي أيضًا إلى حدوث أخطاء.</string>
|
||||
<string name="gpu_unswizzle_texture_size">الحد الأقصى لحجم النسيج في وحدة معالجة الرسومات بعد إعادة ترتيب البيانات</string>
|
||||
<string name="gpu_unswizzle_texture_size_description">يُحدد هذا الخيار الحد الأقصى لحجم (ميغابايت) معالجة الصور باستخدام وحدة معالجة الرسومات. مع أن وحدة معالجة الرسومات أسرع في معالجة الصور المتوسطة والكبيرة، إلا أن وحدة المعالجة المركزية قد تكون أكثر كفاءة في معالجة الصور الصغيرة جدًا. اضبط هذا الخيار لتحقيق التوازن الأمثل بين سرعة معالجة الرسومات واستهلاك وحدة المعالجة المركزية.</string>
|
||||
<string name="gpu_unswizzle_stream_size">حجم تدفق إلغاء ترتيب بيانات وحدة معالجة الرسومات</string>
|
||||
|
|
|
|||
|
|
@ -361,8 +361,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">بازنەکردنی ناوەکی CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">هەندێک لە بازنەکردنەکانی هەڵگر لە کاتی نوێکردنەوەی بیرگە دەنێرێت، کەمکردنەوەی بەکارهێنانی CPU و باشترکردنی کارایی. لەوانەیە لە هەندێک یاری کێشە درووست بکات.</string>
|
||||
<string name="renderer_asynchronous_shaders">بەکارهێنانی سێبەری ناهاوسەنگ</string>
|
||||
<string name="renderer_asynchronous_shaders_description">کۆمپایلکردنی شادەرەکان بەشێوەی ناڕێک. ئەمە ڕەنگە کەمکردنەوەی ستەتەر بکات بەڵام لەوانەیە هەڵەش دروست بکات.</string>
|
||||
<string name="dyna_state">الحالة الديناميكية الممتدة</string>
|
||||
<string name="disabled">ناچالاک</string>
|
||||
<string name="provoking_vertex">الرأس المثير</string>
|
||||
|
|
|
|||
|
|
@ -481,8 +481,6 @@
|
|||
<string name="fast_gpu_time_description">Nutí většinu her běžet v nejvyšším nativním rozlišení. Použijte hodnotu 256 pro maximální výkon a 512 pro nejlepší kvalitu.</string>
|
||||
<string name="skip_cpu_inner_invalidation">Přeskočit vnitřní invalidaci CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Přeskočí určité invalidace mezipaměti procesoru při aktualizacích paměti, čímž snižuje vytížení CPU a zvyšuje jeho výkon. Může způsobit chyby nebo pády některých hrách.</string>
|
||||
<string name="renderer_asynchronous_shaders">Asynchronní kompilace shaderů</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Kompiluje shadery asynchronně. To může zlepšit planulost, ale také způsobit grafické chyby.</string>
|
||||
<string name="extensions">Rozšíření</string>
|
||||
|
||||
<string name="dyna_state">Úroveň EDS</string>
|
||||
|
|
|
|||
|
|
@ -479,8 +479,6 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
|
|||
<string name="fast_gpu_time_description">Erzwingt bei den meisten Spielen die höchste native Auflösung. Verwende 256 für maximale Leistung und 512 für maximale Grafikqualität</string>
|
||||
<string name="skip_cpu_inner_invalidation">CPU-interne Invalidierung überspringen</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Überspringt bestimmte Cache-Invalidierungen auf CPU-Seite während Speicherupdates, reduziert die CPU-Auslastung und verbessert die Leistung. Kann in einigen Spielen zu Fehlern oder Abstürzen führen.</string>
|
||||
<string name="renderer_asynchronous_shaders">Asynchrone Shader</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Kompiliert Shader asynchron. Dies kann Ruckler reduzieren, aber auch Grafikfehler verursachen.</string>
|
||||
<string name="extensions">Erweiterungen</string>
|
||||
|
||||
<string name="dyna_state">Erweiterter dynamischer Status</string>
|
||||
|
|
|
|||
|
|
@ -418,8 +418,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Omitir invalidación interna de la CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Omite ciertas invalidaciones de caché de la CPU durante las actualizaciones de memoria, lo que reduce el uso de la CPU y mejora su rendimiento. Esto puede causar fallos o bloqueos en algunos juegos.</string>
|
||||
<string name="renderer_asynchronous_shaders">Usar shaders asíncronos</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Compila los shaders de forma asíncrona. Esto puede reducir los tirones, pero también puede introducir errores gráficos.</string>
|
||||
<string name="dyna_state">Estado dinámico extendido</string>
|
||||
<string name="disabled">Desactivado</string>
|
||||
<string name="provoking_vertex">Vértice provocante</string>
|
||||
|
|
|
|||
|
|
@ -435,8 +435,6 @@
|
|||
<string name="renderer_anti_aliasing">حالت ضدپلگی</string>
|
||||
<string name="renderer_force_max_clock">اجبار به حداکثر فرکانس (فقط برای Adreno)</string>
|
||||
<string name="renderer_force_max_clock_description">پردازنده گرافیکی را مجبور میکند تا با بیشترین فرکانس کار کند (محدودیتهای حرارتی همچنان اعمال خواهند شد).</string>
|
||||
<string name="renderer_asynchronous_shaders">استفاده از سایهزنهای ناهمزمان</string>
|
||||
<string name="renderer_asynchronous_shaders_description">کامپایل شیدرها به صورت ناهمزمان. این ممکن است باعث کاهش مکث شود اما ممکن است مشکلات گرافیکی نیز ایجاد کند.</string>
|
||||
<string name="renderer_reactive_flushing">استفاده از فلاش کردن واکنشی</string>
|
||||
<string name="renderer_reactive_flushing_description">دقت تفسیر تصاویر را در برخی از بازیها به قیمت عملکرد بهبود میبخشد.</string>
|
||||
<string name="use_disk_shader_cache">ذخیره سایهزنیها در حافظه</string>
|
||||
|
|
|
|||
|
|
@ -432,8 +432,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Ignorer l\'invalidation interne du CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Ignore certaines invalidations de cache côté CPU lors des mises à jour mémoire, réduisant l\'utilisation du CPU et améliorant ses performances. Peut causer des bugs ou plantages sur certains jeux.</string>
|
||||
<string name="renderer_asynchronous_shaders">Utiliser les shaders asynchrones</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Compile les shaders de manière asynchrone. Cela peut réduire les saccades mais peut aussi provoquer des problèmes graphiques.</string>
|
||||
<string name="dyna_state">État dynamique étendu</string>
|
||||
<string name="disabled">Désactivé</string>
|
||||
<string name="vertex_input_dynamic_state">État dynamique d\'entrée de sommet</string>
|
||||
|
|
|
|||
|
|
@ -392,8 +392,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">דלג על איפוס מטמון פנימי של המעבד</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">מדלג על איפוסי מטמון מסוימים במהלך עדכוני זיכרון, מפחית שימוש במעבד ומשפר ביצועים. עלול לגרום לתקלות או קריסות בחלק מהמשחקים.</string>
|
||||
<string name="renderer_asynchronous_shaders">השתמש בשיידרים אסינכרונים</string>
|
||||
<string name="renderer_asynchronous_shaders_description">מקמפל שיידרים באופן אסינכרוני. זה עשוי להפחית קפיצות אך גם עלול לגרום לתקלות גרפיות.</string>
|
||||
<string name="dyna_state">מצב דינמי מורחב</string>
|
||||
<string name="disabled">מושבת</string>
|
||||
<string name="provoking_vertex">קודקוד מעורר</string>
|
||||
|
|
|
|||
|
|
@ -380,8 +380,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">CPU belső érvénytelenítés kihagyása</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Kihagy néhány CPU-oldali gyorsítótár-érvénytelenítést memóriafrissítések közben, csökkentve a CPU használatát és javítva a teljesítményt. Néhány játékban hibákat vagy összeomlást okozhat.</string>
|
||||
<string name="renderer_asynchronous_shaders">Aszinkron árnyékolók használata</string>
|
||||
<string name="renderer_asynchronous_shaders_description">A shaderek aszinkron fordítása. Csökkentheti a belassulásokat, de hibákat is okozhat.</string>
|
||||
<string name="dyna_state">Kiterjesztett Dinamikus Állapot</string>
|
||||
<string name="disabled">Letiltva</string>
|
||||
<string name="provoking_vertex">Provokáló csúcs</string>
|
||||
|
|
|
|||
|
|
@ -412,8 +412,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Lewati Pembatalan Internal CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Melewati beberapa pembatalan cache sisi CPU selama pembaruan memori, mengurangi penggunaan CPU dan meningkatkan kinerjanya. Mungkin menyebabkan gangguan atau crash pada beberapa game.</string>
|
||||
<string name="renderer_asynchronous_shaders">Gunakan shader asinkron</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Kompilasi shader secara asinkron. Ini dapat mengurangi lag tetapi juga dapat menyebabkan glitch.</string>
|
||||
<string name="dyna_state">Status Dinamis Ekstensi</string>
|
||||
<string name="disabled">Dinonaktifkan</string>
|
||||
<string name="provoking_vertex">Vertex Provokasi</string>
|
||||
|
|
|
|||
|
|
@ -419,8 +419,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Salta invalidamento interno CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Salta alcuni invalidamenti della cache lato CPU durante gli aggiornamenti di memoria, riducendo l\'uso della CPU e migliorandone le prestazioni. Potrebbe causare glitch o crash in alcuni giochi.</string>
|
||||
<string name="renderer_asynchronous_shaders">Usa shaders asincrone</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Compila gli shader in modo asincrono. Può ridurre gli scatti, ma può anche causare glitch grafici.</string>
|
||||
<string name="dyna_state">Stato dinamico esteso</string>
|
||||
<string name="disabled">Disabilitato</string>
|
||||
<string name="provoking_vertex">Vertice provocante</string>
|
||||
|
|
|
|||
|
|
@ -378,8 +378,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">CPU内部無効化をスキップ</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">メモリ更新時のCPU側キャッシュ無効化をスキップし、CPU使用率を減らして性能を向上させます。一部のゲームで不具合やクラッシュが発生する可能性があります。</string>
|
||||
<string name="renderer_asynchronous_shaders">非同期シェーダー</string>
|
||||
<string name="renderer_asynchronous_shaders_description">シェーダーを非同期でコンパイルします。これによりカクつきが減る可能性がありますが、グラフィックの不具合が発生する場合もあります。</string>
|
||||
<string name="dyna_state">拡張ダイナミックステート</string>
|
||||
<string name="disabled">無効</string>
|
||||
<string name="provoking_vertex">プロボーキング頂点</string>
|
||||
|
|
|
|||
|
|
@ -378,8 +378,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">CPU 내부 무효화 건너뛰기</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">메모리 업데이트 시 일부 CPU 측 캐시 무효화를 건너뛰어 CPU 사용량을 줄이고 성능을 향상시킵니다. 일부 게임에서 오류 또는 충돌을 일으킬 수 있습니다.</string>
|
||||
<string name="renderer_asynchronous_shaders">비동기 셰이더 사용</string>
|
||||
<string name="renderer_asynchronous_shaders_description">셰이더를 비동기적으로 컴파일합니다. 이로 인해 끊김 현상이 줄어들 수 있지만 그래픽 오류가 발생할 수도 있습니다.</string>
|
||||
<string name="dyna_state">확장 동적 상태</string>
|
||||
<string name="disabled">비활성화됨</string>
|
||||
<string name="provoking_vertex">프로보킹 버텍스</string>
|
||||
|
|
|
|||
|
|
@ -361,8 +361,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Hopp over CPU intern invalidering</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Hopper over enkelte CPU-side cache-invalideringer under minneoppdateringer, reduserer CPU-bruk og forbedrer ytelsen. Kan forårsake feil eller krasj i noen spill.</string>
|
||||
<string name="renderer_asynchronous_shaders">Bruk asynkrone shaders</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Kompilerer shadere asynkront. Dette kan redusere rykk, men kan også forårsake grafiske feil.</string>
|
||||
<string name="dyna_state">Utvidet dynamisk tilstand</string>
|
||||
<string name="disabled">Deaktivert</string>
|
||||
<string name="provoking_vertex">Provoserende vertex</string>
|
||||
|
|
|
|||
|
|
@ -481,8 +481,6 @@
|
|||
<string name="fast_gpu_time_description">Wymusza działanie większości gier w ich najwyższej natywnej rozdzielczości. Ustaw 256 dla maksymalnej wydajności, a 512 dla maksymalnej jakości grafiki.</string>
|
||||
<string name="skip_cpu_inner_invalidation">Pomiń wewnętrzne unieważnienie CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Pomija niektóre unieważnienia pamięci podręcznej po stronie CPU podczas aktualizacji pamięci, zmniejszając użycie CPU i poprawiając jego wydajność. Może powodować błędy lub awarie w niektórych grach.</string>
|
||||
<string name="renderer_asynchronous_shaders">Wyłącz synchronizację shaderów</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Kompiluje shadery asynchronicznie. Może to zmniejszyć zacinanie, ale może też powodować błędy graficzne.</string>
|
||||
<string name="extensions">Rozszerzenia</string>
|
||||
|
||||
<string name="dyna_state">Rozszerzony stan dynamiczny</string>
|
||||
|
|
|
|||
|
|
@ -467,8 +467,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Ignorar Invalidação Interna da CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Ignora certas invalidações de cache do lado da CPU durante atualizações de memória, reduzindo o uso da CPU e melhorando seu desempenho. Isso pode causar falhas ou travamentos em alguns jogos.</string>
|
||||
<string name="renderer_asynchronous_shaders">Usar shaders assíncronos </string>
|
||||
<string name="renderer_asynchronous_shaders_description">Compila shaders de forma assíncrona. Isso pode reduzir engasgos, mas também pode introduzir falhas gráficas.</string>
|
||||
<string name="dyna_state">Extended Dynamic State</string>
|
||||
<string name="disabled">Desativado</string>
|
||||
<string name="vertex_input_dynamic_state">Vertex Input Dynamic State</string>
|
||||
|
|
|
|||
|
|
@ -384,8 +384,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Ignorar invalidação interna da CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Ignora algumas invalidações de cache do lado da CPU durante atualizações de memória, reduzindo a utilização da CPU e melhorando o desempenho. Pode causar falhas ou crashes em alguns jogos.</string>
|
||||
<string name="renderer_asynchronous_shaders">Usa shaders assíncronos </string>
|
||||
<string name="renderer_asynchronous_shaders_description">Compila shaders de forma assíncrona. Isto pode reduzir engasgadelas, mas também pode introduzir falhas gráficas.</string>
|
||||
<string name="dyna_state">Estado Dinâmico Estendido</string>
|
||||
<string name="disabled">Desativado</string>
|
||||
<string name="provoking_vertex">Vértice provocante</string>
|
||||
|
|
|
|||
|
|
@ -483,8 +483,6 @@
|
|||
<string name="fast_gpu_time_description">Принудительно запускает большинство игр в их максимальном нативном разрешении. Используйте значение 256 для максимальной производительности и 512 для максимального качества графики.</string>
|
||||
<string name="skip_cpu_inner_invalidation">Пропустить внутреннюю инвалидацию ЦП</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Пропускает некоторые инвалидации кэша на стороне ЦП при обновлениях памяти, уменьшая нагрузку на процессор и повышая производительность. Может вызывать сбои в некоторых играх.</string>
|
||||
<string name="renderer_asynchronous_shaders">Использовать асинхронные шейдеры</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Компилирует шейдеры асинхронно. Это может уменьшить подтормаживания, но также может вызвать графические артефакты.</string>
|
||||
<string name="gpu_unswizzle_texture_size">Макс. размер текстуры Unswizzle</string>
|
||||
<string name="gpu_unswizzle_texture_size_description">Задает максимальный размер (в МБ) текстур для преобразования формата (unswizzle) на ГП. Хотя ГП быстрее работает со средними и большими текстурами, ЦП может быть эффективнее для очень маленьких. Настройте это значение, чтобы найти баланс между ускорением на ГП и нагрузкой на ЦП.</string>
|
||||
<string name="gpu_unswizzle_stream_size">Размер потока Unswizzle</string>
|
||||
|
|
|
|||
|
|
@ -383,8 +383,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Preskoči unutrašnje poništavanje CPU-a</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Preskače određena poništavanja keša na strani CPU-a tokom ažuriranja memorije, smanjujući opterećenje procesora i poboljšavajući performanse. Može izazvati greške u nekim igrama.</string>
|
||||
<string name="renderer_asynchronous_shaders">Користите асинхроне схадера</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Саставља схадера асинхроно. Ово може умањити затезаче, али могу такође да уведе пропусте.</string>
|
||||
<string name="dyna_state">Проширена динамичка држава</string>
|
||||
<string name="disabled">Искључено</string>
|
||||
<string name="provoking_vertex">Провоцирајући врх</string>
|
||||
|
|
|
|||
|
|
@ -487,8 +487,6 @@
|
|||
<string name="skip_cpu_inner_invalidation_description">Пропускає деякі інвалідації кешу на стороні CPU під час оновлення пам\'яті, зменшуючи навантаження на процесор і покращуючи продуктивність. Може спричинити збої в деяких іграх.</string>
|
||||
<string name="fix_bloom_effects">Виправити ефекти світіння</string>
|
||||
<string name="fix_bloom_effects_description">Зменшує розмиття світіння в LA/EOW (Adreno 700), прибирає світіння в Burnout</string>
|
||||
<string name="renderer_asynchronous_shaders">Асинхронні шейдери</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Компілює шейдери асинхронно. Це може зменшити затримки, але також може спричинити графічні баги.</string>
|
||||
<string name="gpu_unswizzle_texture_size">Максимальний розмір текстур для відновлення перевпорядковування за допомогою ГП</string>
|
||||
<string name="gpu_unswizzle_texture_size_description">Встановлює максимальний розмір (МБ) для відновлення перевпорядкованих текстур за допомогою ГП. ГП швидше справляється з текстурами середніх і великих розмірів, а ЦП ефективніший для дуже маленьких. Налаштуйте, щоб збалансувати ГП-прискоренням і навантаженням на ЦП.</string>
|
||||
<string name="gpu_unswizzle_stream_size">Розмір потоку відновлення перевпорядковування за допомогою ГП</string>
|
||||
|
|
|
|||
|
|
@ -359,8 +359,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">Bỏ qua vô hiệu hóa bên trong CPU</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">Bỏ qua một số lần vô hiệu hóa bộ nhớ đệm phía CPU trong khi cập nhật bộ nhớ, giảm mức sử dụng CPU và cải thiện hiệu suất. Có thể gây ra lỗi hoặc treo máy trong một số trò chơi.</string>
|
||||
<string name="renderer_asynchronous_shaders">Dùng các shader bất đồng bộ</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Biên dịch shader không đồng bộ. Điều này có thể giảm giật lag nhưng cũng có thể gây ra lỗi đồ họa.</string>
|
||||
<string name="dyna_state">Trạng thái động mở rộng</string>
|
||||
<string name="disabled">Đã tắt</string>
|
||||
<string name="provoking_vertex">Đỉnh kích hoạt</string>
|
||||
|
|
|
|||
|
|
@ -481,8 +481,6 @@
|
|||
<string name="skip_cpu_inner_invalidation_description">在内存更新期间跳过某些CPU端缓存无效化,减少CPU使用率并提高其性能。可能会导致某些游戏出现故障或崩溃。</string>
|
||||
<string name="fix_bloom_effects">修复泛光效果</string>
|
||||
<string name="fix_bloom_effects_description">降低了 LA/EOW(在 Adreno 700 系列 GPU 上)的泛光模糊;去除了《火爆狂飙》中的泛光特效。</string>
|
||||
<string name="renderer_asynchronous_shaders">使用异步着色器</string>
|
||||
<string name="renderer_asynchronous_shaders_description">异步编译着色器。这可能会减少卡顿,但也可能会导致图形错误。</string>
|
||||
<string name="gpu_unswizzle_texture_size">GPU 还原最大纹理尺寸</string>
|
||||
<string name="gpu_unswizzle_texture_size_description">设置基于 GPU 的纹理还原的最大尺寸(单位:MiB)。\n虽然 GPU 在处理中型和大型纹理时速度更快,但对于非常小的纹理,CPU 的效率可能更高。\n调整此设置,以便在 GPU 加速和 CPU 开销之间找到最佳平衡点。</string>
|
||||
<string name="gpu_unswizzle_stream_size">GPU 还原流大小</string>
|
||||
|
|
|
|||
|
|
@ -463,8 +463,6 @@
|
|||
|
||||
<string name="skip_cpu_inner_invalidation">跳過CPU內部失效處理</string>
|
||||
<string name="skip_cpu_inner_invalidation_description">在記憶體更新期間跳過某些CPU端快取的失效處理,減少CPU使用率並提高其性能。可能會導致某些遊戲出現故障或崩潰。</string>
|
||||
<string name="renderer_asynchronous_shaders">使用非同步著色器</string>
|
||||
<string name="renderer_asynchronous_shaders_description">非同步編譯著色器。這可能會減少卡頓,但也可能導致圖形錯誤。</string>
|
||||
<string name="dyna_state">擴展動態狀態</string>
|
||||
<string name="disabled">已停用</string>
|
||||
<string name="vertex_input_dynamic_state">頂點輸入動態狀態</string>
|
||||
|
|
|
|||
|
|
@ -508,8 +508,6 @@
|
|||
<string name="skip_cpu_inner_invalidation_description">Skips certain CPU-side cache invalidations during memory updates, reducing CPU usage and improving it\'s performance. This may cause glitches or crashes on some games.</string>
|
||||
<string name="fix_bloom_effects">Fix Bloom Effects</string>
|
||||
<string name="fix_bloom_effects_description">Reduces bloom blur in LA/EOW (Adreno 700), removes bloom in Burnout. Warning: may cause graphical artifacts in other games.</string>
|
||||
<string name="renderer_asynchronous_shaders">Use asynchronous shaders</string>
|
||||
<string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously. This may reduce stutters but may also introduce glitches.</string>
|
||||
<string name="gpu_unswizzle_settings">GPU Unswizzle Settings</string>
|
||||
<string name="gpu_unswizzle_settings_description">Configure GPU-based texture unswizzling parameters or disable it entirely. Adjust these settings to balance performance and texture loading quality.</string>
|
||||
<string name="gpu_unswizzle_enable">Enable GPU Unswizzle</string>
|
||||
|
|
|
|||
|
|
@ -546,9 +546,6 @@ struct Values {
|
|||
SwitchableSetting<bool> fix_bloom_effects{linkage, false, "fix_bloom_effects",
|
||||
Category::RendererHacks};
|
||||
|
||||
SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders",
|
||||
Category::RendererHacks};
|
||||
|
||||
SwitchableSetting<GpuUnswizzleSize> gpu_unswizzle_texture_size{linkage,
|
||||
GpuUnswizzleSize::Large,
|
||||
"gpu_unswizzle_texture_size",
|
||||
|
|
|
|||
|
|
@ -285,10 +285,6 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QObject* parent)
|
|||
dma_accuracy,
|
||||
tr("DMA Accuracy:"),
|
||||
tr("Controls the DMA precision accuracy. Safe precision fixes issues in some games but may degrade performance."));
|
||||
INSERT(Settings,
|
||||
use_asynchronous_shaders,
|
||||
tr("Enable asynchronous shader compilation"),
|
||||
tr("May reduce shader stutter."));
|
||||
INSERT(Settings,
|
||||
fast_gpu_time,
|
||||
tr("Fast GPU Time"),
|
||||
|
|
|
|||
|
|
@ -252,22 +252,6 @@ Device::Device(Core::Frontend::EmuWindow& emu_window) {
|
|||
has_lmem_perf_bug = is_nvidia;
|
||||
|
||||
strict_context_required = emu_window.StrictContextRequired();
|
||||
// Blocks Intel OpenGL drivers on Windows from using asynchronous shader compilation.
|
||||
// Blocks EGL on Wayland from using asynchronous shader compilation.
|
||||
const bool blacklist_async_shaders = (is_intel && !is_linux) || strict_context_required;
|
||||
use_asynchronous_shaders =
|
||||
Settings::values.use_asynchronous_shaders.GetValue() && !blacklist_async_shaders;
|
||||
use_driver_cache = is_nvidia;
|
||||
supports_conditional_barriers = !is_intel;
|
||||
|
||||
LOG_INFO(Render_OpenGL, "Renderer_VariableAOFFI: {}", has_variable_aoffi);
|
||||
LOG_INFO(Render_OpenGL, "Renderer_ComponentIndexingBug: {}", has_component_indexing_bug);
|
||||
LOG_INFO(Render_OpenGL, "Renderer_PreciseBug: {}", has_precise_bug);
|
||||
LOG_INFO(Render_OpenGL, "Renderer_BrokenTextureViewFormats: {}",
|
||||
has_broken_texture_view_formats);
|
||||
if (Settings::values.use_asynchronous_shaders.GetValue() && !use_asynchronous_shaders) {
|
||||
LOG_WARNING(Render_OpenGL, "Asynchronous shader compilation enabled but not supported");
|
||||
}
|
||||
}
|
||||
|
||||
std::string Device::GetVendorName() const {
|
||||
|
|
|
|||
|
|
@ -115,10 +115,6 @@ public:
|
|||
return use_assembly_shaders;
|
||||
}
|
||||
|
||||
bool UseAsynchronousShaders() const {
|
||||
return use_asynchronous_shaders;
|
||||
}
|
||||
|
||||
bool UseDriverCache() const {
|
||||
return use_driver_cache;
|
||||
}
|
||||
|
|
@ -219,7 +215,6 @@ private:
|
|||
bool has_derivative_control{};
|
||||
bool has_debugging_tool_attached{};
|
||||
bool use_assembly_shaders{};
|
||||
bool use_asynchronous_shaders{};
|
||||
bool use_driver_cache{};
|
||||
bool has_depth_buffer_float{};
|
||||
bool has_geometry_shader_passthrough{};
|
||||
|
|
|
|||
|
|
@ -179,7 +179,6 @@ ShaderCache::ShaderCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
|
|||
: VideoCommon::ShaderCache{device_memory_}, emu_window{emu_window_}, device{device_},
|
||||
texture_cache{texture_cache_}, buffer_cache{buffer_cache_}, program_manager{program_manager_},
|
||||
state_tracker{state_tracker_}, shader_notify{shader_notify_},
|
||||
use_asynchronous_shaders{device.UseAsynchronousShaders()},
|
||||
strict_context_required{device.StrictContextRequired()},
|
||||
optimize_spirv_output{Settings::values.optimize_spirv_output.GetValue() != Settings::SpirvOptimizeMode::Never},
|
||||
profile{
|
||||
|
|
@ -252,9 +251,6 @@ ShaderCache::ShaderCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
|
|||
.support_geometry_shader_passthrough = device.HasGeometryShaderPassthrough(),
|
||||
.support_conditional_barrier = device.SupportsConditionalBarriers(),
|
||||
} {
|
||||
if (use_asynchronous_shaders) {
|
||||
workers = CreateWorkers();
|
||||
}
|
||||
}
|
||||
|
||||
ShaderCache::~ShaderCache() = default;
|
||||
|
|
@ -345,9 +341,7 @@ void ShaderCache::LoadDiskResources(u64 title_id, std::stop_token stop_loading,
|
|||
return;
|
||||
}
|
||||
workers->WaitForRequests(stop_loading);
|
||||
if (!use_asynchronous_shaders) {
|
||||
workers.reset();
|
||||
}
|
||||
workers.reset();
|
||||
|
||||
if (Settings::values.optimize_spirv_output.GetValue() != Settings::SpirvOptimizeMode::Always) {
|
||||
this->optimize_spirv_output = false;
|
||||
|
|
@ -374,7 +368,7 @@ GraphicsPipeline* ShaderCache::CurrentGraphicsPipeline() {
|
|||
SetXfbState(graphics_key.xfb_state, regs);
|
||||
}
|
||||
if (current_pipeline && graphics_key == current_pipeline->Key()) {
|
||||
return BuiltPipeline(current_pipeline);
|
||||
return current_pipeline;
|
||||
}
|
||||
return CurrentGraphicsPipelineSlowPath();
|
||||
}
|
||||
|
|
@ -389,24 +383,7 @@ GraphicsPipeline* ShaderCache::CurrentGraphicsPipelineSlowPath() {
|
|||
return nullptr;
|
||||
}
|
||||
current_pipeline = pipeline.get();
|
||||
return BuiltPipeline(current_pipeline);
|
||||
}
|
||||
|
||||
GraphicsPipeline* ShaderCache::BuiltPipeline(GraphicsPipeline* pipeline) const noexcept {
|
||||
if (pipeline->IsBuilt()) {
|
||||
return pipeline;
|
||||
}
|
||||
if (!use_asynchronous_shaders) {
|
||||
return pipeline;
|
||||
}
|
||||
// If games are using a small index count, we can assume these are full screen quads.
|
||||
// Usually these shaders are only used once for building textures so we can assume they
|
||||
// can't be built async
|
||||
const auto& draw_state = maxwell3d->draw_manager->GetDrawState();
|
||||
if (draw_state.index_buffer.count <= 6 || draw_state.vertex_buffer.count <= 6) {
|
||||
return pipeline;
|
||||
}
|
||||
return nullptr;
|
||||
return current_pipeline;
|
||||
}
|
||||
|
||||
ComputePipeline* ShaderCache::CurrentComputePipeline() {
|
||||
|
|
@ -434,8 +411,7 @@ std::unique_ptr<GraphicsPipeline> ShaderCache::CreateGraphicsPipeline() {
|
|||
GetGraphicsEnvironments(environments, graphics_key.unique_hashes);
|
||||
|
||||
main_pools.ReleaseContents();
|
||||
auto pipeline{CreateGraphicsPipeline(main_pools, graphics_key, environments.Span(),
|
||||
use_asynchronous_shaders)};
|
||||
auto pipeline{CreateGraphicsPipeline(main_pools, graphics_key, environments.Span(), false)};
|
||||
if (!pipeline || shader_cache_filename.empty()) {
|
||||
return pipeline;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,8 +48,6 @@ public:
|
|||
private:
|
||||
GraphicsPipeline* CurrentGraphicsPipelineSlowPath();
|
||||
|
||||
[[nodiscard]] GraphicsPipeline* BuiltPipeline(GraphicsPipeline* pipeline) const noexcept;
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> CreateGraphicsPipeline();
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> CreateGraphicsPipeline(
|
||||
|
|
@ -74,7 +72,6 @@ private:
|
|||
ProgramManager& program_manager;
|
||||
StateTracker& state_tracker;
|
||||
VideoCore::ShaderNotify& shader_notify;
|
||||
const bool use_asynchronous_shaders;
|
||||
const bool strict_context_required;
|
||||
bool optimize_spirv_output{};
|
||||
|
||||
|
|
|
|||
|
|
@ -339,7 +339,6 @@ PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
|
|||
descriptor_pool{descriptor_pool_}, guest_descriptor_queue{guest_descriptor_queue_},
|
||||
render_pass_cache{render_pass_cache_}, buffer_cache{buffer_cache_},
|
||||
texture_cache{texture_cache_}, shader_notify{shader_notify_},
|
||||
use_asynchronous_shaders{Settings::values.use_asynchronous_shaders.GetValue()},
|
||||
use_vulkan_pipeline_cache{Settings::values.use_vulkan_driver_pipeline_cache.GetValue()},
|
||||
optimize_spirv_output{Settings::values.optimize_spirv_output.GetValue() != Settings::SpirvOptimizeMode::Never},
|
||||
workers(device.HasBrokenParallelShaderCompiling() ? 1ULL : GetTotalPipelineWorkers(),
|
||||
|
|
@ -483,7 +482,7 @@ GraphicsPipeline* PipelineCache::CurrentGraphicsPipeline() {
|
|||
GraphicsPipeline* const next{current_pipeline->Next(graphics_key)};
|
||||
if (next) {
|
||||
current_pipeline = next;
|
||||
return BuiltPipeline(current_pipeline);
|
||||
return current_pipeline;
|
||||
}
|
||||
}
|
||||
return CurrentGraphicsPipelineSlowPath();
|
||||
|
|
@ -634,24 +633,7 @@ GraphicsPipeline* PipelineCache::CurrentGraphicsPipelineSlowPath() {
|
|||
current_pipeline->AddTransition(pipeline.get());
|
||||
}
|
||||
current_pipeline = pipeline.get();
|
||||
return BuiltPipeline(current_pipeline);
|
||||
}
|
||||
|
||||
GraphicsPipeline* PipelineCache::BuiltPipeline(GraphicsPipeline* pipeline) const noexcept {
|
||||
if (pipeline->IsBuilt()) {
|
||||
return pipeline;
|
||||
}
|
||||
if (!use_asynchronous_shaders) {
|
||||
return pipeline;
|
||||
}
|
||||
// If games are using a small index count, we can assume these are full screen quads.
|
||||
// Usually these shaders are only used once for building textures so we can assume they
|
||||
// can't be built async
|
||||
const auto& draw_state = maxwell3d->draw_manager->GetDrawState();
|
||||
if (draw_state.index_buffer.count <= 6 || draw_state.vertex_buffer.count <= 6) {
|
||||
return pipeline;
|
||||
}
|
||||
return nullptr;
|
||||
return current_pipeline;
|
||||
}
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline(
|
||||
|
|
|
|||
|
|
@ -119,8 +119,6 @@ public:
|
|||
private:
|
||||
[[nodiscard]] GraphicsPipeline* CurrentGraphicsPipelineSlowPath();
|
||||
|
||||
[[nodiscard]] GraphicsPipeline* BuiltPipeline(GraphicsPipeline* pipeline) const noexcept;
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> CreateGraphicsPipeline();
|
||||
|
||||
std::unique_ptr<GraphicsPipeline> CreateGraphicsPipeline(
|
||||
|
|
@ -151,7 +149,6 @@ private:
|
|||
BufferCache& buffer_cache;
|
||||
TextureCache& texture_cache;
|
||||
VideoCore::ShaderNotify& shader_notify;
|
||||
bool use_asynchronous_shaders{};
|
||||
bool use_vulkan_pipeline_cache{};
|
||||
bool optimize_spirv_output{};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue