Xenia-canary.config.toml注释汉化
发表于:2025-12-08 | 分类: XBOX360

基于20251205的xenia-canary.config.toml注释汉化

[APU]
apu = “any” # 音频系统。使用: [any, nop, sdl, xaudio2]
apu_max_queued_frames = 8 # 允许更改最大缓冲音频帧以减少音频延迟。降低此值可能会导致性能问题。取值范围: [4-64]
enable_xmp = true # 启用音乐播放器播放。
ffmpeg_verbose = false # 详细FFmpeg输出(调试及以上)
mute = false # 将所有音频输出静音。
use_dedicated_xma_thread = true # 在单独的线程上启用XMA解码。禁用应该产生更好的结果,但会稍微降低性能。
xma_decoder = “new” # 支持使用新的实验XMA音频解码器。
# 使用: [fake, master, old, new]
# fake:
# 不会解码任何音频。
# master:
# 解码器版本与 Xenia 基础版本完全相同。
# old:
# 基于主版本解码器并做了一些改进的解码器。
# new:
# 新版解码器。提供了最高的稳定性,但尚未完成。

xmp_default_volume = 70 # 如果游戏未设置默认音乐音量 [0-100].

[CPU]
break_condition_gpr = -1 # GPR 比较
break_condition_op = “eq” # 比较运算符
break_condition_truncate = true # 将值截断为32位
break_condition_value = 0 # 被比较的值
break_on_debugbreak = true # 在JIT编译的 __debugbreak 请求上触发 int3 中断。
break_on_instruction = 0 # 在给定的客户机地址被执行前触发 int3 中断。
break_on_start = false # 启动时中断调试器。
break_on_unimplemented_instructions = true # 如果遇到未实现的 PowerPC 指令,则中断到主机调试器(若无调试器附加则崩溃)。
clock_no_scaling = false # 禁用缩放代码。绕过时间和锁管理。直接从主机获取客户机系统时间。
clock_source_raw = false # 使用 RDTSC 指令作为时间源。主机 CPU 必须支持不变 TSC(Invariant TSC)。
cpu = “any” # 什么也不做。CPU后端 [any, x64]。
debug_symbol_loader = false # 启用 dbghelp 调试日志记录和验证。
debugprint_trap_log = false # 将调试打印debug记录到活动调试器
disable_context_promotion = false # 禁用上下文提升(Context Promotion)优化,某些体育游戏可能需要此设置,但会降低性能
disable_instruction_infocache = false # 禁用对已调用指令/MMIO 访问记录的缓存。
disable_prefetch_and_cachecontrol = true # 禁用将 PowerPC 预取/缓存刷新指令转换为主机的预取/缓存刷新指令。这可能会提升性能,因为这些指令原本是为 Xbox 360 的缓存机制设计的,而现代处理器会自行执行自动预取操作。
disassemble_functions = false # 在生成过程中反汇编函数。
dump_translated_hir_functions = false # 转储翻译后的 HIR(High-Level Intermediate Representation,高级中间表示)。
elide_e0_check = false # 在某些内存访问(例如对 r13(线程局部存储)或 r1(栈指针)的访问)上消除 e0 检查。
emit_mmio_aware_stores_for_recorded_exception_addresses = true # 使用通过 record_mmio_access_exceptions 收集的信息,生成比触发异常更快的特殊存储操作。
emit_source_annotations = false # 添加额外的 mov 指令和 nop 指令,以使反汇编结果更易于阅读。
enable_early_precompilation = false # 启用预编译来宾函数,这些函数要么是我们已知调用过的,要么是通过简单启发式方法识别出的函数。此功能对使用 JIT(即时编译器)进行错误查找和压力测试很有帮助。
full_optimization_even_with_debug = false # 供开发者分析生成代码的质量使用,不用于代码的实际调试。
ignore_trap_instructions = true # 对 PowerPC 的 trap 指令不生成任何代码,这可能会在那些频繁使用 trap 进行检查的游戏中带来更好的性能。
ignore_undefined_externs = true # 调用未定义的外部函数时,不退出程序。
inline_loadclock = false # 直接读取缓存的来宾时钟,而不调用 LoadClock 方法(该时钟会因其他线程的调用而反复更新)。
inline_mmio_access = true # 内联常量 MMIO(内存映射 I/O)的加载和存储操作。
load_module_map = “” # 加载一个 .map 文件以获取符号名称,并与生成的符号数据库进行比较。
no_reserved_ops = false # 用于测试游戏在存在缺陷的保留加载/存储实现时是否可能出现竞争条件。
no_round_to_single = false # 非面向用户的功能,会导致游戏出错。跳过将双精度浮点数(double)四舍五入为单精度(float)再转回的操作。
permit_float_constant_evaluation = false # 允许浮点常量求值,但这可能会产生不正确的结果,并破坏游戏中的数学运算。
pvr = 7407360 # 已知的 PVR 型号。(注:PVR 通常指 PowerVR,一种图形处理器,常见于游戏主机或嵌入式设备中,此处可能指代特定硬件或模拟器中的图形芯片型号。)
# 0x710200 = 由 Zephyr 使用
# 0x710300 = 由 Zephyr 使用
# 0x710500 = 由 Jasper 使用
# 0x710700 = 默认
# 0x710800 = 由 Corona V1 & V2 使用
# 处理器版本和修订号。
# 第 0 到 15 位是版本号。
# 第 16 到 31 位是修订号。
# 注意:某些 XEX 文件(例如 mfgbootlauncher.xex)可能会检查是否小于 0x710700 的值。

store_all_context_values = false # 不要移除无效的上下文存储,以帮助调试。
trace_function_coverage = false # 生成用于函数指令覆盖率统计的跟踪信息。
trace_function_data = false # 生成用于函数结果数据的跟踪信息。
trace_function_data_path = “” # 用于写入跟踪数据的文件。
trace_function_references = false # 生成用于函数地址引用的跟踪信息。
trace_functions = false # 生成用于函数统计信息的跟踪信息。
use_fast_dot_product = false # 实验性优化,在点积运算中使用更短的指令序列,将 inf(无穷大)视为溢出处理,而不是使用 mcxsrfour 指令进行点积运算。
validate_hir = false # 在编译期间对 HIR 执行验证检查。
writable_code_segments = false # 允许程序在内存中写入自己的代码段。

[Config]
defaults_date = 2025120421 # 不要修改——这是配置中默认值的内部版本,用于在任何选项的默认值更改时实现无缝更新。

[Content]
license_mask = -1 # 设置已激活内容的许可证掩码。(这个选项就是开有DLC的游戏,如果游戏有DLC加载建议数值为-1)
# 0 = 没有启用任何许可证。
# 1 = 已启用第一个许可证。通常在Xbox Live Arcade游戏中代表完整版许可证。
#
# -1 or 0xFFFFFFFF = 启用所有可能的许可证。通常不建议这样做,可能会导致未定义的行为。
#

[D3D12]
d3d12_adapter = -1 # 要使用的 DXGI 适配器的索引。-1 表示任何物理适配器,-2 表示 WARP 软件渲染。
d3d12_allow_variable_refresh_rate_and_tearing = true # 在全屏模式下,允许在支持可变刷新率的显示器上使用该功能。在不支持 VRR 的显示器上,某些情况下可能会出现屏幕撕裂。
d3d12_bindless = true # 在可用的地方使用无绑定资源——可能会提升性能,但可能会使调试更加复杂。
d3d12_break_on_error = false # 在 Direct3D 12 验证错误时中断。
d3d12_break_on_warning = false # 在 Direct3D 12 验证警告时中断。
d3d12_debug = false # 启用 Direct3D 12 和 DXGI 调试层。
d3d12_dxbc_disasm = false # 在生成后反汇编 DXBC 着色器。
d3d12_dxbc_disasm_dxilconv = false # 如果操作系统支持DXIL着色器,并且在https://github.com/microsoft/DirectXShaderCompiler/releases上提供了DirectX着色器编译器DLL,则在转换为DXIL后,对DXBC着色器进行反汇编
d3d12_pipeline_creation_threads = -1 # 用于图形管线创建的线程数。-1 表示自动计算(逻辑 CPU 核心数的 75%),正数表示明确指定线程数(不超过逻辑 CPU 核心数),0 表示禁用多线程管线创建。
d3d12_queue_priority = 1 # 图形(直接)命令队列调度优先级,0 - 正常,1 - 高,2 - 全局实时(需要管理员权限,可能影响系统响应能力)。
d3d12_submit_on_primary_buffer_end = true # 在 PM4 主缓冲区结束时提交命令列表,如果可以立即提交,则尝试减少帧延迟。
d3d12_tessellation_wireframe = false # 以线框模式显示细分曲面,用于调试。
d3d12_tiled_shared_memory = true # 启用平铺资源以模拟共享内存。禁用它们会增加视频内存使用量(将创建一个 512 MB 的缓冲区),但可以让不支持平铺资源的图形调试器正常工作。

[Display]
fullscreen = false # 是否以全屏模式启动模拟器。
host_present_from_non_ui_thread = true # 允许GPU模拟线程直接将客户机输出呈现到主机表面,而不是通过主机窗口系统请求UI线程来执行此操作。
postprocess_antialiasing = “” # 应用于游戏图像输出的后处理抗锯齿效果。
# 当启用 AMD FidelityFX 对比度自适应锐化或超分辨率 1.0 时,强烈建议使用后处理抗锯齿。
# 使用: [none, fxaa, fxaa_extreme]
# none (或任何未在此列出的值):
# 不修改原始图像。
# fxaa:
# NVIDIA 快速近似抗锯齿 3.11,正常质量预设 (12)。
# fxaa_extreme:
# NVIDIA 快速近似抗锯齿 3.11,极致质量预设 (39)。

postprocess_dither = true # 将最终图像输出从内部精度抖动至每通道 8 位,从而使渐变效果更平滑。
# 在 10 位色深(10bpc)的显示器上,较低的 2 位仍将保留,但会向其中添加噪点。因此,对于 10 位色深显示,建议禁用此功能,但这具体取决于实际使用的显示器对 10 位色深的显示能力。

postprocess_ffx_cas_additional_sharpness = 0 # AMD FidelityFX 对比度自适应锐化(CAS)的额外锐度,取值范围为 0 到 1。
# 数值越高,图像越锐利。

postprocess_ffx_fsr_max_upsampling_passes = 4 # 在 AMD FidelityFX 超分辨率 1.0(FSR)中,在最终迭代后回退到双线性拉伸之前,执行的上采样迭代的最大次数。
# 每次迭代仅将图像放大至前一次尺寸的 2x2 倍。例如,如果游戏输出的图像为 1280x720,一次迭代后将放大至最高 2560x1440(低于 4K),两次迭代后则最高可放大至 5120x2880(包含 4K 分辨率 3840x2160),以此类推。
# 如果显示分辨率不高,此变量将不起作用;但在 4K 或 8K 等高分辨率下,若多次 FSR 上采样带来的性能开销过大,或用户希望画面边缘更柔和时,可适当降低该数值。
# 默认值为 Xenia 内部支持的最大值。

postprocess_ffx_fsr_sharpness_reduction = 0.20000000298023224 # AMD FidelityFX 超分辨率 1.0(FSR)的锐度降低值,单位为档(stops)。
# 数值越低,图像越锐利。

postprocess_scaling_and_sharpening = “” # 用于最终显示输出重采样和/或锐化的后处理效果。
# 使用: [bilinear, cas, fsr]
# bilinear (或任何未在此列出的值):
# 原始图像,1:1 显示,重采样使用简单的双线性拉伸。
# cas:
# 使用 AMD FidelityFX 对比度自适应锐化(CAS)进行锐化,适用于最高 2x2 的缩放倍率;对于更大的倍率,则额外使用双线性拉伸。
# fsr:
# 使用 AMD FidelityFX 超分辨率 1.0 (FSR) 以获得最高质量的上采样;若不进行缩放或进行下采样,则使用 AMD FidelityFX 对比度自适应锐化 (CAS) 进行锐化。
# 对于超过 2x2 的缩放倍率,需要进行多次 FSR 迭代。

present_letterbox = true # 拉伸时保持宽高比,当没有更多过扫描区域可供裁剪时,通过在图像周围显示黑边来实现。
present_render_pass_clear = true # 在支持此功能的图形后端上,使用呈现操作中的“清空渲染通道加载操作”,而不是使用仅清除信箱模式区域的清除命令。
present_safe_area_x = 100 # 在显示时为了保持宽高比且不出现黑边或拉伸,图像宽度可保留的百分比。
present_safe_area_y = 100 # 在显示时为了保持宽高比且不出现黑边或拉伸,图像高度可保留的百分比。

[GPU]
clear_memory_page_state = false # 刷新内存页面状态,以启用 GPU 写入的数据。(用于“Team Ninja”游戏,修复缺失的角色模型问题)
depth_float24_convert_in_pixel_shader = false # 使用主机深度缓冲区时,是否直接在来宾绘制的像素着色器中将深度值从主机精度(32位浮点)转换为24位浮点(20e4)。
# 如果丢失了完整的主机精度深度数据,这可以防止出现视觉瑕疵(即渲染表面的部分区域与未渲染部分交替出现的条纹状伪影:当使用“大于或等于”深度测试函数时,这些条纹宽度通常一致;而当使用“等于”函数时,未渲染部分的条纹会比渲染部分细得多)。
# 如果游戏将此前从 EDRAM(嵌入式动态随机存取存储器)逐出到普通 RAM 中的深度数据重新加载回 EDRAM,但此前包含该深度缓冲区的 EDRAM 区域已被另一个深度缓冲区覆盖,或者游戏将其加载到了与之前不同的 EDRAM 位置,那么 Xenia 将无法以原始精度恢复这些深度数据。在这种情况下,模拟器只能退而求其次,使用较低精度的数值进行转换。因此,在针对同一几何体的后续渲染过程中,表面的实际深度值将不再与深度缓冲区中存储的值匹配。
# 这是一个开销巨大的选项,因为它会导致 GPU 无法使用深度缓冲区压缩技术;同时,在启用多重采样抗锯齿(MSAA)时,它会强制像素着色器对每一个子像素采样点而非整个像素执行,导致像素着色的负载根据 MSAA 采样数量的不同而增加 2 倍或 4 倍。
# 该舍入方向由 depth_float24_round 配置变量控制。
# 请注意,当 depth_float24_round 设为 true 时,开销会进一步增加,因为无论表面是否位于先前已绘制表面的后方,都必须执行像素着色器。而当 depth_float24_round 设为 false 时,则会使用保守深度输出,因此像素着色器前的深度剔除可能仍然有效。
# 如果主机 GPU 不支持样本级着色(sample-rate shading),则仅在未使用 MSAA 时才会在像素着色器中进行该转换。
# 当深度缓冲区通过片段着色器互锁/光栅化顺序视图在软件中进行模拟时,此设置将被忽略,因为此时始终直接使用 24 位深度。

depth_float24_round = false # 当使用主机深度缓冲区,且在片段着色器中将深度值从主机精度(32 位浮点数)转换为 24 位浮点数(20e4)时,是否采用向最近的偶数舍入,而不是向零截断。
# false:
# 建议使用该选项。
# 由于该舍入方式(向最近的偶数舍入)的特性,转换后的深度值可能会比原始值更远离摄像机(即深度值变大)。
# 如果不启用depth_float24_convert_in_pixel_shader:
# 即使丢失了完整的主机精度深度数据,“大于或等于”(greater or equal)深度测试函数仍然可以正常工作,依然可以使用它来绘制同一几何体的另一个渲染通道。
# (有关完整精度深度数据丢失的更多信息,请参阅 depth_float24_convert_in_pixel_shader 的描述。.)
# 如果启用depth_float24_convert_in_pixel_shader:
# 更快——由于使用了保守深度输出,被遮挡表面的像素着色器仍然可能会被跳过。
# true:
# 仅适用于由微小的 32 位浮点舍入误差引起的特殊问题情况,例如,当游戏通过将顶点位置的 Z 值设置为 W 来尝试在摄像机平面上绘制物体时。
# 该转换可能会导致深度值向摄像机靠近,也可能导致深度值远离摄像机,具体取决于舍入的方向。
# 使用与 Direct3D 9 参考光栅化器(reference rasterizer)中相同的舍入模式。
# 如果不启用depth_float24_convert_in_pixel_shader:
# 无法从完整的主机精度深度数据丢失中恢复——在后续对同一几何体的渲染过程中,将有一半的采样点会在“大于或等于”的深度测试中失败。
# 如果启用depth_float24_convert_in_pixel_shader:
# 更慢——无法在像素着色器执行之前进行深度拒绝(即无法使用“早期内部测试”)。
# 当深度缓冲区通过软件方式模拟(通过片段着色器锁/光栅化顺序视图)时,此设置将被忽略,并且始终执行向最近偶数舍入。

depth_transfer_not_equal_test = true # 在深度渲染目标之间传输数据时,使用“不等于”(Not Equal)测试。这样,如果数据与当前深度缓冲区中的数据相同,则可以避免通过着色器深度输出进行重写,从而防止数据在往返传输过程中发生重复写入。
# 将此设置为 true 可能会使数据往返传输对深度压缩更加友好(具体取决于 GPU 的实现方式),因为任意的深度输出可能会导致深度压缩完全失效。这对后续的渲染是有利的;而将此设置为 false 则可能减少传输过程中的带宽占用,因为不需要读取之前的深度值。

disassemble_pm4 = false # 仅在调试版本中生效,若启用该选项,将反汇编并记录发送给 CP 的所有 PM4 数据包。
draw_resolution_scale_x = 1 # 用于不透明地缩放渲染分辨率的整数像素宽度缩放比例。
# 虽然支持 1、2 和 3,但任何大于 1 的数值的支持情况都取决于设备属性,例如是否支持稀疏绑定/平铺资源、每个资源的虚拟地址位数以及其他因素。
# 由于从游戏的角度来看像素变得不明确,以及半像素偏移(在不使用 MSAA 时通常不影响覆盖范围)变成了全像素偏移,游戏渲染管线中的各种特效和部分可能会出现错误。

draw_resolution_scale_y = 1 # 用于对游戏不透明地缩放渲染分辨率的整数像素宽度比例。
# 有关详细信息,请参阅 draw_resolution_scale_x。

draw_resolution_scaled_texture_offsets = true # 针对渲染到纹理的操作,考虑分辨率缩放因素,应用纹理采样指令的偏移量,以便在某些情况下实现更准确的阴影过滤、泛光(Bloom)等效果。
dump_shaders = “” # 用于着色器调试,指定在编译 GPU 着色器时将其转储到的路径。
dxbc_source_map = false # 在生成的 DXBC 中,将 Xenos 指令反汇编为注释,用于调试。
dxbc_switch = true # 使用 switch 语句而非 if 语句来进行流程控制。开启或关闭此选项可能会提高稳定性,但这很大程度上取决于显卡驱动程序对于 AMD 显卡,建议将此选项设为 true(开启),因为部分游戏在使用 if 语句进行流程控制时会出现崩溃(可能是着色器编译器试图将其“展平”导致的)。对于 Intel 核显(HD Graphics),此选项将被忽略,因为其在执行 switch 指令时会导致崩溃。
execute_unclipped_draw_vs_on_cpu = true # 对于禁用了裁剪的绘制(主要是屏幕空间绘制,例如清屏操作),尽可能在 CPU 上执行顶点着色器,以估算该次绘制所涉及的 EDRAM 范围。
# 启用此选项可能会显著提升 GPU 性能,因为否则在禁用裁剪的绘制操作中,可能会被视为使用了全部 EDRAM,从而导致在主机渲染目标之间发生不必要的 EDRAM 范围所有权传输往返。
# 此外,对于那些必须以有损方式模拟特定渲染目标格式的主机(例如,通过 16 位浮点数来模拟 16 位定点数),此选项可以防止因这些绘制操作所进行的有损范围所有权传输,而导致位于 EDRAM 中当前渲染目标之后的其他渲染目标发生损坏。

execute_unclipped_draw_vs_on_cpu_for_psi_render_backend = true # 如果启用了 execute_unclipped_draw_vs_on_cpu,那么即使在主机渲染后端使用了像素着色器交错执行(光栅化有序视图)的实现方式时,也依然要在 CPU 上执行无裁剪绘制的顶点着色器。
# 如果启用此选项,在切换位于 EDRAM 不同位置的不同渲染目标时,可能会消除多余的内存屏障(同步指令)。

execute_unclipped_draw_vs_on_cpu_with_scissor = false # 不要将 execute_unclipped_draw_vs_on_cpu 的使用限制在仅针对无裁剪区域的绘制操作上(即裁剪矩形的右侧和底边位于 8192 或更大数值的情况)。尽管当裁剪矩形存在时,通常利用它就足以估算出渲染目标的高度。
# 启用此选项可能会导致 CPU 对顶点进行过度处理,因为一些游戏在绘制矩形(例如其用户界面)时,虽然没有启用裁剪(Clipping),但已经设置了正确的裁剪矩形(Scissor Rectangle)。

force_convert_line_loops_to_strips = false # 仅用于主机图形 API 降级支持测试,强制在 CPU 上将“线框环”图元转换为“线框带”,即使主机原生支持“线框环”图元。
force_convert_quad_lists_to_triangle_lists = false # 仅用于主机图形 API 降级支持测试,强制在 CPU 上将“四边形列表”图元转换为“四边形带”,即使主机原生支持“四边形列表”图元或可通过几何着色器进行模拟。
# 当调试器无法正确显示几何着色器生成的几何体时,此选项对于图形调试也可能有用。

force_convert_triangle_fans_to_lists = false # 仅用于主机图形 API 降级支持测试,强制在 CPU 上将“三角形扇”图元转换为“三角形列表”,即使主机原生支持“三角形扇”图元。
framerate_limit = 0 # 最大帧率。0 = 无限制帧率。
# 当设置为 0 且开启垂直同步(VSYNC)时,默认值为 60。

gamma_render_target_as_srgb = false # 当主机无法直接通过正确的混合模式写入分段线性伽马(piecewise linear gamma)时,使用主机的 sRGB 输出。这样可以在概念上实现线性色彩空间的正确混合,但渲染目标中的精度分布会略有不同;并且,如果游戏直接将生成的颜色作为原始数据读取,数值将会严重错误。
gpu = “any” # 图形系统。 使用: [any, d3d12, vulkan, null]
gpu_allow_invalid_fetch_constants = true # 允许使用类型无效的纹理和顶点获取常量。这通常存在安全隐患,因为该常量可能包含完全无效的值;但为了绕过某些游戏中出现的获取常量类型错误,直到找到它们失效的根本原因之前,可以暂时使用此选项。
gpu_allow_invalid_upload_range = false # 允许游戏读取被标记为“无访问权限”的内存页中的数据。
half_pixel_offset = true # 启用顶点半像素偏移支持 (D3D9 PA_SU_VTX_CNTL PIX_CENTER)。通常情况下,游戏逻辑是基于半像素偏移设计的,因此开启此功能才是正确的行为(禁用此功能可能会严重破坏部分游戏的后处理效果)。但在某些游戏中,开发者可能忽略了这一点,导致在纹理像素间隙(而非像素中心)采样时,UI 纹理出现轻微模糊;或者在全屏渲染通道配合多重采样抗锯齿 (MSAA) 使用时,最左侧或最顶部的像素无法完全覆盖。
ignore_32bit_vertex_index_support = false # 仅用于主机图形 API 降级测试(仅对高通 Adreno 4xx 级别的主机 GPU 测试有用),强制进行间接寻址或预掩码及预交换 32 位顶点索引,就像主机仅支持 24 位索引一样。
log_guest_driven_gpu_register_written_values = false # 仅在调试版本中生效。如果启用,将记录客户机(Guest)对 GPU 寄存器所做的每一次写入操作。它不会记录由命令处理器(CP)自主执行的写入操作,仅记录由客户机直接发起或指令其执行的写入操作。
log_ringbuffer_kickoff_initiator_bts = false # 仅在调试版本中生效,如果启用,将记录写入新读取位置的客户机线程的伪堆栈跟踪信息。
mrt_edram_used_range_clamp_to_min = true # 对于主机渲染目标(Host Render Targets),如果绑定了多个渲染目标,则估算其中任意一个被修改的 EDRAM 范围,使其不超过 EDRAM 中任意两个渲染目标之间的距离;而不是允许最后一个渲染目标占据 EDRAM 剩余的所有空间。
# 主要对不包含视口裁剪的绘制操作产生影响。
# 在极少数情况下,将其设为“否”可获得更高的精度,但有时可能会增加所需的复制操作量。

native_2x_msaa = true # 如果可用,使用主机原生的 2倍多重采样抗锯齿 (MSAA)。为了在那些非强制支持 2倍抗锯齿的主机图形 API 上进行可扩展性测试,可以禁用此选项。在此情况下,将使用 4倍抗锯齿中的 2个采样代替(画质相似或更差,且显存占用更高)。
native_stencil_value_output = true # 在可用的情况下,使用像素着色器的模板参考值输出(Stencil Reference Output)来实现诸如在渲染目标之间进行复制等操作。为了进行可扩展性测试,可以禁用此功能;在这种情况下,将执行代价昂贵得多的 8 个四边形(Quads)绘制操作。
native_stencil_value_output_d3d12_intel = false # 允许在英特尔显卡的 Direct3D 12 上使用模板参考值输出功能。截至 2021 年 3 月,该功能在 UHD Graphics 630 显卡上无法正常工作(对应的驱动版本为 27.20.0100.8336)
no_discard_stencil_in_transfer_pipelines = false # 厌烦
non_seamless_cube_map = true # 在可能的情况下,禁用立方体贴图面之间在边缘附近的过滤(使用 Vulkan 的 VK_EXT_non_seamless_cube_map 扩展),以重现 Direct3D 9 的行为。
primitive_processor_cache_min_indices = 4096 # 如果进行了处理(例如图元类型转换或重置索引替换),在同一帧内尝试稍后重用时,应存储在缓存中的最少访客索引数量。
# 将其设置为过高的数值可能会导致过多的 CPU 处理开销,而设置为过低的数值则可能导致过多的加锁操作和查找操作。
# 负值将禁用缓存。

query_occlusion_sample_lower_threshold = 80 # 如果设置为 -1,则不会写入任何采样计数,游戏可能会挂起(卡死)。否则,每个瓦片(Tile)的采样计数将在每次发生 EVENT_WRITE_ZPD 事件时,增加该设定的数值。将此值设置为 0 意味着所有物体都将被视为被遮挡(不可见)。
query_occlusion_sample_upper_threshold = 100 # 设置为比“遮挡查询采样下限阈值”更高的数值。如果“遮挡查询采样下限阈值”被设置为 -1,则此值将被忽略。
readback_memexport = false # 在 CPU 上读取由着色器中的“内存导出”操作写入的数据。某些游戏可能需要此功能(但许多游戏仅在 GPU 上访问导出的数据,处理此类行为无需此标志),不过这会导致帧内同步,因此会对性能产生巨大影响。
readback_resolve = “none” # 控制对“渲染到纹理”解析结果的 CPU 读取操作。
# fast: 读取上一帧数据(1 帧延迟,无 GPU 停顿,轻微性能损耗)
# full: 等待 GPU 完成(准确但缓慢,会导致 GPU-CPU 同步停顿)
# none: 完全禁用读取回传(部分游戏在禁用该功能时渲染效果更好)

render_target_path_d3d12 = “” # 在 Direct3D 12 上使用的渲染目标模拟路径。
# 使用: [any, rtv, rov]
# rtv:
# 在宿主机上处理渲染目标、固定功能混合以及深度/模板测试,并在需要时在渲染目标之间进行复制。
# 精度较低(像素格式支持有限)。
# 性能主要受限于因渲染目标布局更改而需要进行的数据复制操作,但总体性能较高
# rov:
# 手动像素打包、混合以及深度/模板测试,且支持自由的渲染目标布局更改。
# 需要支持“光栅化顺序视图”的 GPU。
# 最高精度(所有像素格式均在软件中处理)。
# 性能主要受限于过度绘制。
# 在 AMD 显卡驱动程序中,当前在许多情况下会导致着色器编译器崩溃。
# 任何其他值:
# 选择对系统而言最优化的方案(目前默认始终为 RTV,因为 ROV 路径现在的速度要慢得多,但 Intel 显卡除外;Intel 显卡在模板测试中存在一个 Bug,会导致 Xbox 360 Direct3D 9 的清除操作无法工作)。
render_target_path_vulkan = “” # 在 Vulkan 下使用的渲染目标模拟路径。
# 使用: [any, fbo, fsi]
# fbo:
# 使用宿主机帧缓冲区以及固定功能的混合、深度/模板测试,在需要时在渲染目标之间进行复制。
# 较低的精度(像素格式支持有限)。
# 性能主要受限于需要进行复制操作的渲染目标布局更改,但总体性能更高。
# fsi:
# 手动像素打包、混合以及深度/模板测试,且渲染目标布局更改不受限制。
# 需要支持片段着色器互锁功能的显卡。
# 最高精度(所有像素格式均由软件处理)。
# 性能主要受限于过度绘制(Overdraw)。
# 任何其他值:
# 选择对系统而言最优化的方案(目前默认始终为 FB,因为 FSI 路径现在的速度要慢得多)。

resolve_resolution_scale_fill_half_pixel_offset = true # 在使用分辨率缩放时,应用一种“修改手段”:将渲染目标解析区域左侧和顶部第一个必定被覆盖的宿主机像素进行拉伸,以此消除因半像素偏移造成的间隙(某些游戏必须开启此选项才能正确显示画面图形)。
snorm16_render_target_full_range = true # 当宿主机仅能将 16_16 和 16_16_16_16 渲染目标支持为 -1…1 范围时,将 -32…32 的范围重新映射到 -1…1 范围以利用数值的完整可能范围,但代价是乘法混合的正确性。
store_shaders = true # 将着色器进行持久化存储,并在加载游戏时将其载入,以避免在非首次游玩游戏时出现运行时的性能骤降和卡顿。
target_trace_file = “” # 指定要加载的跟踪文件。
texture_cache_memory_limit_hard = 768 # 宿主机纹理显存使用的最大值(以兆字节为单位),超过此数值后,纹理将被尽快销毁。
texture_cache_memory_limit_render_to_texture = 24 # 宿主机纹理显存预算中随当前绘制分辨率缩放而变化的部分(以兆字节为单位)
# 例如,如果 texture_cache_memory_limit_soft(软性显存限制)为 384 MB,而(上一项设置的)缩放部分为 24 MB,则系统会假定该游戏将占用约 24 MB 的“渲染到纹理”(解析)目标,以及 384 - 24 = 360 MB 的普通纹理。因此,在 2x2 分辨率缩放下,软性限制将变为 360 + 96 MB;在 3x3 分辨率缩放下,软性限制将变为 360 + 216 MB。

texture_cache_memory_limit_soft = 384 # 宿主机纹理显存使用的最大值(以兆字节为单位),超过此数值后,旧的纹理将被销毁。
texture_cache_memory_limit_soft_lifetime = 30 # 当纹理显存使用量超过软性限制时,一个纹理需要处于未使用状态的秒数,达到该时长后才会被视为“足够旧”,从而被考虑删除。
trace_dump_path = “” # 导出文件的输出路径。
trace_gpu_prefix = “scratch/gpu/“ # GPU 跟踪文件的前缀路径。
trace_gpu_stream = false # 追踪所有 GPU 数据包。
use_fuzzy_alpha_epsilon = false # 对 Alpha 值使用近似比较,以防止在 NVIDIA 显卡上出现闪烁现象。
vsync = true # 启用垂直同步。

[General]
allow_game_relative_writes = false # 对普通用户无用。允许代码写入相对于 game:// 的路径。用于生成测试数据,以便与原版硬件进行对比。
allow_plugins = false # 允许从 plugins\title_id\plugin.xex 路径加载插件/修改器。插件是自制的 xex 模块,可用于制作游戏模组(Mods)。此功能为实验性功能。
apply_patches = true # 启用自定义补丁功能
controller_hotkeys = false # Xbox 和 PlayStation 控制器的快捷键设置。
debug = false # 允许调试并保留调试信息。
disable_doubleclick_fullscreen = false # 允许用户禁用“快速双击导致 Xenia 进入全屏模式”的行为。
discord = true # 启用 Discord 状态显示
launch_module = “” # 指定从 .iso 或安装包中启动的可执行文件,而非默认的 default.xex 或游戏指定的模块。留空则启动默认模块。
notification_sound_path = “” # 所选通知声音的路径(包含文件名)。声音文件必须为 wav 格式!
priority_class = 0 # 强制 Xenia 使用与默认值不同的进程优先级。这可能会影响性能,并导致意外的错误。可选值:0 - 正常,1 - 高于正常,2 - 高
recent_titles_entry_amount = 10 # 允许用户定义“最近游玩列表”中保存的游戏数量。
time_scalar = 1 # 用于加速或减慢时间的倍率(1倍、2倍、1/2倍等)。

[HACKS]
ac6_ground_fix = false # 此选项用于修复(隐藏)《阿凡达:潘多拉边境》(AC6)中的地面黑色显示问题。仅限在 AC6 中使用,应用于其他游戏可能会导致问题。

[HID]
guide_button = true # 将“指南”按钮的按键操作传递给客户系统。
hid = “any” # 输入系统。使用: [any, nop, sdl(非XBOX模式手柄), winkey(键盘), xinput(XBOX模式手柄)]()里的是注释,键值以英文为准
keyboard_mode = 0 # 允许用户指定键盘的工作模式。可选值:0 - 禁用,1 - 启用,2 - 透传(注意:透传模式需要连接控制器!)
keyboard_user_index = 0 # 键盘模拟的控制器端口。[0, 3] - 键盘被分配到选定的插槽。透传模式不需要分配插槽。
left_stick_deadzone_percentage = 0 # 定义左摇杆的死区等级。允许范围 [0.0-1.0].
right_stick_deadzone_percentage = 0 # 定义右摇杆的死区等级。允许范围 [0.0-1.0].
vibration = true # 切换控制器振动(开关)。

[HID.WinKey]
keybind_a = “0xBA” # 绑定到 A 键的按键列表,以空格分隔。
keybind_b = “0xDE” # 绑定到 B 键的按键列表,以空格分隔。
keybind_back = “Z” # 绑定到 返回 键的按键列表,以空格分隔。
keybind_dpad_down = “^S” # 绑定到 十字键下 键的按键列表,以空格分隔。
keybind_dpad_left = “^A” # 绑定到 十字键左 键的按键列表,以空格分隔。
keybind_dpad_right = “^D” # 绑定到 十字键右 键的按键列表,以空格分隔。
keybind_dpad_up = “^W” # 绑定到 十字键上 键的按键列表,以空格分隔。
keybind_guide = “0x08” # 绑定到 导航 键的按键列表,以空格分隔。
keybind_left_shoulder = “1” # 绑定到 LB(L1) 键的按键列表,以空格分隔。
keybind_left_thumb = “F” # 绑定到 左摇杆按下 键的按键列表,以空格分隔。
keybind_left_thumb_down = “_S” # 绑定到 左摇杆下 键的按键列表,以空格分隔。
keybind_left_thumb_left = “_A” # 绑定到 左摇杆左 键的按键列表,以空格分隔。
keybind_left_thumb_right = “_D” # 绑定到 左摇杆右 键的按键列表,以空格分隔。
keybind_left_thumb_up = “_W” # 绑定到 左摇杆上 键的按键列表,以空格分隔。
keybind_left_trigger = “Q I” # 绑定到 LT(L2) 键的按键列表,以空格分隔。
keybind_right_shoulder = “3” # 绑定到 RB(R1) 键的按键列表,以空格分隔。
keybind_right_thumb = “K” # 绑定到 右摇杆按下 键的按键列表,以空格分隔。
keybind_right_thumb_down = “0x28” # 绑定到 右摇杆下 键的按键列表,以空格分隔。
keybind_right_thumb_left = “0x25” # 绑定到 右摇杆左 键的按键列表,以空格分隔。
keybind_right_thumb_right = “0x27” # 绑定到 右摇杆右 键的按键列表,以空格分隔。
keybind_right_thumb_up = “0x26” # 绑定到 右摇杆上 键的按键列表,以空格分隔。
keybind_right_trigger = “E O” # 绑定到 RT(R2) 键的按键列表,以空格分隔。
keybind_start = “X” # 绑定到 开始 键的按键列表,以空格分隔。
keybind_x = “L” # 绑定到 X 键的按键列表,以空格分隔。
keybind_y = “P” # 绑定到 Y 键的按键列表,以空格分隔。

[Kernel]
allow_avatar_initialization = false # 启用头像初始化
# 仅在测试虚拟形象(Avatar)游戏时设置为 True。某些游戏可能需要 Kinect 的支持实现。

allow_incompatible_title_update = true # 允许应用签名不匹配的标题更新。
allow_nui_initialization = false # 启用 NUI 初始化
# 仅在测试 Kinect 游戏时设置为 True。某些游戏可能需要头像(Avatar)功能的支持。

apply_title_update = true # 应用标题更新。
cl = “” # 指定提供给访客系统的附加命令行参数。
default_achievements_backend = “GPD” # 定义应使用哪个成就后端作为默认设置。可能的选项:GPD。
ignore_thread_affinities = true # 忽略游戏指定的线程亲和性。(为应对12代以后酷睿的大小核设计的锁大核选项)
ignore_thread_priorities = true # 忽略游戏指定的线程优先级。(为应对12代以后酷睿的大小核设计的锁大核选项)
kernel_build_version = 1888 # 定义当前内核版本
kernel_cert_monitor = false # 启用证书监视器。
kernel_debug_monitor = false # 启用调试监视器。
kernel_display_gamma_power = 2.22222233 # 当 kernel_display_gamma_type 设置为 3 时,使用的显示伽马值。
kernel_display_gamma_type = 2 # 显示伽马类型:0 - 线性,1 - sRGB (CRT),2 - BT.709 (HDTV),3 - 由 kernel_display_gamma_power 指定的幂值。
kernel_pix = false # 启用 PIX。
log_high_frequency_kernel_calls = false # 记录带有 kHighFrequency 标签的内核调用。
staging_mode = false # 在仪表盘中启用预览模式以渲染调试信息。

[Logging]
enable_console = false # 随主窗口一同打开一个控制台窗口。
flush_log = true # 在每一批日志行写入后刷新日志文件。
log_file = “” # 日志将写入指定的文件中。
log_level = 2 # 要记录的最大级别。(0=错误,1=警告,2=信息,3=调试)
log_mask = 0 # 禁用特定分类,以获得更精细的调试日志。内核 = 1,Apu = 2,Cpu = 4,Gpu = 8。
log_string_format_kernel_calls = false # 记录带有 kHighFrequency 标签的内核调用。
log_to_debugprint = false # 将日志转储到 DebugPrint。
log_to_stdout = true # 将日志输出写入标准输出。

[Memory]
ignore_offset_for_ranged_allocations = false # 允许忽略指定范围内物理分配的 4k 偏移量。某些游戏会检查结果是否与提供的较低范围匹配。
protect_on_release = false # 保护已释放的内存,以防止访问。
protect_zero = true # 保护零页,防止读取和写入操作。
scribble_heap = false # 将 0xCD 填充到所有已分配的堆内存中。
writable_executable_memory = true # 允许映射同时具有写入和执行权限的内存,以模拟在不支持该特性的平台上的行为。

[Profiles]
logged_profile_slot_0_xuid = “” # 启动时在插槽 0 中加载的配置文件的 XUID。
logged_profile_slot_1_xuid = “” # 启动时在插槽 1 中加载的配置文件的 XUID。
logged_profile_slot_2_xuid = “” # 启动时在插槽 2 中加载的配置文件的 XUID。
logged_profile_slot_3_xuid = “” # 启动时在插槽 3 中加载的配置文件的 XUID。

[SDL]
mappings_file = “gamecontrollerdb.txt” # 包含自定义游戏控制器映射的数据库文件名。

[Storage]
cache_root = “” # 用于加速模拟器或游戏某些部分的文件的根路径。这些文件可能是持久化的,但删除它们不会产生重大副作用(例如进度丢失)。如果留空,则使用存储根目录下的缓存文件夹,或者(如果可用)操作系统首选的缓存目录。
content_root = “” # 访客内容存储的根路径(如存档等),若留空则使用存储根目录下的 content 文件夹。
force_mount_devkit = false # 强制挂载开发套件目录
mount_cache = true # 启用缓存挂载
mount_scratch = false # 启用临时存储挂载
storage_root = “” # 用于持久化内部数据存储(配置等)的根路径,若留空则使用操作系统首选的路径(如文档文件夹),或者如果模拟器可执行文件目录中存在 portable.txt,则使用该可执行文件目录。

[UI]
custom_font_path = “” # 允许用户加载自定义字体并使用它,以替换默认字体。
font_size = 14 # 允许用户设置自定义字体大小。
headless = false # 不显示任何用户界面,根据需要对提示使用默认设置。
imgui_debug = false # 显示 ImGui 调试工具。
profiler_dpi_scaling = false # 将窗口 DPI 缩放应用于分析器。
show_achievement_notification = false # 在屏幕上显示成就通知。
show_profiler = false # 默认显示性能分析界面。
storage_selection_dialog = false # 当游戏请求时,显示存储设备选择对话框。

[Video]
avpack = 8 # 视频模式
# 0 = PAL-60 分量视频(标清)
# 1 = Unused
# 2 = PAL-60 SCART
# 3 = 480p 分量视频(高清)
# 4 = HDMI+A
# 5 = PAL-60 Composite/S-Video
# 6 = VGA
# 7 = TV PAL-60
# 8 = HDMI (默认)

enable_3d_mode = false # 在游戏标题(游戏)中启用立体显示模式。
interlaced = false # 切换隔行扫描模式。
internal_display_resolution = 8 # 允许支持多种分辨率的游戏以特定分辨率进行渲染。
# 这无法保证兼容所有游戏,也不一定能提升性能。
# 0=640x480
# 1=640x576
# 2=720x480
# 3=720x576
# 4=800x600
# 5=848x480
# 6=1024x768
# 7=1152x864
# 8=1280x720 (默认)
# 9=1280x768
# 10=1280x960
# 11=1280x1024
# 12=1360x768
# 13=1440x900
# 14=1680x1050
# 15=1920x540
# 16=1920x1080
# 17=internal_display_resolution_x/y

internal_display_resolution_x = 1280 # 自定义宽度。参见 internal_display_resolution(内部显示分辨率)。范围 1-1920。
internal_display_resolution_y = 720 # 自定义高度。参见 internal_display_resolution(内部显示分辨率)。范围 1-1080。

use_50Hz_mode = false # 启用 PAL-50 模式。
video_standard = 1 # 启用在不同视频信号之间的切换。
# 1=NTSC
# 2=NTSC-J
# 3=PAL

widescreen = true # 在 16:9 和 4:3 画幅比例之间切换。

[Vulkan]
vulkan_allow_present_mode_fifo_relaxed = true # 当可用时,允许使用“宽松的先入先出”呈现模式(第三优先级)。该模式会等待主机显示器的垂直同步,但如果帧率无法跟上显示器的刷新率,可能会出现画面撕裂。
vulkan_allow_present_mode_immediate = true # 当可用时,允许使用即时呈现模式(第一优先级),该模式提供最低的延迟,但在某些情况下可能会出现画面撕裂,并且根据配置不同,可能支持可变刷新率。
vulkan_allow_present_mode_mailbox = true # 当可用时,允许使用“邮箱”呈现模式(第二优先级),该模式提供低延迟,且不会出现画面撕裂。
vulkan_device = -1 # 首选 Vulkan 物理设备的索引号,若设置为 -1 则使用任意兼容的设备。
vulkan_log_debug_messages = true # 将 Vulkan VK_EXT_debug_utils 调试信息写入 Xenia 日志,而不是操作系统的调试输出中。
vulkan_sparse_shared_memory = true # 为共享内存模拟启用稀疏绑定。禁用它会增加显存使用量(会创建一个 512 MB 的缓冲区),但可以让那些不支持稀疏绑定的图形调试器正常工作。
vulkan_validation = false # 启用 Vulkan 验证层(VK_LAYER_KHRONOS_validation)。如果开启了 ‘vulkan_log_debug_messages’,消息将写入 Xenia 日志;否则,消息将写入操作系统的调试输出。

[Win32]
win32_high_resolution_timer = true # 向 NT 内核请求高分辨率定时器。
win32_mmcss = true # 加入多媒体类调度器服务 (MMCSS),以获得对 CPU 资源的优先调度访问权。

[XConfig]
audio_flag = 65537 # 音频模式:模拟
# 0x00000001 = 杜比定向逻辑
# 0x00000002 = 模拟单声道
# 音频模式:数字
# 0x00000000 = 数字立体声(单独选择上述其中一种)
# 0x00010000 = 杜比数字
# 0x00030000 = 杜比数字(包含 WMA Pro)
# 特殊标志 或 特殊选项
# 0x00000003 = 立体声直通 或 立体声绕过
# 0x80000000 = 低延迟
# 此配置要求您将一个模拟标志和一个数字标志配对使用。
# 而数字立体声只需要一个模拟标志。附加标志是可选的。例如:0x00010001

user_country = 20 # 用户国家代码
# 1=AE 2=AL 3=AM 4=AR 5=AT 6=AU 7=AZ 8=BE 9=BG
# 10=BH 11=BN 12=BO 13=BR 14=BY 15=BZ 16=CA 18=CH 19=CL
# 20=CN(中国) 21=CO 22=CR 23=CZ 24=DE 25=DK 26=DO 27=DZ 28=EC
# 29=EE 30=EG 31=ES 32=FI 33=FO 34=FR 35=GB 36=GE 37=GR
# 38=GT 39=HK(中国香港) 40=HN 41=HR 42=HU 43=ID 44=IE 45=IL 46=IN
# 47=IQ 48=IR 49=IS 50=IT 51=JM 52=JO 53=JP 54=KE 55=KG
# 56=KR 57=KW 58=KZ 59=LB 60=LI 61=LT 62=LU 63=LV 64=LY
# 65=MA 66=MC 67=MK 68=MN 69=MO 70=MV 71=MX 72=MY 73=NI
# 74=NL 75=NO 76=NZ 77=OM 78=PA 79=PE 80=PH 81=PK 82=PL
# 83=PR 84=PT 85=PY 86=QA 87=RO 88=RU 89=SA 90=SE 91=SG
# 92=SI 93=SK 95=SV 96=SY 97=TH 98=TN 99=TR 100=TT 101=TW(中国台湾)
# 102=UA 103=US 104=UY 105=UZ 106=VE 107=VN 108=YE 109=ZA

user_language = 8 # 用户语言代码
# 1=en 2=ja 3=de 4=fr 5=es 6=it 7=ko 8=zh(中文)
# 9=pt 11=pl 12=ru 13=sv 14=tr 15=nb 16=nl 17=zh(中文)

[x64]
align_all_basic_blocks = 0 # 将所有基本块的起始位置按 N 字节对齐。仅指定 2 的幂次方数值,推荐值为 16。这将导致更大的指令缓存占用,但可能带来更快的循环执行速度。
delay_via_maybeyield = false # 通过 MaybeYield 实现 db16cyc 指令,可能改善客户机线程的调度。
enable_host_guest_stack_synchronization = true # 在函数开始处记录客户机/宿主机栈映射条目,并在返回点检查重入。会有轻微的性能影响,但能修复使用 setjmp/longjmp 的游戏崩溃问题。
enable_incorrect_roundingmode_behavior = false # 禁用 FPU/VMX MXCSR 共享的临时解决方案。这可能导致 VMX 代码中的舍入行为和非规格化数(denormal)处理出现错误。(注:该临时解决方案虽然可能会降低 CPU 性能,但能提供更精确的模拟。)
enable_rmw_context_merging = false # 允许将“读-改-写”高级中间表示指令序列合并为使用内存操作数的 x86 指令。
instrument_call_times = false # 计算函数所花费的时间,用于分析客户机代码的性能。
max_stackpoints = 65536 # 我们可以记录的宿主机到客户机栈映射的最大数量。
record_mmio_access_exceptions = true # 针对客户机地址,记录是否曾捕获到针对它们的 MMIO 访问。此信息随后可用于下一次运行,以指示重编译器生成相应的检查代码。
x64_extension_mask = -1 # 允许检测和利用特定的指令集特性。
# 0 = x86_64 + AVX1
# 1 = AVX2
# 2 = FMA
# 4 = LZCNT
# 8 = BMI1
# 16 = BMI2
# 32 = F16C
# 64 = Movbe
# 128 = GFNI
# 256 = AVX512F
# 512 = AVX512VL
# 1024 = AVX512BW
# 2048 = AVX512DQ
# 4096 = AVX512VBMI
# -1 = 检测并利用所有可能的处理器特性

xop_arithmetic_right_shifts = false # 通过 XOP 指令集实现 SAR(算术右移)。
xop_compares = true # 通过 XOP 指令集实现比较操作。
xop_left_shifts = false # 通过 XOP 指令集实现 SHL(逻辑左移)。
xop_right_shifts = false # 通过 XOP 指令集实现 SHR(逻辑右移)。
xop_rotates = false # 通过 XOP 指令集实现旋转操作。

上一篇:
NDS游戏资源
下一篇:
FC游戏资源