红人阁自动点赞(播放量双击平台)

给我的觉得是直至现今,在GPD掌机上用模拟器玩Xbox360游戏的玩家仍然极少,记得GPDWIN3发布后,有人开始尝试用模拟器跑Xbox360游戏,但好或不好、是否能玩,我始终没听到有人反馈!

由于近日更新公众号发的都是模拟器的内容,玩家提醒我说7840U的掌机玩Xbox360游戏早已可以全速,十分流畅。那这期肯定要安排上!

说实话,我对Xbox游戏只逗留在概念上,未曾玩过。与国外大多数同龄的游戏玩家一样,在PC盛行时沉溺于网游,后来没时间玩,到如今提不起兴趣玩!

红人阁自动点赞(播放量双击平台)

所以播放量双击平台,本篇我绝对是以小白的身分在写Xbox360模拟器的功略,菜鸟不要有压力,由于我跟你起步相同,前辈莫见笑,错误之处在所难免!

没错的话,最著名且相对健全的Xbox360模拟器应属Xenia。作者自己讲,去东京旅行,买了一些锁区的美国游戏,没办法在360上玩,所以才写Xenia项目。作者不装不端,问为何研究这个项目?答:由于好玩!

好了,步入题外话!下载并解压缩Xenia,只有如下三个文件:

双击Xenia.exe打开之后是这个样子的。我也是一脸的懵圈,其实也没哪些可设置的。

于是,直接暴力开整,依序点击菜单栏“File--Open”,找到下载的《光环3:最后一战》

很顺利加载!

以下是测试配置:

Xbox360模拟器:Xeniav7.0

Xbox360游戏:光环3:最后一战[英文语音][英文][GOD]

处理器:W-2175

显存:DDR42666

主板:RTX2060

系统资源占用:

Xbox360时代的游戏锁30帧很正常,但我总觉得那里不对!莫非这样就可以了吗?这款模拟器不须要用户配置?

后来了解才晓得,Xenia也是可以设置的,只是作者并没有给到配置文件,作者可能是害怕玩家不会配置或则配置错误,致使配置文件难以恢复,或使用者对自己的作品形成某种误会吧!这只是我的猜想。

更改配置文件很简单,首先在程序目录下新建一个“portable.txt”的空文本文件。

之后双击“Xenia.exe”开启主程序。这时,你会发觉目录多了一个“xenia.config.toml”的文件,这个文件就是本篇要说的配置文件。

我们退出主程序双击“xenia.config.toml”的文件,选择记事本打开。

上面是一堆变量名、变量值以及注释说明。这么作者本来可以将其弄成一个GUI界面,来对此进行更改,为何不做呢?搞不懂!

先说第一段音频部份:

apu="any"

这可不是只AMD的联通处理器,这儿的APU是指音频系统,默认值为"any"。它有四个可选项分别是:any,nop,sdl,xaudio2,其中:

ffmpeg_verbose=false

这一项拿来输出详尽的ffmpeg信息(调试及以上级别),默认为不启用。除非你是拿来做调试,可以更改为true,否则不要做改动,没有任何意义。

另外,ffmpeg是一个开源的跨平台多媒体处理工具集。它提供了一组用于处理音频、视频和多媒体流的库和程序。ffmpeg可以执行各类多媒体处理任务,如格式转换、编解码、剪辑、合并、流媒体传输等。

mute=false

这一项表示将音频输出静音,同禁用音频输出还是有区别的。默认是不启用。

这一段都是针对CPU的设置。纯粹是给开发人员调试看的,玩家不须要关心那些,也看不懂!

这段警示玩家不要更改,defaults_date=2020123113是默认值的内部版本,用于无缝更新,假如更改,会造成难以更新。

这一段,是给你选择以完整/激活模式运行游戏,还是以停用/试用/演示模式运行游戏。其中:

license_mask表示设置已激活内容的许可网段。

=0:表示不启用任何许可。

=1:表示启用第一个许可。一般是XboxLiveArcade游戏中的完整版本许可。

=-1或0xFFFFFFFF:表示启用所有可能的许可。设置它可能造成出现未知的问题。

D3D12部份,这儿玩家可选设置的项目是有一些的。诸如:

d3d12_allow_variable_refresh_rate_and_tearing=true

它表示,在全屏模式下,容许在支持可变刷新率(VRR)的显示器上使用可变刷新率。

它默认是启用的。这么假如你的显示器不支持VRR,个别情况下可能会出现屏幕撕裂。这么你就要将其更改为false。

d3d12_pipeline_creation_threads=-1

它表示用于图形管道创建的线程数目。其中:

设置为-1,表示手动估算(逻辑CPU核心的75%),也就是无论你的CPU是多少个逻辑核,设置为-1,只占用其中的75%。

设置为与CPU逻辑核数相同,例如你的CPU是8核/16线程,你将其设置为=1~16之间的任意数字都可以,设置为1就占用一个逻辑核,设置为16就占用所有逻辑核。

设置为0,表示禁用多线程管道创建。

d3d12_queue_priority=1

这个是图形(直接)命令队列的调度优先级设置。干嘛的呢?就是实现对图形渲染和估算任务的优先级管理。通过将命令队列的优先级设置为高优先级或全局实时优先级,可以确保相关任务的及时完成和更低的延后。这对于须要实时交互操作(如游戏)十分重要。默认为1。

这么它给了3个级别:

=0,表示正常。

=1,表示高优先级。

=2,表示全局实时优先级(可能须要管理员权限)。

假如再给一个图形化的操作就更容易理解了:

打开任务管理器,切换到详尽信息,右键单击一个进程,选择设置优先级。

d3d12_readback_memexport=false

这个功能是在CPU上读取着色器中由显存导入写入的数据。个别游戏可能须要,但更多游戏只在GPU上访问导入的数据,但是不须要此标志来处理这种行为,为此,假如设置为true会造成帧中同步,对性能形成巨大影响。默认是不启用。

d3d12_readback_resolve=false

在CPU上读取渲染到纹理的结果。个别游戏可能须要,比如保存游戏中的截图,但假如设置为true会造成帧中同步,因而会对性能形成巨大影响。默认不启用。

这段是针对显示输出的。若果以GUI方法设置,这儿面须要更改的内容可能要少些!

fullscreen=false

设置是否以全屏模式启动模拟器。假如设置为true,则以全屏模式开启。默认不启用。

host_present_from_non_ui_thread=true

用于指定是否容许GPU仿真线程直接将顾客机输出呈现给主机表面,而不是通过主机窗口系统恳求UI线程进行呈现。默认为启用,设置为false可以不启用。

在模拟器中,一般有一个UI线程用于处理用户界面和窗口管理等任务,以及一个GPU仿真线程用于处理图形渲染和显示输出。默认情况下,模拟器会通过UI线程将GPU生成的图象呈现给主机窗口系统,之后由窗口系统将其显示在屏幕上。

通过设置host_present_from_non_ui_thread为true,模拟器容许GPU仿真线程直接将图象输出呈现给主机表面,而不须要经过UI线程和窗口系统。这可以提升呈现效率,降低因为线程切换和窗口系统交互而导致的延后,并在个别情况下改善性能。

但是,这个设置可能依赖于具体的模拟器和主机平台的实现。在个别情况下,可能会出现兼容性问题或不良影响,因而须要依照具体情况进行测试和调整。

postprocess_antialiasing=""

它用于指定应用于游戏图象输出的后期处理抗锯齿疗效。这么默认为空。但有几个可选值:none,fxaa,fxaa_extreme

同时作者还建议:当启用了AMDFidelityFX对比度自适应散景(ContrastAdaptiveSharpening)或FSR1.0时,强烈建议同时启用后期处理抗锯齿疗效。

这是哪些意思呢?就是假如你的主板是AMD的,但是启用了FSR,这么你最好填入fxaa或fxaa_extreme其中之一,以达到最佳的抗锯齿疗效。

postprocess_dither=true

这个作用是从内部精度到每通道8bit的最终图象输出进行晃动,以使渐变疗效更平滑。默认启用。

在10bit显示器上,会保留较低的2位,也就是说仍采用8bit晃动,但会对其添加杂讯,因而建议禁用,但这也取决于实际使用显示器的10bit显示能力。说白了,用模拟器玩Xbox360游戏,最好别用10bit显示器。

postprocess_ffx_cas_additional_sharpness=0.0

AMDFidelityFX对比度自适应散景(ContrastAdaptiveSharpening)的额外锐度,范围从0到1。你可以设置值越高,锐度越高。默认是0.0,应当是禁用额外散景疗效。

这儿作者没有说几位小数,这么步长应当是以0.1递增或递减。关键问题是,除非你的主板是AMD的,且支持CAS,否则设置这个无意义。

postprocess_ffx_fsr_max_upsampling_passes=4

这也是与FSR相关的设置,默认值是4。

这个变量的意思是在AMDFidelityFXSuperResolution1.0(FSR)中,在最后一次通过以后,执行的最大上取样次数之前,会切换回双线性拉伸(bilinearstretching)。

假如设置为1,这么将图象的大小放大至前一次大小的2×2一次(例如1280×720,放大1次是2560×1440),之后切换回双线性拉伸(bilinearstretching)。

假如设置为2,这么将图象的大小放大至前一次大小的2×2两次(例如1280×720,放大2次是5120×2880),之后才切换回双线性拉伸(bilinearstretching)。以这种推。

这么默认设置为4次似乎太惊悚。作者也说了,若果显示码率不是特别高,这个变量将没有任何意义,但在像4K或8K这样的帧率显示器上,假如多次FSR上取样,将对性能影响过大,除非你的硬件配置十分高,且希望获得更轻柔的边沿疗效,否则该变量可能会被手动减少次数。

4次也是Xenia内部支持的最大值。

注意:这个设置要在使用AMD主板且启动FSR时才有效。

postprocess_ffx_fsr_sharpness_reduction=0.20000000298023224

AMDFidelityFX超级帧率1.0(FSR)的锐度增加,以步长为单位。值越低,锐度越高。并且作者并没有给出步长值,这个自己寻思吧!

postprocess_scaling_and_sharpening=""

默认为空,用于最终显示输出的重取样和/或散景的后期处理疗效。给出了3个可选值:bilinear,cas,fsr。

假如设置为bilinear,会根据1:1的原始图象,简单双线性拉伸进行重取样。

假如设置为cas,将使用AMDFidelityFX对比度自适应色阶(CAS)进行最高2×2倍缩放的散景,以及更大倍数的附加双线性拉伸。

假如设置为fsr,使用AMDFidelityFX超级帧率1.0(FSR)进行最高质量的放大,或则在不进行缩放或降取样时使用AMD对比适应性散景进行散景。对于超过2x2倍的缩放,将执行多个FSR传递。

present_letterbox=true#

他的作用是,当游戏窗体拉伸时保持宽高比,通过在图象周围显示条来清除超扫描区域。默认为启用,可以更改为false禁用,禁用后,当窗体拉伸时,必会保持高宽比,但可能须要游戏宽屏补丁之类的辅助。

present_render_pass_clear=true#

在支持此功能的图形前端中,在呈现中使用去除渲染通道加载操作,而不是仅去除信封区域的清理命令。默认启用,更改为false可禁用。

present_safe_area_x=90

当呈现图象时,一般须要考虑显示设备的安全区域(safearea),以确保图象的关键内容不会被截断或变型。这个参数指定了一个比率值,表示在不添加额外的信封(envelope)或拉伸图象的情况下,可以显示的图象长度。

具体而言,假若present_safe_area_x的值为90,表示可以将图象的长度设置为图象长度的90%来进行呈现,而无需进行额外的调整。这样可以保持图象的宽高比,防止在呈现过程中引入变型或截断。

这个参数的具体用法可能因应用程序、游戏或平台而有所不同。一般,它用于确定在不同显示设备上呈现图象时的安全区域,以确保图象的正确显示。

present_safe_area_y=90

这个道理相同,只是上一个是针对X轴,而这个是针对Y轴。

这部份是针对GPU的,也是配置文件中涉及到更改项最多的。

depth_float24_convert_in_pixel_shader=false

是否在使用主机深度缓冲区时直接在象素着色器上将深度值从主机精度(32位浮点数)转换为24位浮点数(20e4)。

这可以避免在深度数据遗失时出现视觉伪影问题(渲染和未渲染部份的交错白色,倘若是“大于或等于”深度测试函数,则长度相同,倘若是“等于”函数,则后者比前者薄得多)。

这可能发生在游戏重新加载之前从EDRAM中释放到RAM的深度数据回到EDRAM时,而且之前包含该深度缓冲区的EDRAM区域已被另一个深度缓冲区覆盖,或则游戏将其加载到与原本放置的位置不同的EDRAM中,因而Xenia未能以原始精度恢复深度数据,而是退回到转换较低精度值,因而在后续的渲染过程中,表面的实际深度值与储存在深度缓冲区中的深度值不再匹配。

这是一个花销很大的选项,由于它使GPU难以使用深度缓冲区压缩,但是在MSAA下,强制象素着色器针对每位子象素样本运行,而不是整个象素,致使象素着色的负载降低2倍或4倍,具体取决于MSAA的样本数。

舍入方向由depth_float24_round配置变量控制。须要注意的是,假如主机GPU不支持取样率着色,这么只有在不使用MSAA时才在象素着色器中进行转换。当以软件形式模拟深度缓冲区(通过片断着色器联锁/光栅化有序视图)时,这将被忽视,由于仍然直接使用24位深度。

这项默认是禁用,更改为true可以启用。

depth_float24_round=false

在使用主机深度缓冲区时,将深度从主机精度(32位浮点数)转换为24位浮点数(20e4)时,是否将深度四舍五入到最接近的质数,而不是截断(向零舍入)。

转换可能会使深度值远离镜头。

当没有depth_float24_convert_in_pixel_shader时:

假如完整的主机精度深度数据遗失,“大于或等于”深度测试函数依然可以正常工作,依然可以使用它勾画相同几何体的另一个渲染通道。(有关完全精度深度数据遗失的更多信息,请参阅depth_float24_convert_in_pixel_shader的描述)。

当有depth_float24_convert_in_pixel_shader时:

转换将更快,但隐藏表面的象素着色器可能依然会被跳过(使用保守的深度输出)。

只适用于因为轻微的32位浮点数舍入偏差导致的特殊问题情况,比如,当游戏尝试通过将顶点位置的Z设置为W来在镜头平面上勾画个别内容时。

转换可能会使深度值接近或远离镜头。

假如使用与D3D9,可参考光栅化器相同的舍入模式。

当没有depth_float24_convert_in_pixel_shader时:

若果将完整的主机精度深度数据遗失,则难以恢复(在后续的渲染通道中勾画相同几何体时,将有一半的样本无法通过“大于等于”深度测试函数的深度测试。)

当有depth_float24_convert_in_pixel_shader时:

较慢,难以在象素着色器之前进行深度剔除(depthrejection),在渲染过程中可能须要处理更多的象素,进而造成性能增长。

当深度缓冲区通过软件仿真实现时(通过片断着色器联锁/光栅化器有序视图),上面提及的情况将被忽视,但是仍然会进行四舍五入到最接近的奇数。换句话说,在使用软件仿真的情况下,无论是否发生了深度值转换,就会一直采用四舍五入到最接近的质数的方法。

depth_transfer_not_equal_test=true

在深度渲染目标之间传输数据时,使用“不等于”测试,以防止在数据往返时通过着色器深度输出重新写入与深度缓冲区中当前深度相同的深度。

将此设置为true可能会使深度压缩对传输往返更友好,具体取决于GPU的实现方法(任意深度输出可能会造成完全禁用),这有利于后续渲染,而将此设置为false可能会降低传输过程中的带宽使用,由于不须要读取以前的深度值。

默认为true,要想禁用可更改为false。

draw_resolution_scale_x=1

它的作用是将渲染帧率按比列透明地缩放到游戏中的整数象素X轴,也就是长度比列。这么作者给出了1~7,7个级别的渲染帧率对应关系:

1=1x(default,1280x)

2=2x(2560x)

3=3x(3840x)

4=4x(5120x)

5=5x(6400x)

6=6x(7680x)

7=7x(8960x)

draw_resolution_scale_y=1

同上。只不过它是针对Y轴,也就是高度比列。作者也是给出了1~7,7个级别的渲染码率对应关系:

1=1x(default,x720)

2=2x(x1440)

3=3x(x2160)

4=4x(x2880)

5=5x(x3600)

6=6x(x4320)

7=7x(x5040)

以上其实码率是根据16:9的比列,这么X轴和Y轴的值一定是1:1的对应关系,不能设置为1:2或3:4这样。否则图象会变型,甚至难以显示。

你的设备可能支持1、2和3,但对于小于1的任何值的支持取决于设备属性和性能,比如是否支持稀疏绑定/平铺资源、每个资源的虚拟地址位数和其他诱因。

因为从游戏的角度来看,当象素显得模糊不清,而半象素偏斜(当不使用MSAA时一般不影响覆盖率)变为整象素,因而各类疗效和游戏渲染流水线的部份可能会工作不正确。

draw_resolution_scaled_texture_offsets=true

在个别情况下,针对渲染到纹理的情况,按照码率缩放应用纹理获取指令的偏斜量,以获得更确切的阴影混频、泛光等效果。默认启动,禁用可更改为false。

dump_shaders=""

这个设置用于着色器调试,你可以指定一个路径,在编译GPU着色器时将其轮询(dump)到该路径下。这样可以便捷地查看和剖析编译后的着色器代码,以帮助进行调试和排错。默认留空。

dxbc_source_map=false

将Xenos指令作为注释在生成的DXBC中反汇编,用于调试目的。

dxbc_switch=true

使用switch而不是if进行流程控制。关掉或打开此选项可能会增强稳定性,但这在很大程度上取决于驱动程序(在AMD上,建议将其设置为true),由于个别标题在使用if进行流程控制时可能会崩溃(可能是着色器编译器尝试将它们展开)。在IntelHDGraphics上,此选项将被忽视,由于使用switch指令会造成崩溃。

一句话,假如是Intel核显,就更改为false,倘若是AMD核显或独显,就更改为true。

execute_unclipped_draw_vs_on_cpu=true

尽可能在CPU上执行无裁剪勾画的顶点着色器,主要针对屏幕空间勾画(比如清理操作),以恐怕勾画中涉及的EDRAM范围。

启用此选项可能会明显提升GPU性能。否则,在没有裁剪的勾画中,勾画操作可能被觉得使用了整个EDRAM,这可能造成主机渲染目标之间发生毋须要的EDRAM范围所有权转移往返。通过在CPU上执行无裁剪勾画的顶点着色器,可以恐怕勾画涉及的EDRAM范围,因而降低毋须要的EDRAM转移,提升性能。

据悉,在个别主机上,必须以有损的方法模拟个别渲染目标格式(比如,通过16位浮点数模拟16位定点数),这可以避免在进行这种勾画操作时通过有损范围所有权转移破坏EDRAM中当前勾画操作以后的其他渲染目标。

execute_unclipped_draw_vs_on_cpu_for_psi_render_backend=true

当设置为true时,虽然在主机上使用象素着色器联锁(rasterizer-orderedview)实现的渲染前端时,也会在CPU上执行无裁剪勾画的顶点着色器。

在使用象素着色器联锁的渲染前端中,当修改EDRAM范围的所有权时,一般须要在主机渲染目标之间进行更多的复制操作。但是,假若启用此选项,虽然使用了象素着色器联锁的渲染前端,无裁剪勾画的顶点着色器依然会在CPU上执行,这样就可以防止何必要的复制操作。

通过在CPU上执行顶点着色器,可以更确切地恐怕勾画涉及的EDRAM范围,避开了毋须要的复制操作,提升了性能。

execute_unclipped_draw_vs_on_cpu_with_scissor=false

除了限制execute_unclipped_draw_vs_on_cpu的使用于非剪裁勾画(剪裁圆形的两侧和顶部边沿在8192或更远处),虽然存在剪裁圆形,一般也足以恐怕渲染目标的高度。

默认情况下,execute_unclipped_draw_vs_on_cpu仅适用于非剪裁勾画(剪裁圆形的两侧和顶部边沿在8192或更远处)。这是由于假如存在剪裁圆形,一般可以通过剪裁方形的高度来恐怕渲染目标的高度。

然而,通过将execute_unclipped_draw_vs_on_cpu_with_scissor设置为false,可以取消对执行无裁剪勾画的顶点着色器的限制,虽然存在剪裁圆形,也可以在CPU上执行该顶点着色器。

这意味着无裁剪勾画的顶点着色器可以在更多的情况下执行,而不仅仅限于非剪裁勾画。

假如启用此选项,可能会增强恐怕渲染目标高度的确切性,但可能会降低CPU的负载。

这个选项的设置可以按照须要进行调整,以在性能和确切性之间作出权衡。

force_convert_line_loops_to_strips=false

仅用于主机图形API向上级支持测试,虽然主机原生支持线环(lineloop)视口,也强制CPU将线环转换为线带(linestrip)。

该选项仅用于主机图形API向上级支持测试。假如设置为true,虽然主机原生支持线环(lineloop)视口,也会强制在CPU中将线环转换为线带。

线环(lineloop)和线带(linestrip)是不同的视口类型,它们在顶点联接方法和勾画结果上有所不同。一般,主机图形API会直接支持线环视口,而无需在CPU上进行转换。但是,通过设置force_convert_line_loops_to_strips为true,可以测试主机图形API在不支持线环视口的情况下,通过CPU转换为线带的能力。

这个选项主要用于测试和调试目的,一般在正常情况下不须要启用。

force_convert_quad_lists_to_triangle_lists=false

仅用于主机图形API向上级支持测试,虽然主机原生支持四边形列表(quadlist)视口或通过几何着色器模拟支持,也强制CPU将四边形列表转换为四边形带(quadstrip)。

该选项仅用于主机图形API向上级支持测试。假如设置为true,虽然主机原生支持四边形列表(quadlist)视口或通过几何着色器模拟支持,也会强制在CPU中将四边形列表转换为四边形带。

四边形列表(quadlist)和四边形带(quadstrip)是不同的视口类型,它们在顶点联接方法和勾画结果上有所不同。一般,主机图形API会直接支持四边形列表视口,或则通过几何着色器模拟支持。但是,通过设置force_convert_quad_lists_to_triangle_lists为true,可以测试主机图形API在不支持四边形列表视口或几何着色器模拟的情况下,通过CPU转换为四边形带的能力。

这个选项主要用于测试和调试目的,一般在正常情况下不须要启用。

force_convert_triangle_fans_to_lists=false

仅用于主机图形API向上级支持测试,虽然主机原生支持三角形扇形(trianglefan)视口,也强制CPU将三角形扇形转换为三角形列表(trianglelist)。

该选项仅用于主机图形API向上级支持测试。假如设置为true,虽然主机原生支持三角形扇形(trianglefan)视口,也会强制在CPU中将三角形扇形转换为三角形列表。

三角形扇形(trianglefan)和三角形列表(trianglelist)是不同的视口类型,它们在顶点联接方法和勾画结果上有所不同。一般,主机图形API会直接支持三角形扇形视口。但是,通过设置force_convert_triangle_fans_to_lists为true,可以测试主机图形API在不支持三角形扇形视口的情况下,通过CPU转换为三角形列表的能力。

这个选项主要用于测试和调试目的,一般在正常情况下不须要启用。

gamma_render_target_as_srgb=false

当主机未能直接使用正确的混和形式写入分段线性伽玛时,在主机上使用sRGB输出,在线性颜色空间中进行概念上正确的混和,但在渲染目标中具有略有不同的精度分布,而且假如游戏直接访问生成的颜色作为原始数据,则会出现严重错误的值。

当主机未能直接使用正确的混和形式写入分段线性伽玛时,可以将gamma_render_target_as_srgb设置为true。这样,在主机上使用sRGB输出可以在线性颜色空间中进行概念上正确的混和。但是,须要注意的是,这些方式带来了一些副作用。

使用sRGB输出会引起渲染目标中的颜色分布精度略有不同,这意味着颜色值的精确度可能会遭到一定程度的影响。据悉,倘若游戏直接以原始数据的方式访问生成的颜色,结果将会严重不正确,由于这种颜色实际上处于线性颜色空间中,而不是sRGB空间。

这个选项主要用于在主机未能正确处理分段线性伽玛混和的情况下,提供一种近似的解决方案。但是,须要在使用时权衡其优劣点,并依照具体情况进行选择。

gpu="any"

这个是指定图形系统。可选值:any,d3d12,vulkan,null

"any":表示可以使用任何可用的图形系统。

"d3d12":表示使用Direct3D12图形系统。

"vulkan":表示使用Vulkan图形系统。但我注意到,作者不推荐vulkan,且文字用了删掉线,这么究竟是可以用还是不可以用?搞不清楚。

"null":表示不使用任何图形系统,即无图象输出。

按照须要,可以选择适宜的图形系统选项来进行配置。

gpu_allow_invalid_fetch_constants=false

准许使用无效类型的纹理和顶点提取常量(一般不安全),由于常量可能包含完全无效的值,但可以用于绕开个别游戏中提取常量类型错误的问题,直至找到其无效的真正缘由。

该选项控制是否容许使用无效类型的纹理和顶点提取常量。当设置为true时,容许使用无效类型的常量。但是,这一般是不安全的,由于常量可能包含完全无效的值。

在个别游戏中,可能会出现提取常量类型错误的问题,即常量的类型与其所需的类型不匹配。通过将gpu_allow_invalid_fetch_constants设置为true,可以绕开这种错误,使游戏才能正常运行,直至找到造成常量无效的真正缘由。

须要注意的是,准许使用无效类型的常量可能会造成意想不到的结果和不正确的渲染。这个选项主要用于临时调试和绕开问题,应当慎重使用,并尽快解决常量无效的根本缘由。

half_pixel_offset=true

启用顶点半象素偏斜支持(D3D9PA_SU_VTX_CNTLPIX_CENTER)。一般情况下,游戏存在半象素偏斜,启用此选项是正确的行为(禁用可能会严重破坏个别游戏的后期处理),但在个别游戏中,可能会忽视该选项,致使UI纹理略微模糊,比如,在读取纹理时,它们坐落纹素之间而不是在纹素中心,或则在使用全屏过程中使用MSAA时,最左侧/最底部的象素可能难以完全覆盖。

该选项控制是否启用顶点半象素偏斜支持。当设置为true时,启用半象素偏斜。半象素偏斜本身是一种技术,用于在渲染过程中对顶点进行微小的偏斜,以解决象素化和走样等问题。

ignore_32bit_vertex_index_support=false

仅用于主机图形API降级测试(仅适用于骁龙Adreno4xx级主机GPU测试),强制对32位顶点索引进行间接引用、预网段和预交换,就好象主机只支持24位索引。

mrt_edram_used_range_clamp_to_min=true

这个选项的目的是限制每位渲染目标在EDRAM中的使用范围,以防止一个渲染目标占用了大部份甚至全部的EDRAM空间,造成其他渲染目标难以借助EDRAM。

当设置为true时,假若绑定了多个渲染目标,会计算在任何一个渲染目标中更改的EDRAM范围不会超过EDRAM中任意两个渲染目标之间的距离,而不是让最后一个渲染目标抢占剩余的EDRAM。

须要注意的是,这个选项仅适用于主机渲染目标,但是对于具体的渲染目标配置和使用方法可能会有不同的疗效。在一些情况下,可能须要依照具体场景和需求进行调整。

native_2x_msaa=true

该选项用于控制是否使用主机的2xMSAA(多重取样抗锯齿)功能。当设置为true时,在可用的情况下会启用主机的2xMSAA。但是,在个别主机GPUAPI上,2xMSAA并非强制要求,因而可以通过禁用该选项进行可扩充性测试。在禁用情况下,将使用2个4xMSAA样本替代2xMSAA,虽然质量可能类似或更差,但会消耗更多的显存。

须要注意的是,2xMSAA和4xMSAA都是抗锯齿技术,用于降低图形渲染中的锯齿边沿。使用2xMSAA可能会提供较好的图形质量,但会消耗更多的资源。禁用该选项可能会在资源消耗方面获得一些优势,但可能会牺牲图形质量。

在进行可扩充性测试时,禁用native_2x_msaa选项可能有助于评估系统在不同抗锯齿设置下的性能表现。

native_stencil_value_output=true

该选项用于控制是否使用象素着色器的模板引用输出功能。当设置为true时,在可用的情况下会启用象素着色器的模板引用输出,用于像渲染目标之间的复制等目的。通过使用模板引用输出,可以在勾画期间将模板值输出到象素着色器中,便于进行后续的处理。

但是,在个别情况下,可能须要禁用该功能进行可扩充性测试。在禁用情况下,将执行更复杂的勾画操作,涉及8个四边形。这是为了模拟没有模板引用输出功能时的情况播放量双击平台,并评估系统在这些情况下的性能表现。

须要注意的是,启用native_stencil_value_output选项可能会在渲染目标之间的复制等方面提供一些优势。禁用该选项可能会造成性能增长和勾画成本降低,但可以用于评估系统在没有模板引用输出功能时的可扩充性。

native_stencil_value_output_d3d12_intel=false

该选项用于控制是否在IntelGPU上使用D3D12中的模板引用输出功能。当设置为false时,不容许在IntelGPU上使用模板引用输出。按照注释的描述,截止2021年3月(驱动版本27.20.0100.8336),在UHDGraphics630上难以使用模板引用输出功能。

该注释提供了对该选项的一些限制和当前情况的说明。在UHDGraphics630上,因为驱动版本的限制,难以使用模板引用输出功能。因而,在该情况下,应将native_stencil_value_output_d3d12_intel设置为false,以防止使用不可用的功能。

须要注意的是,该限制是非常针对IntelGPU和驱动版本的,而且可能随着驱动更新而改变。假如更新了驱动版本,可能会重新启用模板引用输出功能。为此,在实际使用中应当注意检测和更新相关的驱动程序。

primitive_processor_cache_min_indices=4096

该选项用于控制在处理过程中尝试在同一帧中重新使用缓存的最小顾客端索引数。当进行处理操作(比如原始类型转换或重置索引替换)时,可以将一部份顾客端索引储存在缓存中,便于稍后重复使用。

按照注释的描述,设置值为4096,表示只有当顾客端索引数达到或超过4096时,就会考虑将其储存在缓存中进行重复借助。这个阀值是为了控制缓存的使用,以平衡性能和显存消耗。

须要注意的是,该选项的设置可能会依照具体情况进行调整。较小的值可能会造成更频繁地重新生成索引,但可能会降低显存消耗。较大的值可能会降低缓存的借助率,但可能会降低显存消耗和处理延后。

在实际使用中,应依照具体场景和需求进行权衡和调整,以找到适宜的的值。

query_occlusion_fake_sample_count=1000

该选项用于控制查询遮挡(occlusion)时的伪样本计数(fakesamplecount)。按照注释的描述,可以将其设置为不同的值来影响遮挡查询的结果。

假如将query_occlusion_fake_sample_count设置为-1,则不会写入任何样本计数,这可能造成游戏卡顿。这意味着遮挡查询将不会返回任何样本计数信息。

假如将其设置为一个正整数(比如1000),则每位图块的样本计数将在每位EVENT_WRITE_ZPD风波上降低该数字。这些设置可以用于模拟有大量样本的情况,因而影响遮挡查询的结果。

假如将query_occlusion_fake_sample_count设置为0,则表示将所有内容都报告为被遮挡。这意味着在遮挡查询中,所有的图块都将返回遮挡的结果。

render_target_path_d3d12=""

该选项用于指定在D3D12上使用的渲染目标仿真路径。在当前的配置中,该路径为空字符串,表示没有指定特定的渲染目标仿真路径。

渲染目标仿真路径是一种用于在特定的图形API上模拟或实现渲染目标功能的方式。通过指定适当的渲染目标仿真路径,可以在不同的渲染环境中实现渲染目标的功能,并提供所需的兼容性和疗效。

在该选项中,假如没有指定任何路径(空字符串),则表示使用默认的渲染目标仿真路径。具体的渲染目标仿真路径可能因渲染引擎或图形驱动程序而异,因而可以在实际应用中按照需求进行设置。

用户可选:any,rtv,rov

当更改为rtv:将使用主机渲染目标和固定功能的混和、深度/模板测试,须要时进行渲染目标之间的复制。但精度较低(支持有限的象素格式)。性能主要深受渲染目标布局修改所需的复制操作的限制,但一般较高。

当更改为rov:需自动象素打包、混合和深度/模板测试,准许自由修改渲染目标布局。须要支持光栅器次序视图的GPU。可实现最高精度(所有象素格式在软件中处理)。但性能会遭到重画操作的限制。在AMD驱动程序上,目前在许多情况下可能造成着色器编译器崩溃。

当更改为any:系统会手动选择被觉得最优的选项(目前仍然选择RTV,由于ROV路径现今较慢,不仅英特尔GPU,在那儿模板测试存在错误,致使Xbox360D3D9消除功能难以正常工作)。

render_target_path_vulkan=""

该选项用于指定在Vulkan上使用的渲染目标仿真路径。在当前的配置中,该路径为空字符串,表示没有指定特定的渲染目标仿真路径。

渲染目标仿真路径是一种用于在特定的图形API上模拟或实现渲染目标功能的方式。通过指定适当的渲染目标仿真路径,可以在不同的渲染环境中实现渲染目标的功能,并提供所需的兼容性和疗效。

在该选项中,假如没有指定任何路径(空字符串),则表示使用默认的渲染目标仿真路径。具体的渲染目标仿真路径可能因渲染引擎或图形驱动程序而异,因而可以在实际应用中按照需求进行设置。

用户可选:any,fbo,fsi

当更改为fbo:将使用主机帧缓冲和固定功能的混和、深度/模板测试,在须要时进行渲染目标之间的复制。但其精度较低(有限的象素格式支持)。性能主要深受渲染目标布局修改所需的复制操作的限制,但一般较高。

当更改为fsi:需自动象素打包、混合和深度/模板测试,并容许自由修改渲染目标布局。须要支持片断着色器联锁的GPU。最高精度(所有象素格式在软件中处理)。性能主要深受重画操作的限制。

当更改为any:系统会选择被觉得在给定系统上最优的选项。按照注释,目前仍然选择"FB",由于"FSI"路径现今较慢。

resolve_resolution_scale_fill_half_pixel_offset=true

这个功能是为了确保个别游戏可以正确显示场景图形而设计的。在使用帧率缩放时,因为半象素偏斜的存在,可能会造成渲染目标解析区域的两侧和底部出现细微的间隙。通过应用这个方法,可以拉伸第一个完全覆盖的主机象素,以弥补这个间隙,继而清除视觉上的问题。建议保持启用,不建议更改为false。

snorm16_render_target_full_range=true

在个别情况下,主机可能只能支持特定范围的渲染目标值。诸如,只能支持-1到1之间的规范化(SNorm)16位整数格式的渲染目标。但是,有时侯应用程序须要使用更大的值范围,比如-32到32。通过设置这个选项为true,可以将-32...32的范围重新映射为-1...1,便于利用完整的值范围。

store_shaders=true

在游戏中,着色器是用于勾画图形和实现特效的重要组成部份。一般,在游戏运行时,须要即时编译和加载着色器。但是,这可能会造成运行时的峰值和冻结,非常是在首次加载着色器时。

通过设置这个选项为true,可以将着色器持久储存在某个位置,并在上次加载游戏时直接加载它们,而不须要重新编译。这样可以防止在非首次游览时出现运行时的峰值和冻结,提供更平滑的游戏体验。

texture_cache_memory_limit_hard=768

在图形渲染中,纹理是用于储存图象数据的关键组件。纹理数据一般须要储存在主机的显存中,以供渲染时使用。但是,纹理数据可能会占用大量的显存空间,非常是对于复杂的游戏或应用程序。

当该选项设置为768时,表示主机纹理显存的使用有一个最大限制,也即768MB,当超过这个限制时,纹理将尽早被销毁。这是一个硬性限制。

通过设置这个选项,可以限制主机纹理显存的使用量。当纹理显存使用量超过指定的限制时,系统将尽早销毁一些纹理,以释放显存空间。这有助于避免纹理占用过多的显存,致使系统性能增长或显存不足的问题。

texture_cache_memory_limit_render_to_texture=24

在图形渲染中,勾画到纹理(Render-to-Texture)是一种常见的技术,用于在显存中创建一个纹理,并将渲染结果直接勾画到该纹理上。这些技术一般用于实现特殊疗效、后期处理和屏幕抓取等功能。

通过设置这个选项,可以指定用于勾画到纹理的主机纹理显存的预算。预算的一部份将按照当前的勾画码率缩放进行调整。这意味着随着勾画码率的缩放,可用于勾画到纹理的纹理显存的预算也会相应进行调整。

这是主机纹理显存预算的一部份(以兆字节为单位),因而,这个24,就是指24MB。按照你的硬件配置,你也可以更改为36或其它数值,但默认是24,应当是一个保守数值,因而不要往小更改数值。

texture_cache_memory_limit_soft=384

主机纹理显存使用的最大限制(以兆字节为单位),超过该限制时旧纹理将被销毁。这是一个软性限制。

如果你设为384,就表示主机纹理显存被限制为384MB。而texture_cache_memory_limit_render_to_texture为24,表示用于渲染到纹理的纹理显存预算为24MB。

按照注释中的说明,假定游戏使用24MB的渲染到纹理目标,剩余的纹理显存将用于常规纹理。因而,剩余的纹理显存为384MB-24MB=360MB。

按照当前的勾画帧率缩放,软性限制将进行调整。诸如,使用2×2码率缩放,软性限制将为360MB+96MB=456MB。而使用3×3码率缩放,软性限制将为360MB+216MB=576MB。

这意味着在不同的勾画码率缩放下,纹理显存的软性限制会相应地进行调整,以适应不同的需求和帧率缩放级别。

texture_cache_memory_limit_soft_lifetime=30

纹理显存是用于储存图象数据的显存空间,而纹理是在渲染过程中使用的关键组件。当纹理显存使用量超过设定的软限制时,系统须要进行纹理的销毁以释放显存。在销毁纹理时,系统须要确定什么纹理被觉得是足够旧的并可以被删掉。

当该选项设置为30时,表示一个纹理在未被使用的时间达到30秒时,假若纹理显存使用量超过texture_cache_memory_limit_soft设定的限制,该纹理将被觉得足够旧并被删掉。

这个选项的设置可以影响纹理显存的管理策略和性能。较小的lifetime值意味着纹理更快被觉得是旧的并被销毁,可能须要更频繁地重新加载纹理。较大的lifetime值则意味着纹理须要更长时间未被使用才能被觉得是旧的,可能会降低纹理的重新加载次数,但可能降低显存占用。

trace_gpu_prefix="scratch/gpu/"

在性能剖析和调试中,GPU跟踪是一种常用的技术,用于记录和剖析GPU的运行情况和性能困局。跟踪文件包含了GPU在执行期间的各类信息,如命令流、资源使用情况、渲染操作等。

当该选项设置为“scratch/gpu/”时,表示GPU跟踪文件的路径前缀为“scratch/gpu/”。

这个主要面向开发者。通过使用GPU跟踪文件,开发人员可以了解GPU的工作情况,发觉性能困局并进行优化。路径前缀的设置可以按照个人偏好和项目需求进行自定义。

trace_gpu_stream=false

这个是跟踪所有GPU数据包,也是面向开发者的。

vsync=true

这个表示默认启用垂直同步(VSYNC)。你可以更改为false,将垂直同步禁用。

GPU部份设置至此结束。

这段是通用设置。

debug=false

容许调试并保留调试信息。默认禁用,假如你要做调试,可以更改为true启用。

discord=true

启用Discord富文本显示(RichPresence)。这是个没卵用的功能,由于你没法登陆Discord。

Discord富文本显示是一种集成到Discord聊天应用程序中的功能,容许用户在其个人资料中显示当前正在进行的活动、游戏或应用程序的相关信息。通过启用Discord富文本显示,用户可以展示自己在使用的应用程序或进行的活动,比如正在进行的游戏、编程项目、音乐播放等。

enable_console=false

在一些应用程序中,控制台窗口是一种用于显示程序输出、调试信息和用户交互的窗口。它可以提供一个命令行界面或文本界面,容许用户输入命令、查看程序输出和进行调试操作。

默认为false,表示在主窗口中不开启控制台窗口。

launch_module=""

当该选项设置为空时,表示使用默认模块启动,而不是从.iso文件或包中启动可执行文件,也不是从default.xex文件或游戏指定的模块启动。

time_scalar=1.0

用于加速或减缓时间的标量(1x、2x、1/2x等)。

我理解这个应当是用于游戏加速或减速的设置。2x就是2倍速率,1/2x就是0.5倍速率。加速或减速会影响音频。

这段是针对HID设备风波响应的设置。

guide_button=false

导航按键一般指的是游戏摇杆上的"Guide"按键,亦称为中心按键、Xbox按键或主页按键。该按键在游戏摇杆上一般有一个特定的标示符(如Xbox徽标)。

通过设置选项为false,表示不将导航按键的按下风波转发给顾客端。这意味着按下导航按键时,不会将该风波传递给顾客端程序或游戏,顾客端不会对该风波做出响应。

hid="any"

选择你的人体工学输入系统。默认为“any”。可选值:any,nop,sdl,winkey,xinput

"any":表示可以使用任意的输入系统。这意味着主程序将手动选择可用的输入系统来处理用户输入设备。

"nop":表示空输入系统,即不处理用户输入。这在一些特定场景下可能会用到,比如演示模式或仅展示内容而不须要用户交互的情况。

"sdl":表示使用SDL(SimpleDirectMediaLayer)输入系统。SDL是一个跨平台的多媒体库,提供了处理音频、图形和输入设备的功能。注意:这个只有非Xinput控制才须要。假如你的游戏控制器(非Xinput)未正确映射,可下载下方链接的游戏控制数据库,并将其放置在Xenia可执行文件所在的目录下。

这个文件提供了Windows、Linux、MacOS、Android、iOS等设备下,非Xinput控制器的映射。

"winkey":表示使用Windows按键输入系统。这是针对Windows操作系统的特定按键输入处理方法。

"xinput":表示使用XInput输入系统。XInput是一个用于处理Xbox摇杆输入的API,常用于Windows上的游戏开发。

这段是将鼠标键盘或组合键或特殊键与摇杆按钮绑定的设置。这个设置的目的是用鼠标模拟摇杆。

注意,[HID.WinKey]只有在上方的hid=“any”或“winkey”时才有效,当设置hid为可选值中的nop,sdl,xinput时,应当是无效的。由于any是手动判定,而winkey是指定。

下方这么一大坨又是哪些意思呢?

keybind_a = "0xBA"     # 绑定到 A 的按键列表,用空格分隔keybind_b = "0xDE"     # 绑定到 B 的按键列表,用空格分隔keybind_back = "Z"     # 绑定到 BACK(或 Select) 的按键列表,用空格分隔keybind_dpad_down = "^S"     # 绑定到 DPAD_DOWN(十字键下键)的按键列表,用空格分隔keybind_dpad_left = "^A"     # 绑定到 DPAD_LEFT(十字键左键)的按键列表,用空格分隔keybind_dpad_right = "^D"     # 绑定到 DPAD_RIGHT(十字键右键)的按键列表,用空格分隔keybind_dpad_up = "^W"     # 绑定到 DPAD_UP(十字键上键)的按键列表,用空格分隔keybind_left_shoulder = "1"     # 绑定到 LEFT_SHOULDER(L1 键)的按键列表,用空格分隔keybind_left_thumb = "F"     # 绑定到 LEFT_THUMB_PRESSED(左摇杆下按)的按键列表,用空格分隔keybind_left_thumb_down = "_S"     # 绑定到 LEFT_THUMB_DOWN(左摇杆方向下键)的按键列表,用空格分隔keybind_left_thumb_left = "_A"     # 绑定到 LEFT_THUMB_LEFT(左摇杆方向左键)的按键列表,用空格分隔keybind_left_thumb_right = "_D"     # 绑定到 LEFT_THUMB_RIGHT(左摇杆方向右键)的按键列表,用空格分隔keybind_left_thumb_up = "_W"     # 绑定到 LEFT_THUMB_UP(左摇杆方向上键)的按键列表,用空格分隔keybind_left_trigger = "Q I"     # 绑定到 LEFT_TRIGGER(L2 键)的按键列表,用空格分隔keybind_right_shoulder = "3"     # 绑定到 RIGHT_SHOULDER(R1 键)的按键列表,用空格分隔keybind_right_thumb = "K"     # 绑定到 RIGHT_THUMB_PRESSED(右摇杆下按)的按键列表,用空格分隔keybind_right_thumb_down = "0x28"     # 绑定到 RIGHT_THUMB_DOWN(右摇杆方向下键)的按键列表,用空格分隔keybind_right_thumb_left = "0x25"     # 绑定到 RIGHT_THUMB_LEFT(右摇杆方向左键)的按键列表,用空格分隔keybind_right_thumb_right = "0x27"     # 绑定到 RIGHT_THUMB_RIGHT(右摇杆方向右键)的按键列表,用空格分隔keybind_right_thumb_up = "0x26"     # 绑定到 RIGHT_THUMB_UP(右摇杆方向上键)的按键列表,用空格分隔keybind_right_trigger = "E O"     # 绑定到 RIGHT_TRIGGER(R2 键)的按键列表,用空格分隔keybind_start = "X"     # 绑定到 START 的按键列表,用空格分隔keybind_x = "L"     # 绑定到 X 的按键列表,用空格分隔keybind_y = "P"     # 绑定到 Y 的按键列表,用空格分隔

但显然有注释,对于这些如"0xBA"的变量值你可能还是一头雾水,这儿就简单说下:

keybind_a="0xBA"表示将虚拟按键码的Hex值"0xBA"(对应按键的键盘是;:)绑定到摇杆的A键。

keybind_b="0xDE"表示将虚拟按键码的Hex值"0xDE"(对应按键的键盘是'")绑定到摇杆的B键。

keybind_x="L"表示将鼠标键盘L,绑定到摇杆的X键。

keybind_y="P"表示将鼠标键盘P,绑定到摇杆的Y键。

也就是说,作者将鼠标键盘;:、'"、L、P(她们热键相连,且在一条直线上,便捷四个脚趾操作)分别和摇杆的ABXY绑定。

关于虚拟按键码请参考:

这么_S_A_W_D和^S^A^W^D又是啥?

我猜这个应当是组合键,_S应当是代表同时按下Shift+S,^S代表同时按下Ctrl+S,假如你要按下Alt+S实现同样的输出,就可以用“%S”表示。但我这只是乱写,并没有测试。

另外,你也可以用多个按钮实现同一功能,例如:keybind_right_trigger="EO",表示按E或O都是按下R2键,中间用空格分隔。或则更改为“_E_O”,都是可以的。

理解了以上映射,对于操作其它PC端的一些热键更改器软件来说,就不算哪些难的事情了!

关于按键映射摇杆的方案,玩家肯定有自己的看法,不用局限于作者的设置,可以自行更改。

这个是内核设置项。除非你是开发者,玩家不要触碰这种。

cl = "" # 指定传递给虚拟机的额外命令行参数。ignore_thread_affinities = true # 忽略游戏指定的线程亲和性。ignore_thread_priorities = true # 忽略游戏指定的线程优先级。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 标签记录高频率的内核调用。xex_apply_patches = true # 应用 XEX 补丁。

这个是针对显存的设置,除非你是开发者,玩家不要触碰这种。

[Memory]protect_on_release = false # 不保护释放的内存以防止访问。protect_zero = true # 保护零页不被读写。scribble_heap = false # 在所有分配的堆内存中填充 0xCD。writable_executable_memory = true # 允许将内存映射为可读可执行,以模拟在不支持此功能的平台上的行为。

mappings_file="gamecontrollerdb.txt"

这段是针对当hid="sdl"时,自定义游戏控制器映射的数据库文件名。

在Xenia模拟器的配置表中,hid="sdl"指的是使用SDL(SimpleDirectMediaLayer)作为输入设备前端。

hid是指模拟器中的HumanInterfaceDevice(人机界面设备),用于处理用户输入设备(如鼠标、鼠标、游戏摇杆)的插口。通过配置表中的hid参数,可以选择不同的输入设备前端来处理用户输入。

当设置hid="sdl"时,表示Xenia模拟器将使用SDL作为输入设备前端来处理用户输入。SDL提供了对各类输入设备的支持,包括鼠标、鼠标和游戏摇杆等。通过使用SDL,模拟器才能统一处理不同操作系统下的用户输入,并提供一致的输入插口。

使用SDL作为输入设备前端可以简化模拟器开发,并提供跨平台的输入支持。它容许模拟器开发人员通过统一的插口处理不同类型的输入设备,而无需关注底层操作系统的差别。

所以,玩家不用理会,也不用做任何更改。

这部份是储存设置。

cache_root=""

用于加速模拟器或游戏个别部份的文件的根路径。这种文件可能是持久的,但可以删掉而不会造成重大的副作用,比如遗失进度。假如为空,则将使用储存根目录下的缓存文件夹,或则假如可用,则使用操作系统首选的缓存目录。

content_root=""

用于储存顾客端内容(保存文件等)的根路径,倘若为空,则使用储存根目录下的内容文件夹。

mount_cache=false

启用缓存挂载。

mount_scratch=false

启用临时挂载。

storage_root=""

用于持久的内部数据储存(配置文件等)的根路径,倘若为空,则使用操作系统首选的路径,比如文档文件夹,或则若果在其中存在portable.txt文件,则使用模拟器可执行文件目录。

游戏玩家,这种都不用更改。

这种是针对主程序界面的设置。都是针对开发人员的设置,玩家不要更改。

headless=false

不显示任何用户界面(UI),按照须要使用默认设置进行提示。

imgui_debug=false

显示ImGui(ImmediateModeGraphicalUserInterface)的调试工具。

profiler_dpi_scaling=false

将窗口DPI缩放应用于性能剖析器。

show_profiler=false

默认情况下不显示性能剖析的用户界面。

这种也是开发调试用。玩家不要轻易触碰。

vulkan_allow_present_mode_fifo_relaxed=true

当其启用后,准许使用放宽的先进先出(FIFO)呈现模式(第三优先级),该模式会等待主机显示的垂直同步,但若果分辨率不符合主机显示的刷新率,则可能出现撕裂。假如设为false,除非分辨率高于显示刷新率,否则不会出现撕裂。

vulkan_allow_present_mode_immediate=true

这是一个按优先级排序的显示模式(即假如第一种模式不起作用,则尝试下一种模式,依这种推,但它的选项也许就是两种状态:true或false)。

默认开启,且开启后它支持可变刷新率(VRR),该模式在个别情况下提供最低的延后,但可能会出现撕裂,具体取决于配置和可变刷新率。假如禁用,则无撕裂,但会破坏可变刷新率。

vulkan_allow_present_mode_mailbox=true

当可用时,该模式才能提供低延后且不会出现屏幕撕裂。

注意:以上vulkan_allow_present_mode_fifo_relaxed、vulkan_allow_present_mode_immediate和vulkan_allow_present_mode_mailbox拿来控制Vulkan呈现模式的优先级和可用性。不同的呈现模式提供不同的性能和显示特点,包括延后、撕裂和变化的刷新率等。

vulkan_debug_utils_messenger=false

通过VK_EXT_debug_utils将Vulkan调试消息写入Xenia日志。

vulkan_debug_utils_messenger_severity=2

要通过Vulkan调试信使记录的消息的最大严重性级别:0-错误,1-警告,2-信息,3-详尽。

注意:vulkan_debug_utils_messenger和vulkan_debug_utils_messenger_severity控制Vulkan调试消息的记录和严重性级别。这种选项可用于开发和调试Vulkan渲染器。说白了,别乱改,跟玩家没关系。

vulkan_debug_utils_names=false

通过VK_EXT_debug_utils启用对Vulkan对象的命名,以便捷调试和辨识。

vulkan_device=-1

要使用的化学设备的索引,或则使用-1表示任何兼容设备。

vulkan_sparse_shared_memory=true

启用共享显存仿真的稀疏绑定。禁用它会降低视频显存的使用量(创建一个512MB的缓冲区),但可以使不支持稀疏绑定的图形调试器正常工作。启用稀疏绑定可以降低视频显存的使用,但须要图形调试器支持稀疏绑定。

vulkan_validation=false

启用Vulkan验证(VK_LAYER_KHRONOS_validation),控制是否启用Vulkan验证层,以检测VulkanAPI的正确性和潜在问题。消息将写入操作系统的调试日志(假如没有vulkan_debug_messenger),或则写入Xenia日志(假如有vulkan_debug_messenger)。

这两项配置是关于Win32应用程序的设置。它们控制着与Win32平台相关的功能和行为。

win32_high_resolution_timer用于恳求来自NT内核的高帧率计时器,默认开启。高码率计时器提供更确切的计时精度,对于须要精确计时的应用程序或场景(如音视频同步、游戏等)特别有用。

win32_mmcss用于选择是否使用多媒体类调度服务(MMCSS),默认开启。MMCSS可以为应用程序提供优先级访问CPU资源的功能,以改善对实时多媒体任务的响应性能。这对于须要实时处理音频、视频或其他多媒体数据的应用程序十分有用。

这段,你可以指定使用者所在国家,默认是103,看前面注释对应的是US,也就是日本,假如想改成中国(CN),就更改为20。

这段,你可以指定游戏语言,默认是1,对应的是en,也就是英语,假如要改为英文,将其更改为17。

这段是容许你指定一个可以借助的特定的指令集。默认是-1,它容许你借助所有可用的处理器功能,而非局限于某个特定指令集。这个除非你拿来调试,否则不要乱改。

以上就是Xenia模拟器的配置文件介绍!对于模拟器超级玩家来说,这种介绍可能根本涉及不到模拟器的核心问题,好多玩家对于实操都有自己的独门设置和操作。建议GPD掌机玩家在熟悉了Xenia模拟器后,了解更多超级玩家的设置。不同设备,配置上会大有不同,须要你反复设置调教,能够晓得什么更改适宜你的设备。

为了更多玩家还能在GPD掌机上体验Xbox360游戏,这儿分享下Xenia模拟器,以及300款英文版Xbox360游戏。

感兴趣的玩家可以关注下方本公众号“GPD掌机市场部”,并回复“240514”索取。