diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/GpuUnswizzleSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/GpuUnswizzleSetting.kt deleted file mode 100644 index a9a40f6903..0000000000 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/GpuUnswizzleSetting.kt +++ /dev/null @@ -1,89 +0,0 @@ -// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - -package org.yuzu.yuzu_emu.features.settings.model.view - -import androidx.annotation.ArrayRes -import androidx.annotation.StringRes -import org.yuzu.yuzu_emu.features.settings.model.AbstractSetting -import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting -import org.yuzu.yuzu_emu.features.settings.model.IntSetting - -class GpuUnswizzleSetting( - @StringRes titleId: Int = 0, - titleString: String = "", - @StringRes descriptionId: Int = 0, - descriptionString: String = "", - @ArrayRes val textureSizeChoicesId: Int, - @ArrayRes val textureSizeValuesId: Int, - @ArrayRes val streamSizeChoicesId: Int, - @ArrayRes val streamSizeValuesId: Int, - @ArrayRes val chunkSizeChoicesId: Int, - @ArrayRes val chunkSizeValuesId: Int -) : SettingsItem( - object : AbstractSetting { - override val key: String = SettingsItem.GPU_UNSWIZZLE_COMBINED - override val defaultValue: Any = false - override val isSaveable = true - override val isRuntimeModifiable = true - override val isSwitchable = true - override val pairedSettingKey: String = "" - override var global: Boolean - get() { - return BooleanSetting.GPU_UNSWIZZLE_ENABLED.global && - IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.global && - IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.global && - IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.global - } - set(value) { - BooleanSetting.GPU_UNSWIZZLE_ENABLED.global = value - IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.global = value - IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.global = value - IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.global = value - } - override fun getValueAsString(needsGlobal: Boolean): String = "combined" - override fun reset() { - BooleanSetting.GPU_UNSWIZZLE_ENABLED.reset() - IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.reset() - IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.reset() - IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.reset() - } - }, - titleId, - titleString, - descriptionId, - descriptionString -) { - override val type = SettingsItem.TYPE_GPU_UNSWIZZLE - - // Check if GPU unswizzle is enabled via the dedicated boolean setting - fun isEnabled(needsGlobal: Boolean = false): Boolean = - BooleanSetting.GPU_UNSWIZZLE_ENABLED.getBoolean(needsGlobal) - - fun setEnabled(value: Boolean) = - BooleanSetting.GPU_UNSWIZZLE_ENABLED.setBoolean(value) - - fun enable() = setEnabled(true) - - fun disable() = setEnabled(false) - - fun getTextureSize(needsGlobal: Boolean = false): Int = - IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.getInt(needsGlobal) - - fun setTextureSize(value: Int) = - IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.setInt(value) - - fun getStreamSize(needsGlobal: Boolean = false): Int = - IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.getInt(needsGlobal) - - fun setStreamSize(value: Int) = - IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.setInt(value) - - fun getChunkSize(needsGlobal: Boolean = false): Int = - IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.getInt(needsGlobal) - - fun setChunkSize(value: Int) = - IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.setInt(value) - - fun reset() = setting.reset() -} diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt index db2edba1b9..b89664742c 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt @@ -669,42 +669,30 @@ abstract class SettingsItem( ) ) put( - SingleChoiceSetting( + SpinBoxSetting( IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE, titleId = R.string.gpu_unswizzle_texture_size, descriptionId = R.string.gpu_unswizzle_texture_size_description, - choicesId = R.array.gpuTextureSizeSwizzleEntries, - valuesId = R.array.gpuTextureSizeSwizzleValues + min = 1, + max = 9 ) ) put( - SingleChoiceSetting( + SpinBoxSetting( IntSetting.GPU_UNSWIZZLE_STREAM_SIZE, titleId = R.string.gpu_unswizzle_stream_size, descriptionId = R.string.gpu_unswizzle_stream_size_description, - choicesId = R.array.gpuSwizzleEntries, - valuesId = R.array.gpuSwizzleValues + min = 1, + max = 9 ) ) put( - SingleChoiceSetting( + SpinBoxSetting( IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE, titleId = R.string.gpu_unswizzle_chunk_size, descriptionId = R.string.gpu_unswizzle_chunk_size_description, - choicesId = R.array.gpuSwizzleChunkEntries, - valuesId = R.array.gpuSwizzleChunkValues - ) - ) - put( - GpuUnswizzleSetting( - titleId = R.string.gpu_unswizzle_settings, - descriptionId = R.string.gpu_unswizzle_settings_description, - textureSizeChoicesId = R.array.gpuTextureSizeSwizzleEntries, - textureSizeValuesId = R.array.gpuTextureSizeSwizzleValues, - streamSizeChoicesId = R.array.gpuSwizzleEntries, - streamSizeValuesId = R.array.gpuSwizzleValues, - chunkSizeChoicesId = R.array.gpuSwizzleChunkEntries, - chunkSizeValuesId = R.array.gpuSwizzleChunkValues + min = 1, + max = 9 ) ) put( diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/GpuUnswizzleDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/GpuUnswizzleDialogFragment.kt deleted file mode 100644 index e14bc7639e..0000000000 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/GpuUnswizzleDialogFragment.kt +++ /dev/null @@ -1,206 +0,0 @@ -// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - -package org.yuzu.yuzu_emu.features.settings.ui - -import android.app.Dialog -import android.content.DialogInterface -import android.os.Bundle -import android.view.LayoutInflater -import android.widget.ArrayAdapter -import androidx.fragment.app.DialogFragment -import androidx.fragment.app.activityViewModels -import com.google.android.material.dialog.MaterialAlertDialogBuilder -import org.yuzu.yuzu_emu.R -import org.yuzu.yuzu_emu.databinding.DialogGpuUnswizzleBinding -import org.yuzu.yuzu_emu.features.settings.model.view.GpuUnswizzleSetting - -class GpuUnswizzleDialogFragment : DialogFragment() { - private var position = 0 - private val settingsViewModel: SettingsViewModel by activityViewModels() - private lateinit var binding: DialogGpuUnswizzleBinding - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - position = requireArguments().getInt(POSITION) - - if (settingsViewModel.clickedItem == null) dismiss() - } - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - binding = DialogGpuUnswizzleBinding.inflate(LayoutInflater.from(requireContext())) - val item = settingsViewModel.clickedItem as GpuUnswizzleSetting - - // Setup texture size dropdown - val textureSizeEntries = resources.getStringArray(item.textureSizeChoicesId) - val textureSizeValues = resources.getIntArray(item.textureSizeValuesId) - val textureSizeAdapter = ArrayAdapter( - requireContext(), - android.R.layout.simple_dropdown_item_1line, - textureSizeEntries.toMutableList() - ) - binding.dropdownTextureSize.setAdapter(textureSizeAdapter) - - // Setup stream size dropdown - val streamSizeEntries = resources.getStringArray(item.streamSizeChoicesId) - val streamSizeValues = resources.getIntArray(item.streamSizeValuesId) - val streamSizeAdapter = ArrayAdapter( - requireContext(), - android.R.layout.simple_dropdown_item_1line, - streamSizeEntries.toMutableList() - ) - binding.dropdownStreamSize.setAdapter(streamSizeAdapter) - - // Setup chunk size dropdown - val chunkSizeEntries = resources.getStringArray(item.chunkSizeChoicesId) - val chunkSizeValues = resources.getIntArray(item.chunkSizeValuesId) - val chunkSizeAdapter = ArrayAdapter( - requireContext(), - android.R.layout.simple_dropdown_item_1line, - chunkSizeEntries.toMutableList() - ) - binding.dropdownChunkSize.setAdapter(chunkSizeAdapter) - - // Load current values - val isEnabled = item.isEnabled() - binding.switchEnable.isChecked = isEnabled - - if (isEnabled) { - val textureSizeIndex = textureSizeValues.indexOf(item.getTextureSize()) - if (textureSizeIndex >= 0) { - binding.dropdownTextureSize.setText(textureSizeEntries[textureSizeIndex], false) - } - - val streamSizeIndex = streamSizeValues.indexOf(item.getStreamSize()) - if (streamSizeIndex >= 0) { - binding.dropdownStreamSize.setText(streamSizeEntries[streamSizeIndex], false) - } - - val chunkSizeIndex = chunkSizeValues.indexOf(item.getChunkSize()) - if (chunkSizeIndex >= 0) { - binding.dropdownChunkSize.setText(chunkSizeEntries[chunkSizeIndex], false) - } - } else { - // Set default/recommended values when disabling - binding.dropdownTextureSize.setText(textureSizeEntries[3], false) - binding.dropdownStreamSize.setText(streamSizeEntries[3], false) - binding.dropdownChunkSize.setText(chunkSizeEntries[3], false) - } - - // Clear adapter filters after setText to fix rotation bug - textureSizeAdapter.filter.filter(null) - streamSizeAdapter.filter.filter(null) - chunkSizeAdapter.filter.filter(null) - - // Enable/disable dropdowns based on switch state - updateDropdownsState(isEnabled) - binding.switchEnable.setOnCheckedChangeListener { _, checked -> - updateDropdownsState(checked) - } - - val dialog = MaterialAlertDialogBuilder(requireContext()) - .setTitle(item.title) - .setView(binding.root) - .create() - - // Setup button listeners - binding.btnDefault.setOnClickListener { - // Reset to defaults - item.reset() - // Refresh values with adapters reset - val textureSizeIndex = textureSizeValues.indexOf(item.getTextureSize()) - if (textureSizeIndex >= 0) { - binding.dropdownTextureSize.setText(textureSizeEntries[textureSizeIndex], false) - } - val streamSizeIndex = streamSizeValues.indexOf(item.getStreamSize()) - if (streamSizeIndex >= 0) { - binding.dropdownStreamSize.setText(streamSizeEntries[streamSizeIndex], false) - } - val chunkSizeIndex = chunkSizeValues.indexOf(item.getChunkSize()) - if (chunkSizeIndex >= 0) { - binding.dropdownChunkSize.setText(chunkSizeEntries[chunkSizeIndex], false) - } - // Clear filters - textureSizeAdapter.filter.filter(null) - streamSizeAdapter.filter.filter(null) - chunkSizeAdapter.filter.filter(null) - - settingsViewModel.setAdapterItemChanged(position) - settingsViewModel.setShouldReloadSettingsList(true) - } - - binding.btnCancel.setOnClickListener { - dialog.dismiss() - } - - binding.btnOk.setOnClickListener { - if (binding.switchEnable.isChecked) { - item.enable() - // Save the selected values - val selectedTextureIndex = textureSizeEntries.indexOf( - binding.dropdownTextureSize.text.toString() - ) - if (selectedTextureIndex >= 0) { - item.setTextureSize(textureSizeValues[selectedTextureIndex]) - } - - val selectedStreamIndex = streamSizeEntries.indexOf( - binding.dropdownStreamSize.text.toString() - ) - if (selectedStreamIndex >= 0) { - item.setStreamSize(streamSizeValues[selectedStreamIndex]) - } - - val selectedChunkIndex = chunkSizeEntries.indexOf( - binding.dropdownChunkSize.text.toString() - ) - if (selectedChunkIndex >= 0) { - item.setChunkSize(chunkSizeValues[selectedChunkIndex]) - } - } else { - // Disable GPU unswizzle - item.disable() - } - - settingsViewModel.setAdapterItemChanged(position) - settingsViewModel.setShouldReloadSettingsList(true) - dialog.dismiss() - } - - // Ensure filters are cleared after dialog is shown - binding.root.post { - textureSizeAdapter.filter.filter(null) - streamSizeAdapter.filter.filter(null) - chunkSizeAdapter.filter.filter(null) - } - - return dialog - } - - private fun updateDropdownsState(enabled: Boolean) { - binding.layoutTextureSize.isEnabled = enabled - binding.dropdownTextureSize.isEnabled = enabled - binding.layoutStreamSize.isEnabled = enabled - binding.dropdownStreamSize.isEnabled = enabled - binding.layoutChunkSize.isEnabled = enabled - binding.dropdownChunkSize.isEnabled = enabled - } - - companion object { - const val TAG = "GpuUnswizzleDialogFragment" - const val POSITION = "Position" - - fun newInstance( - settingsViewModel: SettingsViewModel, - item: GpuUnswizzleSetting, - position: Int - ): GpuUnswizzleDialogFragment { - val dialog = GpuUnswizzleDialogFragment() - val args = Bundle() - args.putInt(POSITION, position) - dialog.arguments = args - settingsViewModel.clickedItem = item - return dialog - } - } -} diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt index d7311eded5..9c51c49198 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt @@ -102,10 +102,6 @@ class SettingsAdapter( PathViewHolder(ListItemSettingBinding.inflate(inflater), this) } - SettingsItem.TYPE_GPU_UNSWIZZLE -> { - GpuUnswizzleViewHolder(ListItemSettingBinding.inflate(inflater), this) - } - else -> { HeaderViewHolder(ListItemSettingsHeaderBinding.inflate(inflater), this) } @@ -479,14 +475,6 @@ class SettingsAdapter( settingsViewModel.setShouldShowPathResetDialog(true) } - fun onGpuUnswizzleClick(item: GpuUnswizzleSetting, position: Int) { - GpuUnswizzleDialogFragment.newInstance( - settingsViewModel, - item, - position - ).show(fragment.childFragmentManager, GpuUnswizzleDialogFragment.TAG) - } - private class DiffCallback : DiffUtil.ItemCallback() { override fun areItemsTheSame(oldItem: SettingsItem, newItem: SettingsItem): Boolean { return oldItem.setting.key == newItem.setting.key diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/GpuUnswizzleViewHolder.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/GpuUnswizzleViewHolder.kt deleted file mode 100644 index 06701eb077..0000000000 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/GpuUnswizzleViewHolder.kt +++ /dev/null @@ -1,71 +0,0 @@ -// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - -package org.yuzu.yuzu_emu.features.settings.ui.viewholder - -import android.view.View -import org.yuzu.yuzu_emu.R -import org.yuzu.yuzu_emu.databinding.ListItemSettingBinding -import org.yuzu.yuzu_emu.features.settings.model.view.GpuUnswizzleSetting -import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem -import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter -import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible - -class GpuUnswizzleViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : - SettingViewHolder(binding.root, adapter) { - private lateinit var setting: GpuUnswizzleSetting - - override fun bind(item: SettingsItem) { - setting = item as GpuUnswizzleSetting - binding.textSettingName.text = setting.title - binding.textSettingDescription.setVisible(item.description.isNotEmpty()) - binding.textSettingDescription.text = item.description - - binding.textSettingValue.setVisible(true) - val resMgr = binding.root.context.resources - - if (setting.isEnabled()) { - // Show a summary of current settings - val textureSizeEntries = resMgr.getStringArray(setting.textureSizeChoicesId) - val textureSizeValues = resMgr.getIntArray(setting.textureSizeValuesId) - val textureSizeIndex = textureSizeValues.indexOf(setting.getTextureSize()) - val textureSizeLabel = if (textureSizeIndex >= 0) textureSizeEntries[textureSizeIndex] else "?" - - val streamSizeEntries = resMgr.getStringArray(setting.streamSizeChoicesId) - val streamSizeValues = resMgr.getIntArray(setting.streamSizeValuesId) - val streamSizeIndex = streamSizeValues.indexOf(setting.getStreamSize()) - val streamSizeLabel = if (streamSizeIndex >= 0) streamSizeEntries[streamSizeIndex] else "?" - - val chunkSizeEntries = resMgr.getStringArray(setting.chunkSizeChoicesId) - val chunkSizeValues = resMgr.getIntArray(setting.chunkSizeValuesId) - val chunkSizeIndex = chunkSizeValues.indexOf(setting.getChunkSize()) - val chunkSizeLabel = if (chunkSizeIndex >= 0) chunkSizeEntries[chunkSizeIndex] else "?" - - binding.textSettingValue.text = "$textureSizeLabel ⋅ $streamSizeLabel ⋅ $chunkSizeLabel" - } else { - binding.textSettingValue.text = resMgr.getString(R.string.gpu_unswizzle_disabled) - } - - binding.buttonClear.setVisible(setting.clearable) - binding.buttonClear.setOnClickListener { - adapter.onClearClick(setting, bindingAdapterPosition) - } - - setStyle(setting.isEditable, binding) - } - - override fun onClick(clicked: View) { - if (!setting.isEditable) { - return - } - - adapter.onGpuUnswizzleClick(setting, bindingAdapterPosition) - } - - override fun onLongClick(clicked: View): Boolean { - if (setting.isEditable) { - return adapter.onLongClick(setting, bindingAdapterPosition) - } - return false - } -} diff --git a/src/android/app/src/main/res/values-ar/strings.xml b/src/android/app/src/main/res/values-ar/strings.xml index 3fc4c0c139..d120f8ff7c 100644 --- a/src/android/app/src/main/res/values-ar/strings.xml +++ b/src/android/app/src/main/res/values-ar/strings.xml @@ -507,10 +507,7 @@ يُصلح مشاكل انعكاس الألوان في الألعاب أو ظهور تشوهات غريبة أو ظلال غريبة. استخدم تظليل غير متزامن يقوم بتجميع التظليل بشكل غير متزامن. قد يقلل ذلك من التقطعات ولكنه قد يؤدي أيضًا إلى حدوث أخطاء. - إعدادات إلغاء ترتيب بيانات وحدة معالجة الرسومات - قم بضبط معلمات فكّ تشابك النسيج المستندة إلى وحدة معالجة الرسومات أو تعطيلها تمامًا. اضبط هذه الإعدادات لتحقيق التوازن بين الأداء وجودة تحميل النسيج. تفعيل إلغاء ترتيب بيانات وحدة معالجة الرسومات - تعطيل الحد الأقصى لحجم النسيج في وحدة معالجة الرسومات بعد إعادة ترتيب البيانات يُحدد هذا الخيار الحد الأقصى لحجم (ميغابايت) معالجة الصور باستخدام وحدة معالجة الرسومات. مع أن وحدة معالجة الرسومات أسرع في معالجة الصور المتوسطة والكبيرة، إلا أن وحدة المعالجة المركزية قد تكون أكثر كفاءة في معالجة الصور الصغيرة جدًا. اضبط هذا الخيار لتحقيق التوازن الأمثل بين سرعة معالجة الرسومات واستهلاك وحدة المعالجة المركزية. حجم تدفق إلغاء ترتيب بيانات وحدة معالجة الرسومات @@ -950,25 +947,10 @@ مرتفع (512) - صغير جدًا (16 ميغابايت) - صغير (32 ميغابايت) - قياسي (128 ميغابايت) - كبير (256 ميغابايت) - كبير جدًا (512 ميغابايت) - منخفض جدًا (4 ميغابايت) - منخفض (8 ميغابايت) - قياسي (16 ميغابايت) - متوسط (32 ميغابايت) - عالي (64 ميغابايت) - منخفض جدًا (32) - منخفض (64) - قياسي (128) - متوسط (256) - عالي (512) مئوية diff --git a/src/android/app/src/main/res/values-de/strings.xml b/src/android/app/src/main/res/values-de/strings.xml index d2988d2b27..e99ba0b9b9 100644 --- a/src/android/app/src/main/res/values-de/strings.xml +++ b/src/android/app/src/main/res/values-de/strings.xml @@ -882,25 +882,10 @@ Wirklich fortfahren? Hoch (512) - Sehr klein (16 MB) - Klein (32 MB) - Normal (128 MB) - Groß (256 MB) - Sehr groß (512 MB) - Sehr niedrig (4 MB) - Niedrig (8 MB) - Normal (16 MB) - Mittel (32 MB) - Hoch (64 MB) - Sehr niedrig (32) - Niedrig (64) - Normal (128) - Mittel (256) - Hoch (512) Celsius diff --git a/src/android/app/src/main/res/values-es/strings.xml b/src/android/app/src/main/res/values-es/strings.xml index 35257c2beb..bef2670ebb 100644 --- a/src/android/app/src/main/res/values-es/strings.xml +++ b/src/android/app/src/main/res/values-es/strings.xml @@ -501,10 +501,7 @@ Soluciona problemas con colores invertidos en juegos, artefactos o sombras extrañas. Usar sombreadores asíncronos Compila los sombreadores de forma asíncrona. Esto puede reducir los tirones, pero también puede introducir errores gráficos. - Ajustes de desentrelazado de la GPU - Configura los parámetros de desentrelazado de texturas basadas ​​en la GPU o desactívelos por completo. Modifique estos ajustes para equilibrar el rendimiento y la calidad de las texturas cargadas. Activar desentrelazado de la GPU - Desactivado Tamaño máximo de textura de desentrelazado de la GPU Establece el tamaño máximo (en MB) para el desentrelazado de texturas basada en GPU. Aunque la GPU es más rápida para texturas medianas y grandes, la CPU puede ser más eficiente para texturas muy pequeñas. Ajuste este valor para encontrar el equilibrio entre la aceleración de la GPU y la sobrecarga de la CPU. Tamaño del flujo de desentrelazado de la GPU @@ -944,25 +941,10 @@ Alto (512) - Muy pequeño (16 MB) - Pequeño (32 MB) - Normal (128 MB) - Grande (256 MB) - Muy grande (512 MB) - Muy bajo (4 MB) - Bajo (8 MB) - Normal (16 MB) - Medio (32 MB) - Alto (64 MB) - Muy bajo (32) - Bajo (64) - Normal (128) - Medio (256) - Alto (512) Celsius diff --git a/src/android/app/src/main/res/values-ru/strings.xml b/src/android/app/src/main/res/values-ru/strings.xml index caa30851a0..7b5d76d2fd 100644 --- a/src/android/app/src/main/res/values-ru/strings.xml +++ b/src/android/app/src/main/res/values-ru/strings.xml @@ -498,10 +498,7 @@ Исправить эффекты размытия Использовать асинхронные шейдеры Компилирует шейдеры асинхронно. Это может уменьшить подтормаживания, но также может вызвать графические артефакты. - Настройки распаковки текстур (Unswizzle) - Настройте параметры распаковки текстур на стороне ГПУ либо полностью отключите эту функцию. Изменение этих параметров позволяет найти баланс между производительностью и качеством загрузки текстур. Включить распаковку текстур (Unswizzle) - Отключено Макс. размер текстуры Unswizzle Задает максимальный размер (в МБ) текстур для преобразования формата (unswizzle) на ГПУ. Хотя ГПУ быстрее работает со средними и большими текстурами, ЦП может быть эффективнее для очень маленьких. Настройте это значение, чтобы найти баланс между ускорением на ГПУ и нагрузкой на ЦП. Размер потока Unswizzle @@ -941,25 +938,10 @@ Высокое (512) - Очень малый (16 МБ) - Малый (32 МБ) - Обычный (128 МБ) - Большой (256 МБ) - Очень большой (512 МБ) - Очень низкий (4 МБ) - Низкий (8 МБ) - Обычный (16 МБ) - Средний (32 МБ) - Высокий (64 МБ) - Очень малый (32) - Малый (64) - Обычный (128) - Средний (256) - Большой (512) Цельсий diff --git a/src/android/app/src/main/res/values-uk/strings.xml b/src/android/app/src/main/res/values-uk/strings.xml index 3338d48d68..8e7cdcd103 100644 --- a/src/android/app/src/main/res/values-uk/strings.xml +++ b/src/android/app/src/main/res/values-uk/strings.xml @@ -503,10 +503,7 @@ Виправляє проблеми з інвертованими кольорами в іграх або дивними артефактами чи тінями. Асинхронні шейдери Компілює шейдери асинхронно. Це може зменшити затримки, але також може спричинити графічні баги. - Налаштування розпакування за допомогою ГП - Налаштуйте розпакування текстур за допомогою ГП або повністю вимкнути його. Відкоригуйте ці налаштування, щоб урівноважити продуктивність і якість завантаження текстур. Увімкнути розпакування за допомогою ГП - Вимкнено Максимальний розмір текстур для розпакування ГП за допомогою ГП Встановлює максимальний розмір (МБ) для розпакування текстур за допомогою ГП. ГП швидше справляється з текстурами середніх і великих розмірів, а ЦП ефективніший для дуже маленьких. Налаштуйте, щоб збалансувати ГП-прискоренням і навантаженням на ЦП. Розмір потоку розпакування за допомогою ГП @@ -946,25 +943,10 @@ Високо (512) - Дуже малий (16 МБ) - Малий (32 МБ) - Нормальний (128 МБ) - Великий (256 МБ) - Дуже великий (512 МБ) - Дуже низький (4 МБ) - Низький (8 МБ) - Нормальний (16 МБ) - Середній (32 МБ) - Високий (64 МБ) - Дуже низький (32) - Низький (64) - Нормальний (128) - Середній (256) - Високий (512) Цельсій diff --git a/src/android/app/src/main/res/values-zh-rCN/strings.xml b/src/android/app/src/main/res/values-zh-rCN/strings.xml index 7777b40767..3d2f089fd3 100644 --- a/src/android/app/src/main/res/values-zh-rCN/strings.xml +++ b/src/android/app/src/main/res/values-zh-rCN/strings.xml @@ -497,10 +497,7 @@ 修复了游戏中的颜色反转以及出现的异常画面瑕疵或奇怪阴影问题 使用异步着色器 异步编译着色器。这可能会减少卡顿,但也可能会导致图形错误。 - GPU 还原设置 - 配置基于 GPU 的纹理还原参数,或将其完全禁用。调整这些设置以平衡性能与纹理加载质量。 启用 GPU 还原 - 禁用 GPU 还原最大纹理尺寸 设置基于 GPU 的纹理还原的最大尺寸(单位:MiB)。\n虽然 GPU 在处理中型和大型纹理时速度更快,但对于非常小的纹理,CPU 的效率可能更高。\n调整此设置,以便在 GPU 加速和 CPU 开销之间找到最佳平衡点。 GPU 还原流大小 @@ -940,25 +937,10 @@ 高 (512) - 极小 (16 MB) - 较小 (32 MB) - 正常 (128 MB) - 较大 (256 MB) - 极大 (512 MB) - 极低 (4 MB) - 低 (8 MB) - 正常 (16 MB) - 中 (32 MB) - 高 (64 MB) - 极低 (32) - 低 (64) - 正常 (128) - 中 (256) - 高 (512) 摄氏度 diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml index 99838b98cc..0c3d0a5eba 100644 --- a/src/android/app/src/main/res/values/arrays.xml +++ b/src/android/app/src/main/res/values/arrays.xml @@ -541,54 +541,6 @@ 2 - - @string/gpu_texturesizeswizzle_verysmall - @string/gpu_texturesizeswizzle_small - @string/gpu_texturesizeswizzle_normal - @string/gpu_texturesizeswizzle_large - @string/gpu_texturesizeswizzle_verylarge - - - - 0 - 1 - 2 - 3 - 4 - - - - @string/gpu_swizzle_verylow - @string/gpu_swizzle_low - @string/gpu_swizzle_normal - @string/gpu_swizzle_medium - @string/gpu_swizzle_high - - - - 0 - 1 - 2 - 3 - 4 - - - - @string/gpu_swizzlechunk_verylow - @string/gpu_swizzlechunk_low - @string/gpu_swizzlechunk_normal - @string/gpu_swizzlechunk_medium - @string/gpu_swizzlechunk_high - - - - 0 - 1 - 2 - 3 - 4 - - @string/temperature_celsius @string/temperature_fahrenheit diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index d143a12f4e..7674a4bbca 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -513,10 +513,7 @@ Fixes problems with inverted colors in games or strange artifacts or strange shadows. Use asynchronous shaders Compiles shaders asynchronously. This may reduce stutters but may also introduce glitches. - GPU Unswizzle Settings - Configure GPU-based texture unswizzling parameters or disable it entirely. Adjust these settings to balance performance and texture loading quality. Enable GPU Unswizzle - Disabled GPU Unswizzle Max Texture Size Sets the maximum size (MB) for GPU-based texture unswizzling. While the GPU is faster for medium and large textures, the CPU may be more efficient for very small ones. Adjust this to find the balance between GPU acceleration and CPU overhead. GPU Unswizzle Stream Size @@ -965,25 +962,10 @@ High (512) - Very Small (16 MB) - Small (32 MB) - Normal (128 MB) - Large (256 MB) - Very Large (512 MB) - Very Low (4 MB) - Low (8 MB) - Normal (16 MB) - Medium (32 MB) - High (64 MB) - Very Low (32) - Low (64) - Normal (128) - Medium (256) - High (512) Celsius diff --git a/src/common/settings.h b/src/common/settings.h index a9c625d584..d791c521f3 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -563,7 +563,7 @@ struct Values { SwitchableSetting gpu_unswizzle_texture_size{linkage, 6, 1, - 16, + 9, "gpu_unswizzle_texture_size", Category::RendererHacks, Specialization::Default}; @@ -571,7 +571,7 @@ struct Values { SwitchableSetting gpu_unswizzle_stream_size{linkage, 4, 1, - 16, + 9, "gpu_unswizzle_stream_size", Category::RendererHacks, Specialization::Default}; @@ -579,7 +579,7 @@ struct Values { SwitchableSetting gpu_unswizzle_chunk_size{linkage, 7, 1, - 16, + 9, "gpu_unswizzle_chunk_size", Category::RendererHacks, Specialization::Default};