东方正作STG的各种设置和插件指南
Phiomoe
编辑于 2026年01月06日 18:53
收录于文集
共3篇

前言

本文将讲解如何通过合理的设置和插件优化东方正作STG的游玩体验,同人作也可以部分参考。以下皆为吸取前人经验和笔者自身实践的总结,如有疏漏还请海涵,欢迎查缺补漏。

推荐使用网页版旧版专栏页面阅读。


目录

1 游戏运行环境设置

    1.1 游戏外设置

        1.1.1 系统设置

            1.1.1.1 Win7系统

                1.1.1.1.1 关闭粘滞键

                1.1.1.1.2 电源设置

                1.1.1.1.3 增强低版本系统对Win10应用的支持(可选)

            1.1.1.2 Win10/11系统

                1.1.1.2.1 更改默认图形设置

                1.1.1.2.2 开启游戏模式

                1.1.1.2.3 关闭粘滞键

                1.1.1.2.4 电源设置

                1.1.1.2.5 使用dwmtool关闭DWM(不推荐)

            1.1.1.3 安装旧版DirectX和VC++运行时组件

        1.1.2 显卡设置

            • 添加系统不支持但游戏需要的分辨率

        1.1.3 游戏程序兼容性设置

            • 独占全屏模式(推荐)

            • 无边框窗口全屏模式(仅限Win10/11)(推荐)

            • 窗口模式

        1.1.4 外设配置

    1.2 游戏自带设置custom.exe

        1.2.1 红魔乡

        1.2.2 妖妖梦、永夜抄、花映塚

        1.2.3 地灵殿和之后的作品

2 各种插件

    2.1 画面和延迟优化类

        2.1.1 VsyncPatch(降低延迟,适用于th06~th10)

        2.1.2 d3d8to9(适用于Win7)和dgVoodoo2(适用于Win10/11)(降低延迟)

        2.1.3 Special K(降低延迟,针对窗口游戏进行优化,只支持DX11及以上版本)

            • 全局配置

            • 本地配置

                - 基础配置

                - 窗口模式配置

            • 其他杂项及参考

        2.1.4 喵玉注入式汉化补丁(降低延迟,适用于th10和th14及以后)

        2.1.5 DXVK(降低延迟,稳定帧率,适用弹幕风等优化不佳的同人作)

        2.1.6 虚拟手柄(解决游戏未检测到手柄导致的严重掉帧)

        2.1.7 ReShade(解决游戏显示花屏)

    2.2 其他常用工具

        2.2.1 thprac(东方STG练习器)

        2.2.2 thcrap(东方STG补丁中心)

    2.3 各作品适应插件的推荐组合

3 典型案例解决方法

    3.1 系统提示找不到.dll文件

    3.2 打开th06~th08时弹出东方动作记录并报错

    3.3 游戏双开报错

    3.4 红魔乡千帧问题

    3.5 启动游戏时会有长时间闪屏,启动后屏幕下方有黑边

    3.6 thprac无法启动th14及以后的喵玉汉化的游戏

    3.7 th11及之后的游戏帧率只有50fps左右

    3.8 游戏开启一段时间后帧率缓慢下降至30fps左右

    3.9 Win11系统全屏游戏时,游戏开启一段时间后弹回桌面(虚空弹窗)或卡死闪退

    3.10 用华为笔记本或其他使用核显的电脑游玩时,画面有花屏和拖影等现象


正文

1 游戏运行环境设置

    1.1 游戏外设置

        1.1.1 系统设置

            1.1.1.1 Win7系统

                1.1.1.1.1 关闭粘滞键

粘滞键的设置会导致连按Shift出现问题,应该关闭。

打开控制面板,选择轻松使用设置项

选择“更改键盘的工作方式”

设置并关闭粘滞键

关闭连按启用

                1.1.1.1.2 电源设置

在“节能模式”下,计算机性能大幅降低,会导致游戏掉帧。应将电源计划设置成“平衡”或“高性能”。

打开控制面板,选择硬件和声音设置项

打开电源选项

                1.1.1.1.3 增强低版本系统对Win10应用的支持(可选)

VxKex NEXT是一组适用于Windows 7的API扩展,允许一些Windows 8、8.1和10独有的应用程序在 Windows 7上运行。可以解决部分Win10/11游戏在Win7上无法运行的问题。

Github仓库:https://github.com/YuZhouRen86/VxKex-NEXT

使用方法:安装后,右键游戏exe文件→属性→VxKex,勾选“为此程序启用 VxKex NEXT”。


One-Core-API旨在重建Windows XP和Server 2003的软硬件兼容性。

Github仓库:https://github.com/shorthorn-project/One-Core-API-Binaries

            1.1.1.2 Win10/11系统

不推荐用Win11系统玩,微软更新出了一堆问题,包括但不限于长时间开机后(两到三小时)玩游戏随机掉帧(只能重启解决)。

                1.1.1.2.1 更改默认图形设置

开启“硬件加速GPU计划”和“窗口化游戏优化”;如果底下有“可变刷新频率”的选项,关掉它

                1.1.1.2.2 开启游戏模式

                1.1.1.2.3 关闭粘滞键

关闭连按启用

                1.1.1.2.4 电源设置

与 1.1.1.1.2 电源设置相同。

                1.1.1.2.5 使用dwmtool关闭DWM(不推荐)

用Win10/11然后关掉DWM,容易出现各种系统问题,不如直接用Win7。

Github仓库:https://github.com/kurtis2222/win10_dwm_tool

目前的各种插件已经足以优化DWM带来的延迟了,后文有述。

            1.1.1.3 安装旧版DirectX和VC++运行时组件

使用DirectX Repair进行安装。

下载地址:https://blog.csdn.net/vbcom/article/details/7245186

        1.1.2 显卡设置

AMD用户几乎没什么可以改的,打开antilag、把freesync关了就可以。

所以我们主要对NVIDIA显卡设置进行讲解。注意dch版本的驱动没有控制面板,需要从微软商城获取。

如果打开NVIDIA显卡设置后,左边栏目内只有两行左右的设置,而没有图中的设置,说明你的电脑有NVIDIA显卡,但是没启用。

NVIDIA设置比较麻烦,看图照着改即可:

给gpu捣乱的功能,挪到cpu

会限制显示器帧数,其本身对60帧渲染的东方游戏也没有作用

降低延迟最有效果的几个就是关闭垂直同步关闭三重缓冲关闭着色缓存器低延迟模式选超高。但是其中部分设置会降低吃配置3D游戏的游戏体验(例如禁用着色器缓存,导致每次加载时都需要花大量时间重新编译着色器),可以不改,也可以只针对个别应用程序单独设置。参考:

后台应用程序最大帧速率设置为60FPS是因为thprac有不锁帧的bug(不知道修没修),如果thprac没有最小化,thprac窗口在后台会飙到千帧而导致游戏卡顿。

笔记本玩家请注意自己的笔记本是否有独显直连模式。用笔记本内置显示器玩,核显画面延迟更低(外接屏幕则是独显延迟更低),但是有各种显示问题包括但不限于掉帧,而且OBS有概率捕捉不到游戏画面(如果是游戏和OBS使用了不同的显卡造成的,可以开启SLI交火模式,但是这个方法会增加延迟)。

为了方便直播或者优化掉帧带来的影响,推荐使用独显直连或者在显卡设置中把首选显卡设为独显(有条件的话可以用采集卡将视频信号发送到另一台电脑上直播,或者通过外接屏幕强制启用独显)。

• 添加系统不支持但游戏需要的分辨率

①使用NVIDIA显卡设置自定义分辨率

②使用Scaled Resolution Editor(SRE)(支持NVIDIA、AMD,不支持Intel)

下载地址:https://www.monitortests.com/forum/Thread-Scaled-Resolution-Editor-SRE

某些情况下,显示器不支持自定义分辨率:

图中红框处“自定义”为灰色无法点击

使用SRE:

设置完毕重启电脑

设置里能显示这个分辨率就说明成功了

③游戏custom.exe里设置使用640x480分辨率全屏(一般开游戏的时候也会弹出选项)

        1.1.3 游戏程序兼容性设置

以妖妖梦为例,右键th07.exe→属性→兼容性:

• 独占全屏模式(推荐):(Hardware: Legacy Flip)

禁用全屏优化,对于DX9/11并且使用BitBlt Model独占全屏的游戏,能够绕过桌面窗口管理器(DWM),使游戏直接控制显示器的扫描输出时序,从而减少延迟。如果和游戏运行在同一个屏幕下的按键显示软件不能被OBS采集,尝试管理员权限启动OBS或使用游戏源捕捉。

• 无边框窗口全屏模式(仅限Win10/11)荐):(Hardware: Independent Flip)

东方正作STG没有原生支持的无边框窗口全屏模式,需要通过dgVoodoo2的无边框窗口全屏配置来实现,且兼容性设置内不勾选禁用全屏优化,勾选替代高DPI缩放行为。此时通过dgVoodoo2使用Flip Model,系统设置内启用窗口化游戏优化,游戏全屏启动时会被转换为无边框窗口全屏,与DWM达成妥协,达到独占全屏的低延迟效果。需要注意的是,OBS使用窗口采集会使显示模型降级为Composed: Flip,因此建议使用游戏源采集

默认情况下,不使用插件,不勾选禁用全屏优化,游戏使用BitBlt Model全屏,则会与DWM冲突。

替代高DPI缩放行为,适用于窗口和无边框窗口全屏游戏,对于显示设置内缩放不是100%的电脑,使用这个设置会使窗口的大小相对于游戏本身的分辨率为100%。不勾选这个选项会使显示设置内缩放不是100%的电脑运行无边框窗口全屏游戏时,窗口部分超出屏幕,导致显示模型降级为Composed: Flip。这个设置不会影响独占全屏游戏。

• 窗口模式:(Composed: Flip)

对比三者,独占全屏由于没有全屏优化,帧率最稳定,延迟理论最低,缺点是游戏中从全屏模式切回桌面大概率无法返回游戏。

无边框窗口全屏由于通过DWM输出,相比独占全屏更容易受到DWM的影响而掉帧,延迟与独占全屏差别不大(部分作品延迟更低或更高)。由于游戏本质是窗口,切屏不会造成任何影响,也不会因为弹窗导致游戏崩溃。

窗口游戏的延迟很高,除非使用MPO达成Hardware: Independent Flip。一般不推荐。

对于Win7系统,还应当勾选禁用视觉主题Aero和桌面元素。

        1.1.4 外设配置

对于各种设备的连接,为了减少延迟,最好使用原生接口连接设备,避免过多的转换或不必要的适配器。

通过转接头连接设备会导致延迟的原因主要包括: 协议转换时间:转接头需要处理不同协议之间的转换,增加处理时间。 传输速率限制:不同接口的传输速率不同,低速接口会拖慢整体速度。 信号传输延迟:物理层面信号传输路径变长或复杂。 处理能力不足:转接头内部芯片处理性能低,增加延迟。 驱动和系统处理:操作系统层面需要更多时间处理复杂的转接,增加延迟。

使用非共享的usb接口,不要使用hub:对于台式机,键盘的usb接口最好用机箱背后的,不要用前面的;对于笔记本,键盘的usb接口最好用背后的,不要用侧边的。

对于同时支持HDMI和DP的设备,DP的带宽比HDMI更高,延迟更低,应该优先使用。

老显卡的VGA接口传递模拟信号,如果从显卡到CRT显示器显示画面的过程中没有进行数模转换,信号能够直达CRT扫描电路,则延迟趋近于零。

手柄摇杆键盘选择参考:

    1.2 游戏自带设置custom.exe

Steam平台上的东方STG请在Steam上启用【配置工具】来设置,而不是私自在游戏文件夹中寻找custom.exe,因为Steam有云同步功能,私自运行custom.exe的设置结果无法保存,一定要通过Steam端来设置才能保存。

①th06~th09渔场汉化版的.rpy文件和存档存在兼容问题,有可能导致原版游戏崩溃,注意replay文件夹内不要有此版本的.rpy文件。这几作建议用原版或使用thcrap注入式补丁汉化。 ②尽量不要用ogg版正作(精简版),因为崩溃的概率大于正常版。 作者:星海天下 网页链接​

        1.2.1 红魔乡

基本保持默认就行(即所有勾都不打)。

渲染比较差的显卡(比如老的核显)可以把顶点缓冲雾化效果关掉(也有说法表示同时开启每回清除后台缓冲弹幕看得更清楚,可以自己斟酌)。

强制运行在60FPS,这个要关掉,会强制启用垂直同步

另外,游戏主菜单的Option内可以选择BGM的类型,推荐使用Wav,不要使用Midi(Midi格式更不稳定,进下一面按Z过快容易闪退)。

        1.2.2 妖妖梦、永夜抄、花映塚

同上,但是最后一个选项要选中。

        1.2.3 地灵殿和之后的作品

其他选项保持默认即可,输入响应方式选高速,即关闭垂直同步

不开启高速(Fast)可能会出现各种问题,包括但不限于高处理落、高延迟、掉帧。

从th13开始,游戏数据保存在“%AppData%\ShanghaiAlice”文件夹内。可以将其移动到其他磁盘,并以管理员权限通过命令提示符(不是PowerShell)使用初级软链接映射到C盘数据文件夹的原本位置,以免重装系统后数据丢失。

代码块
Shell
自动换行
复制代码
mklink /J "链接(虚拟)文件夹路径" "源(真实)文件夹路径"
复制成功

其中,链接文件夹路径不应存在,系统会在该路径创建映射;而源文件夹路径必须存在。初级软链接映射出的链接文件夹是虚拟的,可以理解为一个高级的快捷方式。复制粘贴链接文件夹会生成新的对源文件夹的映射,对链接文件夹本身进行操作(复制/粘贴/删除)对源文件夹不造成任何影响;但是对链接文件夹里面的内容进行操作,相当于在源文件夹内进行操作。

Windows硬软链接使用参考:https://www.cnblogs.com/wjw6692353/p/11106912.html

2 各种插件

参考:https://thwiki.cc/游戏攻略/STG常用工具

注意:各种插件相互作用可能导致未知的兼容性问题,插件不是越多越好,应该按需使用。对于东方正作,VP/喵玉汉化 + dgV基本能够满足所有需求,一般来说无需其他插件。

    2.1 画面和延迟优化类

        2.1.1 VsyncPatch(降低延迟,适用于th06~th10)

主要解决ZUN代码中的输入和渲染逻辑错误导致的延迟,对th06~th10的效果十分明显。

th11及以后,ZUN优化了代码,VsyncPatch的作用变得可有可无(也许还有负优化,比如增加延迟)。

下载地址:https://wws.lanzoux.com/iwDNdm0gwdi

使用方法:将vpatch.exevpatch.ini,以及对应游戏的.dll文件(如妖妖梦就是vpatch_th07.dll)三个文件放入游戏文件夹,修改好vpatch.ini后,运行vpatch.exe即可。

配置文件(保存为vpatch.ini):

代码块
Shell
自动换行
复制代码
[Window]
AskWindowMode = 1      ;是否在开启时询问是否全屏
enabled = 1            ;是否使以下配置项生效(窗口模式下可以改变窗口的大小与位置),0为禁用,0以外为启用
X = 0                  ;画面顶点横坐标,单位像素
Y = 0                  ;画面顶点纵坐标,单位像素
Width = 1280           ;画面宽度,单位像素
Height = 960           ;画面高度,单位像素
TitleBar = 1           ;是否使用标题栏,0为不使用,0以外为使用
AlwaysOnTop = 0        ;是否使用窗口置顶,0为不使用,0以外为使用

[Option]
Vsync = 0              ;是否开启垂直同步,0为禁用,0以外为启用
SleepType = 1          ;此设置决定FPS控制是否完美(默认=1)
BltPrepareTime = 0     ;下一帧实际显示在屏幕上之前的毫秒数(0~16ms)(默认=4)
AutoBltPrepareTime = 0 ;设置为1以上时,将会对绘图的完成时间进行统计,并自动设置最佳的BltPrepareTime;设置为0关闭自动设置(默认=1)
GameFPS = 60           ;游戏运行帧率,单位fps(帧每秒),数值大于等于60才会生效
ReplaySkipFPS = 240    ;快进时的帧率,单位fps(帧每秒),长按Ctrl键触发
ReplaySlowFPS = 30     ;慢放时的帧率,单位fps(帧每秒),长按shift键触发
CalcFPS = 1            ;游戏中帧数的显示策略(默认=1)
AlwaysBlt = 1          ;红魔乡、妖妖梦适用的功能,修改游戏中的输入处理代码,解决游戏窗口失去焦点时,按键被留在上面的问题;即使游戏窗口没有获得焦点,也会正常绘制画面(默认=0)
AllowShortDelay = 0    ;是否通过增加延迟来降低处理落率(默认=0)
LockBackBuffer = 0     ;是否在显示前锁定后台缓冲区并等待所有Direct3D绘制指令完成(默认=0)
BugFixCherry = 1       ;修复妖妖梦樱点超过100万时的显示错误(默认=1)
BugFixTh10Power3 = 0   ;修复风神录弑神炮(默认=0)
BugFixTh12Shadow = 0   ;修复圣辇船影子的显示问题(默认=0)
ProcessPriority = 1    ;设置游戏进程的优先级
复制成功

注意事项

请务必保持enabled这一配置项位于最上方([Window]的下方),否则可能无法使位于该项上方的配置项生效。(AskWindowMode除外)

如果AskWindowMode = 1,中文系统启动th06~th09时会弹出一个有乱码的选择窗口,在这个窗口内选择左边的选项全屏游戏,右边的选项窗口游戏。

画面顶点指的是游戏画面左上角的点(也就是不包括标题栏的意思)。

如果使用窗口置顶,可以避免系统底部任务栏将游戏遮挡住的情况。

如果不使用标题栏,则无法通过鼠标拖动来改变窗口位置,也就是固定死了(可以通过配置直接设置横纵坐标);如果使用标题栏,运行th06~th10时按Alt会触发Windows窗口的下拉弹窗导致游戏窗口失去焦点而暂停,并产生异常帧率,导致作弊嫌疑。

对于红魔乡,VsyncPatch有两种.dll文件:

    - vpatch_th06.dll:(中文环境下)只能识别“搶曽峠杺嫿.exe”,不支持使用thcrap。

    - vpatch_th06_unicode.dll:不识别乱码文件名,仅识别“東方紅魔鄉.exe”,支持使用thcrap。

使用VsyncPatch在辉针城正常游玩时按Shift低速移动会触发慢放功能,可以把ReplaySlowFPS设置成60来避免这个问题或者不使用VsyncPatch。

更多功能和具体配置参考

https://thwiki.cc/游戏攻略/STG常用工具/VsyncPatch/vpatch_readme

        2.1.2 d3d8to9(适用于Win7)和dgVoodoo2(适用于Win10/11)(降低延迟)

d3d8to9和dgVoodoo2都是DirectX转换补丁,旨在通过将所有API调用和低级着色器转换为等效的更高版本来提高使用原版本DirectX进行渲染的游戏的兼容性和稳定性。不仅对于东方正作,同人作和其他使用老版本DirectX的游戏也可以通过这种方式优化游戏体验。在此基础上,dgVoodoo2还能使游戏的全屏分辨率适应显示器分辨率甚至转换成无边框窗口全屏,这些极重要的特性是其他插件做不到的(部分老游戏全屏会修改显示器的分辨率,导致启动长时间闪屏、游玩中切屏崩溃、关闭游戏后剩余窗口缩成一团)

d3d8to9:DirectX 8 → DirectX 9

dgVoodoo2:DirectX 8/9 → DirectX 11

下载地址

d3d8to9:

https://github.com/crosire/d3d8to9/releases

dgVoodoo2:

https://dege.freeweb.hu(官网)

https://pan.baidu.com/s/15B10UdjQL76OTcXLtkgwKg?pwd=9961(整合包)

使用方法

th06~th09是DirectX 8接口,th10及以后都是DirectX 9接口。

对于Win7系统,th06~th09适用d3d8to9。

对于Win10/11系统和支持DX11的Win7系统,全作都适用dgVoodoo2。(查看系统支持的DirectX版本可以通过Win+R打开运行,输入“dxdiag”并回车)

两者都是将文件放进游戏文件夹内,正常启动游戏即可。

注意事项

部分核显对d3d8to9和dgVoodoo2的支持都不好(表现为严重拖影或无法启动),可以尝试enbconvertor(下载地址:http://enbdev.com/enbconvertor_dx8_dx9_v0036.zip)。


内置dgVoodoo2控制面板,可根据专栏cv38993932进行调整。

独占全屏配置需要在属性→兼容性里禁用全屏优化才能达成最佳效果。

无边框窗口全屏配置需要在属性→兼容性里勾选替代高DPI缩放行为,否则画面可能超出屏幕。

Win7系统的游戏应当使用专用配置,其他配置的缩放模式会给Win7游戏增加延迟,并且Win7也不支持新系统才有的Flip Discard。在Win7系统下使用dgVoodoo2,缩放模式应当选择unspecified,并且游戏分辨率越低延迟越低。

部分核显使用dgVoodoo2时,有可能使正作游戏出现渲染问题导致纹理缺失,可以尝试ReShade、DXVK;或者退而求其次,使用d3d8to9

dgVoodoo2使用于弹幕风作品时有可能导致图像元素缺失(例如海鲜堂系列游戏和潮圣书),其他游戏也可能有这种情况,使用时请自行取舍。(已被疯受鶸网页链接​修复,需使用专用补丁)

th06~th13在使用dgVoodoo2整合包内的高分辨率配置时,游戏主画面外会有纵线或呈砖块状,使用时请自行取舍。

用OBS捕获使用了dgVoodoo2整合包配置的全屏游戏时,如果显示器桌面分辨率的纵横比不是4:3,画面左右会产生黑边,可以自行裁剪。

配置方法

对于东方游戏,d3d8to9无需配置,可以直接使用。如果有配置需求,只能通过dxwrapper(https://github.com/elishacloud/dxwrapper)进行配置。

dgVoodoo2的配置十分复杂,推荐使用整合包里配置好的。dgVoodoo2的详细配置参考:

        2.1.3 Special K(降低延迟,针对窗口游戏进行优化,只支持DX11及以上版本)

Special K被人们亲切地称为PC游戏界的“瑞士军刀”,它无所不能。它最出名的是修复和增强图形、许多详细的性能分析和修正模块,以及不断增加的工具库,这些工具可以解决影响PC游戏的各种问题。【官网:https://www.special-k.info/】

Special K是专注于现代游戏DirectX 11/12的优化补丁,针对窗口和无边框窗口全屏模式,可以降低桌面窗口管理器(DWM)带来的延迟影响,需要手动配置。该插件稳定性不如前述两者,请酌情使用。

整合包下载地址:https://pan.baidu.com/s/1jkFqVhDvmYG7dt4fkxRrPQ?pwd=9961

使用方法:在游戏文件夹内已经有dgVoodoo2且使用窗口配置的基础上,将对应的文件放入游戏文件夹内并改名为d3d11.dll(比如东方游戏全是32位的,那就将d3d11_32.dll改名并复制进去)。

注意事项

Special K不支持BitBlt Model和独占全屏,经过Special K注入的全屏模式会被强制转换为无边框窗口全屏。【https://wiki.special-k.info/en/FAQ】【https://wiki.special-k.info/en/SwapChain】

官网的版本对东方正作的支持已经出现了问题(th14及以后会报错,打不开游戏),请使用整合包内的旧版(v 23.9.10.5)。

对于v2.2.1.4以下版本的thprac,打开使用了Special K的th14及之后的游戏会出现不兼容的问题。

对于Special K注入后的th20,使用thprac时需要在不应用thprac的情况下启动游戏,在游戏主菜单出现后再应用至正在运行的游戏

Special K配置好后,可以在右键属性里将d3d11.ini设置为只读,防止意外修改。使用时尽量不改变游戏的全屏或窗口模式,有可能导致游戏崩溃,甚至损坏存档。调整显示模式前需要删除游戏文件夹下的d3d11.ini

使用Special K前建议备份游戏存档score.dat如果游戏在使用Special K时崩溃了,Special K会修改游戏exe以增大程序可用内存。而ZUN的代码中,退出游戏时会把exe计算入checksum并保存进score.dat里,如果这个exe是修改过后的,就会损坏存档。用正常版本的exe读取这个计算了修改后exe的score.dat,checksum就会验证失败。(特别严重的,th07在checksum验证失败时会直接清空score.dat的数据)

免责声明:Special K可能在多人网游中存在被检测为作弊的安全风险,如封号与笔者无关。

配置方法:在安装好插件之后,启动游戏,如果是第一次使用,插件会自动在后台初始化并在

代码块
JavaScript
自动换行
复制代码
shell:Personal\My Mods\SpecialK
或
%USERPROFILE%\Documents\My Mods\SpecialK
复制成功

路径下生成依赖和创建本机全局配置。(初始化可能导致游戏无法启动,如此请再试一次)

启动时会在游戏文件夹内的log文件夹生成日志文件,如有报错可查看。

启动后游戏内可以看到Special K在游戏顶端弹出横幅,说明成功装上插件了。

此时按Ctrl+Shift+Backspace打开Special K控制面板:

Special K 控制面板

    • 全局配置

以下两个全局配置只用设置一次,配置会保存在:

代码块
JavaScript
自动换行
复制代码
shell:Personal\My Mods\SpecialK\Global\osd.ini
或
%USERPROFILE%\Documents\My Mods\SpecialK\Global\osd.ini
复制成功

并对所有使用Special K的游戏生效。

首先在图中设置⑥把截图快捷键关了(或改到别处),默认的键位是F8和F9,会造成快捷键冲突导致thprac的功能无法使用。早期作品分辨率低可能导致Special K控制面板显示不全,可以用其他作品的控制面板改,或者到osd.ini里面改[Screenshot.System]项,只改这两个地方:

代码块
JavaScript
自动换行
复制代码
[Screenshot.System]
WithoutOSD=<Not Bound>
InsertOSD=<Not Bound>
复制成功

图中设置⑤关掉之后,可以关闭每次启动游戏后画面顶部的横幅。

    • 本地配置

以下配置会在设置后自动保存在游戏文件夹下d3d11.ini内。

使用相同显示模式(全屏/窗口)的游戏的配置基本是相通的,可以复用。(举个例子,配置好一个无边框窗口全屏的游戏后,把d3d11.ini复制到其他相同显示模式的游戏的文件夹内,可以省去相同的步骤)

相反,使用不同显示模式的游戏的配置不互通。(如果一个已经配置好Special K的游戏需要切换显示模式,不要在这个设置的基础上进行修改。应该删去d3d11.ini重新配置,或者把配置好另一个显示模式的d3d11.ini从其他地方复制过来)

        - 基础配置

点击图中设置②,打开高级选项,在③中选择渲染优先级为最高;再在④中的NVIDIA延迟管理中选择“Low Latency + Boost”和“Start-of-Frame”,并勾选上“Use Latency Marker Trained Optimization”。(th11和th14及以后的作品没有NVIDIA延迟管理,可能是因为支持NVIDIA Reflex而防止重复优化)

NVIDIA Latency Management是Special K对NVIDIA显卡的低延迟处理进行的深度优化,类似于NVIDIA Reflex。它通过减少图形渲染的帧延迟和显卡队列中的帧数量,来降低输入到屏幕显示之间的延迟时间。这种管理的核心目标是确保GPU和CPU更好地协同工作,避免CPU过度渲染帧数(导致帧队列过长)或GPU没有及时处理已生成的帧,最终减少从鼠标或键盘输入到屏幕输出的延迟。 NVIDIA Reflex是NVIDIA官方推出的技术,通过优化GPU和CPU的协调,降低输入延迟。类似于AMD的Radeon Anti-Lag。

早期作品分辨率低可能导致Special K控制面板显示不全,高级选项的位置比较隐秘,如下图中红框处:

        - 窗口模式配置

在配置完基础部分后,窗口游戏仍需调整窗口大小位置等,按照图中设置⑧设置即可:

Borderless:无边框窗口。顶部无标题。(如果使用标题栏,运行th06~th10时按Alt会触发Windows窗口的下拉弹窗导致游戏窗口失去焦点而暂停,并产生异常帧率。)

Override Resolution:覆盖分辨率。可以通过手动输入分辨率来调整窗口大小,调整完后需要单击图中⑦的红框处进行保存,否则下次进入游戏会恢复原来大小。(使用图中设置⑫可以代替手动输入分辨率。勾选后选择4:3纵横比缩放,此时游戏自动缩放成4:3全屏大小的分辨率且左右有黑边,再取消勾选这个设置,黑边即消除,Override Resolution会被自动填写。)

Center:使游戏窗口居于屏幕正中。

Pixel-Aligned Placement:像素对齐布局。图形学中常用的技术,用来确保在屏幕上绘制的元素与屏幕的物理像素对齐,避免渲染时的模糊、像素混合或锯齿。保持默认即可。

Window Layering:选中“Force Always-On-Top”可以避免Windows底部任务栏遮挡。

Background Behavior:游戏窗口失去焦点时的行为。推荐th06~th09勾选“Continue Rendering”使游戏未选中时能继续运行;其他作品不推荐勾选此项。

Cursor Boundaries:光标边界。保持默认的“Normal Game Behavior”即可,方便游戏时出去干别的(比如直播时回弹幕);选择“Keep Inside Window”会使鼠标被限制在游戏窗口内。

    • 其他杂项及参考

①Render Latency:从请求渲染到显卡提交画面的时间差,不包含两帧的间隔时间(frametime),也不包含物理帧耦合错误,屏幕刷新间隔等,理想情况可低于1ms。正常情况下为0(Hardware: Legacy Flip 或 Hardware: Independent Flip);如果为1,可能是窗口模式下桌面窗口管理器(DWM)导致的,此时把鼠标移动到图中⑦的位置,可以看到⑩,就说明有DWM的影响(Composed: Flip)。

⑨Swap Interval应为“0: VSYNC OFF”(关闭垂直同步),如果不是,可以查看1.2 游戏自带设置2.1.1 VsyncPatch(降低延迟,适用于th06~th10),或使用Special K自带的功能调整:Direct3D 11 Settings → SwapChain Management → Presentation Interval调成0。调整完若帧率比正常帧率高,可以使用魔法锁帧:

Swap Effect应为“Discard (Flip)”,如果不是,有可能是dgVoodoo2没有配置正确。

⑪东方游戏使用SDR和RGB (8-bpc)的延迟更低。HDR和RGB (10-bpc)虽然提供了更加鲜艳的色彩,但是复杂度更高,会增加延迟。

⑬MPO Planes:

flip model是相对于传统的bitblt渲染来说的,传统bitblt渲染方式,一定会被dwm开一个“外部垂直同步”,延迟暴涨。而在dxgi.dll内,微软给各位留了另外一条道路,那就是使用flip model渲染模式,与dwm达成“休战协议”。flip model可以和dwm配合丢弃过时的帧,也可以直接在dwm上打穿一个洞,真正实现win7窗口化那种撕裂的画面。但是,一般的显卡只能输出一个平面,dwm自己已经占走了一个平面,你要是还想打穿一个洞,就得给游戏单开一个平面了。这种多平面输出功能,即为MPO。请注意:只有dx11游戏有资格启动flip model,dx12游戏必定使用flip model!

MPO Planes(Multiple Plane Overlays,多平面覆盖)是现代图形硬件中的一种技术,用于高效管理图形渲染中的多个图层或平面,特别是在Windows 10/11系统中。在没有MPO的情况下,所有图层都需要通过GPU合成为一个完整的画面,然后输出到显示设备;而在使用MPO的情况下,不同的图层可以被分别渲染并由显示引擎直接合成,不需要GPU完成最后的组合操作,从而提升性能、减少功耗,并降低延迟。

Intel6代u以后的核显,NVIDIA 16系及更新的显卡(但不包括30系显卡的笔记本),AMD rx 5xxx之后的显卡,都是支持MPO的。在有MPO的情况下,开启flip model的游戏可能可以实现窗口化低延迟,但这只是必要条件。DXDIAG中可以导出显卡的MPO支持情况,一般来说有4个平面,这意味着你可以同时开4个窗口化低延迟的游戏,再多就不行了。 Win10和Win11的窗口化低延迟有着极为苛刻的条件,下面列出几个必要不充分条件:DX11或12游戏启动了flip model显卡支持MPO显示器不得使用DSC信号压缩窗口不得部分超出屏幕(仅win10),窗口不得覆盖任务栏(仅win10),不得开启10bit色深不得开启HDR不得开启freesync不得在前后堆叠窗口或悬浮窗不得使用捕捉屏幕录制显卡驱动不得早于2019年若系统存在缩放需要禁用高DPI下的缩放

此外,多屏显示也可能导致MPO Unsupported。

因为MPO一般来说有4个平面,运行游戏时,桌面上不建议开太多窗口

参考:

        2.1.4 喵玉注入式汉化补丁(降低延迟,适用于th10和th14及以后)

原理未知(猜测是注入时取消了垂直同步),对于部分作品(比如th10)可以平替VsyncPatch;对于th14及以后不适合使用VsyncPatch的,可以进一步减少延迟。

使用方法:把喵玉汉化补丁thxxc.exe(本体)和thxx.sdb(数据,可通过本体下载)放入游戏文件夹,将thxx.exe改成喵玉汉化补丁检测的程序名称,再运行thxxc.exe,选择启动汉化版。(举个例子,对于th10,使用th16的汉化补丁,把th16c.exe和th16.sdb放入游戏文件夹,再把th10.exe改成th16.exe,运行th16c.exe选择启动汉化版)

注意事项

只有注入式补丁有这个能力,以前用thxxc.dat的不行。

不会影响thprac对游戏的识别。(比如th10用了th16的汉化补丁,thprac检测正在运行的游戏还是th10)

对于喵玉注入式补丁汉化的游戏,使用thprac启动时可能会应用失败,可以在出现游戏选择分辨率和是否全屏的窗口后在thprac的工具一栏中应用至正在运行的游戏

对于使用其他作品的汉化补丁的游戏,符卡名和对话会有乱码,不影响正常游戏。

th18c.exe在启动时不会像其他作品一样弹出选择窗口还是全屏启动的对话框,可以把th185c.exe改名成th18c.exe并替换之来恢复这个功能。(thprac扫描新游戏的时候无法检测改名后的th185c.exe,需要先用原来的th18c.exe扫进游戏列表里再用th185c.exe替换)(此方法仅适用于Win11)

        2.1.5 DXVK(降低延迟,稳定帧率,适用弹幕风等优化不佳的同人作)

把DirectX转换成Vulkan的补丁,支持DirectX 8/9/10/11。由于Vulkan的低开销特性,DXVK在一些优化不佳的DirectX游戏中可以带来显著的性能改进。

DXVK的优点: • Vulkan的低级API设计允许更高效地利用多核CPU,减少CPU瓶颈。 • DXVK能够绕过DirectX低效的驱动实现,提供更接近硬件的性能。 • Vulkan天然支持多线程命令提交,而DX11等旧API的多线程支持较差。 • Vulkan提供更高效的GPU命令缓冲管理,可以减少GPU闲置时间,提升帧率。

在优化良好的游戏中,DXVK和dgVoodoo2降低延迟的表现等同(个人更推荐dgVoodoo2,因为能调整游戏的分辨率,避免开启游戏时系统调整显示器分辨率导致的疯狂闪屏);对于优化不佳的游戏(具体表现为游戏体量不大但非常吃配置),DXVK的优化效果更为显著。

下载地址

https://github.com/doitsujin/dxvk/releases(官方)

https://pan.baidu.com/s/1xJL8vVFytMMnJd7UpM9ndg?pwd=9961(整合包)

使用方法:将文件放进游戏文件夹内,正常启动游戏即可。

注意事项

整合包提供了两个版本,新版本要求显卡和驱动支持Vulkan 1.3,老版本要求Vulkan 1.1。部分核显即使支持Vulkan 1.3也缺少新版本的一些特性,可以尝试老版本。(查看系统支持的Vulkan版本可以通过Win+R打开运行,输入“vulkaninfo”并回车)

老版本的DXVK不支持独占全屏。

如果想利用dgVoodoo2的特性的同时,使用DXVK对优化不佳的游戏进行优化,可以同时使用二者,但因为引入了额外的转换层,理论上比只使用一个插件的延迟更高。(使用方法为将DXVK的d3d11.dll和dxgi.dll放进游戏文件夹内)(因为与Special K使用同样的名称,所以不兼容Special K)

        2.1.6 虚拟手柄(解决游戏未检测到手柄导致的严重掉帧)

在电脑接入手柄,系统安装了手柄驱动程序之后,东方正作会检测手柄是否接入。如果有驱动程序但是未接入手柄,就会导致严重掉帧(更严重的情况是ntdll.dll错误导致内存溢出)。

解决办法:使用由疯受鶸网页链接​维护的thprac内的禁用手柄检测,或者接入一个手柄。(推荐使用thprac直接禁用,需要用手柄的时候再启用;此处也提供了另一种方案——虚拟手柄的下载地址)

Github仓库

Win7:https://github.com/shauleiz/vJoy

Win10/11:https://github.com/Zalafina/QKeyMapper

        2.1.7 ReShade(解决游戏显示花屏)

ReShade是用于游戏和视频软件的通用后处理注入器。功能较复杂,对东方游戏最有用的就是解决游戏画面因显卡问题导致的花屏和闪屏问题(弹幕风作品和用核显玩正作较容易出现此类问题),如没有问题无需使用。

官网下载地址:https://reshade.me

使用方法:下载好了之后,右键解压,将对应的ReShadeXX.dll放入游戏文件夹内并如图所示改名(比如东方游戏全是32位的,那就用ReShade32.dll)。

将对应的ReShadeXX.dll根据DX版本改名

第一次启动会弹出一个教学窗口,说明正确安装了。因为不需要它的其他功能,所以无需配置。

    2.2 其他常用工具

        2.2.1 thprac(东方STG练习器)

东方正作STG最强大的练习工具。

Github仓库

https://github.com/RUEEE/thprac(由疯受鶸网页链接​维护的版本,新增大量实用功能)

https://github.com/touhouworldcup/thprac(由西方社区维护的版本)

使用方法

第一次使用时,放在游戏文件夹外才可以打开主界面,在设置里可以选择语言。(游戏中按Alt+1/2/3也能切换语言)

在主菜单(游戏选项卡)内任意位置按鼠标右键扫描游戏,根据提示完成扫描后,游戏名称变为可选中,就可以使用thprac启动游戏了。

游戏内按Backspace(退格键)打开功能菜单,按F12打开高级设置。游戏自带的practice会被thprac取代。

如果同时使用thcrap,在设置里可以设置thcrap的路径,添加完成后,可通过thprac启动由thcrap修改的游戏。

注意事项

对于喵玉注入式补丁汉化的游戏,使用thprac启动时可能会应用失败,可以在出现游戏选择分辨率和是否全屏的窗口后在thprac的工具一栏中应用至正在运行的游戏

导入th06时,游戏本体内含有多种版本的.exe文件,thprac应用VsyncPatch时只能给VsyncPatch本身支持的.exe文件应用。(见 2.1.1 VsyncPatch(降低延迟,适用于th06~th10)

对于Special K注入后的th20,使用thprac时需要在不应用thprac的情况下启动游戏,在游戏主菜单出现后再应用至正在运行的游戏

推荐打开的设置项

兼容性设置:

    - 初始化窗口位置:解决窗口游戏时不显示游戏窗口的bug。在窗口游戏时点击右上角最小化窗口,然后在最小化的状态下退出游戏,游戏窗口记忆了关闭时的窗口位置,启动时就会从Windows窗口最小化时的特殊位置“坐标 (-32000, -32000)”启动,导致不显示。这个问题是ZUN代码中没有对窗口位置进行判定导致的。

    - 禁止最大化窗口按钮的全屏切换:有时候不想全屏(特别是用了Special K),但是不小心按到了这个按钮就全屏了,这个功能就是为了解决这个问题。

    - 在th11到th13禁用F10键:th11到th13按F10会切换窗口和全屏模式,与thprac的快捷键重叠,建议打开这个设置项以禁用之。

    - 禁用手柄:不用手柄的时候建议通过这里禁用,要用的时候再开,可以解决掉帧问题。

    - 解锁屏幕刷新率:阻止游戏在全屏模式下将刷新率锁定在60Hz。在使用高刷新率显示器且关闭垂直同步的情况下,这么做可以稍微改善延迟并减少画面撕裂。

    - 只渲染用到的字体:减少不必要的显存占用,解决字体白条问题。

    - 渲染正确的日文字体:中文环境下打开日文环境的游戏导致的,这个设置项提供了修复。

thprac - 游戏调整:

    - 允许风神录replay记录多一页ud_xxxx.rpy:在replay文件夹内把回放文件命名为thxx_udyyyy.rpy的格式(其中xx为游戏版本,yyyy为任意合法字符,中文占用两个字符)可以被游戏读取,可通过在游戏内按“→”来显示这一用户回放页面。这是一直以来的功能,因为ZUN的失误导致风神录无法使用,这里进行了修复。

    - 红魔乡在ESC时暂停bgm(仅wav):方便听bgm背板。

    - 启用键盘HOOK:关闭后则无法对按键进行相关修改。

    - 启用SOCD回中功能:当同时按下反向方向键时,不进行任何操作。(从软件层面上优化操作的稳定性)

    - 键盘API设置强制Dinput8:修复各种卡键问题。

启动器:

    - 启动游戏后最小化启动器:防止退出全屏游戏后thprac卡死。

推荐的高级功能

将锁残修改为不疮:更加合理的逻辑。

红魔乡显示是否为rep:对全关和rep播放做出区分。

红魔乡显示低速判定:目前兼容性和效果最好的动态判定点,可代替其他的红魔乡动态判定点补丁。

红魔乡固定初始种子3342:神秘数字,可以使红魔乡一面固定产生三个大P点。

自动打开按键显示、分体键盘、显示APS:内置于游戏右上角的按键显示。

        2.2.2 thcrap(东方STG补丁中心)

官网:https://www.thpatch.net/wiki/Touhou_Patch_Center:Main_page/zh-hans

除了适用于全作的注入式翻译外,还有很多小功能和插件,比如给红妖永添加rank显示。

官网上有很详细的使用说明。

国内的镜像站

由于官方服务器在国外,而国内镜像站日常爆炸,此处提供支持部分作品汉化的本地版本:https://pan.baidu.com/s/1qSquJNS2WjDxl88Iajf4xA?pwd=9961

使用方法

注意事项

th11~th13使用补丁后独占全屏会退化成窗口全屏。

th12~th13无法使用Special K以全屏方式启动。

th20使用汉化补丁后可以修复Windows用户名含中文导致的游戏无法启动。

    2.3 各作品适应插件的推荐组合

3 典型案例解决方法

    3.1 系统提示找不到.dll文件

缺少旧版DX组件

解决方法:见 1.1.1.3 安装旧版DirectX和VC++运行时组件

    3.2 打开th06~th08时弹出东方动作记录并报错

东方动作记录

这个问题的原因是日文编码(Shift-JIS)的程序和其文件名称在中文编码(GBK)环境下显示乱码,导致游戏无法运行或识别文件。这个问题在不同的系统版本中表现不同,Windows家庭版更容易出现此类问题。

解决方法:首先确保使用的是原版日文游戏,除了红魔乡汉化版1.02h、th14及以后的喵玉注入式汉化、thcrap社区汉化以外,不要用汉化版。再将控制面板→区域设置中“非Unicode程序使用的语言”设置为简体中文(推荐使用简体中文-新加坡),并保证游戏路径为英文字母、英文标点或数字。如果依然存在此问题,请加q群620535474咨询。

    3.3 游戏双开报错

游戏双开报错乱码弹窗

这个问题是因为游戏卡死,而游戏主进程仍在后台没有结束,此时重新开启游戏会检测到已存在游戏进程,就会双开报错。

解决方法:打开任务管理器结束游戏进程再启动。

    3.4 红魔乡千帧问题

解决方法:见 2.1.1 VsyncPatch(降低延迟,适用于th06~th10)2.1.2 d3d8to9(适用于Win7)和dgVoodoo2(适用于Win10/11)(降低延迟)

    3.5 启动游戏时会有长时间闪屏,启动后屏幕下方有黑边

th14及以后的游戏比较容易发生。使用1280x960分辨率全屏,这时候如果显卡和显示器没有这个分辨率,就会导致显卡使用近似缩放而在下方产生黑边。对于1280x960分辨率的游戏,显示器保持或缩放为最接近的1920x1080,游戏画面为本来的1280x960,则屏幕下方出现(1080-960)=120像素的黑边。

解决方法:见 1.1.2 显卡设置  • 添加系统不支持但游戏需要的分辨率

    3.6 thprac无法启动th14及以后的喵玉汉化的游戏

解决方法:见 2.2.1 thprac(东方STG练习器)→ 注意事项的红字部分。

    3.7 th11及之后的游戏帧率只有50fps左右

解决方法:见 1.2.3 地灵殿和之后的作品

    3.8 游戏开启一段时间后帧率缓慢下降至30fps左右

解决方法:见 2.1.6 虚拟手柄(解决游戏未检测到手柄导致的严重掉帧)

    3.9 Win11系统全屏游戏时,游戏开启一段时间后弹回桌面(虚空弹窗)或卡死闪退

导致虚空弹窗的原因:Win11系统的部分窗口进程在失去焦点后会定期激活以抢占前台窗口焦点。目前可以确定Win11的文件资源管理器会导致此问题,其他程序的窗口也有概率发生。

解决方法:Win11游戏时不要开着文件资源管理器,桌面上不要开太多窗口。或使用无边框窗口全屏。

通过修改注册表阻止全屏游戏时弹回桌面,参考:

导致卡死闪退的原因:部分老游戏全屏会修改显示器的分辨率,导致启动长时间闪屏、游玩中切屏崩溃、关闭游戏后剩余窗口缩成一团。

解决方法:见 2.1.2 d3d8to9(适用于Win7)和dgVoodoo2(适用于Win10/11)(降低延迟)

    3.10 用华为笔记本或其他使用核显的电脑游玩时,画面有花屏和拖影等现象

解决方法:见 2.1.7 ReShade(解决游戏显示花屏)