手把手教你降低osu延迟
差异不减肥了
2022年03月24日 06:05
收录于文集
共4篇

本教程由本人道听途说、到处搜刮、别人安利、自己胡乱鼓捣测试多年积攒而来

由于上述过程历经数年,出处大部分我都忘了

经过我多年忽悠蒙骗吆喝等暴力宣传 仍然没人用。

还是发b站给你们存着

有的事情也必须要提前说,也许有人会说某某根本不用这些设置云云。

就为了逞他人之威图个快活也好,还是真的觉得自己菜搞了也打不出效果也好,本教程目的是为了让各位更流畅更顺手的玩游戏,所以心里有这些话也请不要讲出来。

由于本人只打STD模式,本教程有些调整将不适用与其他模式(只影响光标)

部分方法也适用于osu以外的游戏

教程分为三个等级,等级按通用性和重要性同时考虑下排序,包括每个小项目都是逐渐升级的 三个等级分别为——

初级——面向所有人 (打osu必须要做的调整) 中级——面向愿意为了低延迟付出一些微小代价的人(虽然有用,但是多少会有些麻烦) 魔怔级——面向愿意为了低延迟付出一切代价的人(没点大病谁这么打osu)

下文中用到所有的软件我已经整合完毕在我自己的群里,欢迎咨询。

进入正题

——初级

初步的降低延迟,提升osu帧率并提升稳定度

让我们先从简单的windows设置开始。

1.关闭鼠标加速度

真的有人不关。

是很啰嗦,但是这个东西好多人不知道关。对于板子玩家来说体感不够明显,但是就原理来说是要关的。

2022年了,还有人不关的吗

2.全屏化运行osu,并禁用全屏优化

osu设置全屏就不发图了

由于我的全屏优化已经在注册表中禁用所以是灰色的,正常来说是黑的,勾上就可以

从win10 1703开始(应该是吧),微软加入了一个非常诡异的项目,所有dx程序都无一例外,优先使用无边框窗口化运行,应该是为了切屏的时候更迅速。

与此同时win10有一个东西叫DWM(桌面窗口管理器),DWM 对在窗口中运行的每个 Windows 应用程序强制执行 >1 帧的输入延迟,大小是屏幕刷新率的一帧。也就是刷新率越低的屏幕,窗口化延迟越大,60hz屏幕下的窗口化延迟大到令人无法忍受。

缺点是禁用全屏优之后会看不见中文输入法的界面(我这么用了很多年,凑合用没问题,总比拖拽强)

3.开启硬件加速GPU*(有可能有人用不了)

设置里面搜索gpu就会有,很容易

由于这个功能是从win10 2004开始实装的,并且需要显卡支持,而且需要比较新的驱动(至少是win10 2004发布之后的版本)

硬件加速GPU可以有效地提升帧率并降低延迟,如果可用,受益的不仅是osu。

4.使用板载声卡作为默认输出,调整输出格式,并使用REAL降低音频延迟*(有部分笔记本用户不支持)

由于使用real只支持微软驱动,所以先教大家更换板载声卡的驱动(本操作同样适用于显卡的音频输出)

有些笔记本的声卡不支持,设置个音频格式就得了。

reddit也有使用real的视频教程,我的系统经过一些调整可能会和别人的不一样。

一般这个不在这里,它叫Realtek

一般来说都会有realtek,我压根没装realtek所以没有

如果没有这个,可以自己手动寻找

操作需要重新启动电脑。

右键小喇叭

我比较激进,除了用的这个全部禁用

不用担心降低音质,综合考虑板载声卡能无损播放cd音质都谢天谢地了

准备工作就绪接下来是real

开源项目,出处 https://github.com/miniant-git/REAL

如果min显示的延迟已经下来了就是成功

REAL只对使用微软声卡驱动且设置为默认的设备起效。原理想听可以找我私聊,有能力也可以看源码。

*关于音频相关常见问题的补充

用USB游戏耳机的用户——USB耳机并不会降低延迟,不增大已经是成功,增大是无可厚非。USB解码、USB声卡、小尾巴等产品均属于同类,且都不能用real。至于音质,osu里面的mp3码率都不高,已经花钱买了听歌设备的朋友就不要指望它了,没什么专门的设备听个响也不会在意的吧。已经买了usb耳机的朋友可以考虑把3.5拔下来插电脑(可以的话)

音频格式——osu的音频以192k的mp3为主,只有16bit,请不要加大位深,44100hz也是osu运行格式,请不要调高,全都会增大cpu占用。

声音忽大忽小——由于windows混音器有限幅器这个功能,会造成osu的音效在播放的时候整体音量全部被迫下降,造成声音忽大忽小,所以我比较推荐音效和音乐全都拉低直到不会触发这个问题。(造成这个问题比较明显的原因,自然还是osu直接丢给windows混音…)

不支持的笔记本用户也想用——可以的话,通过DP/HDMI外接一个屏幕,然后给显卡的音频输出换成微软驱动,操作同上,但是它设备名叫Nvidia/AMD High Definition Audio Device,耳机插显示器3.5端口。(设备名可能会不一样,如果实在找不到可以找我咨询)

由于windows音频api的特性,REAL也可以降低一些画面延迟,推荐尝试也给别的游戏使用。

5.必须解决的windows历史遗留神必问题

win8.1之后出现的光标剧烈延迟问题,可能是重做dpi缩放的关系,好像把光标的坐标也缩放了的样子,微软也不说为什么就甩了一个注册表项目出来,大家也不知道是为什么但是就知道有用 (也有说是什么鼠标节能功能但是我搜不到)

办法很简单,快捷键win+R输入regedit运行注册表编辑器,找到HKEY_CURRENT_USER\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers

这里是储存你程序兼容性设置的地方,如果刚才禁用了全屏优化,那么这个地方会有一个你的osu路径。如果没有,直接右键空白处新建一个字符串,名称是你的osu路径。DISABLEDXMAXIMIZEDWINDOWEDMODE后面加个 NoDTToDITMouseBatch,用空格分开。

像这样

我群里也有做好的注册表文件,只需要你自己填个路径。

然后是一些遗留的关于旧版笔势设置的问题(也就是fixmypen提供的内容)

下为fixmypen修改的内容,基本上就是以前的笔势里面什么笔尖返送监控啊之类的,会造成一些数位板延迟。

很多人说失效了,但是我感觉没有,微软应该是没移除,个人推荐继续使用。

这个注册表我已经做好了,毕竟是通用的,而且也有开源工具可以直接使用。

我底下也放上供参考查阅,具体有没有效果可以拍慢放测试

[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\TabletTip\1.7]

"DisableEdgeTarget&#​34;=dword:00000001

"HideIPTIPTarget&#​34;=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\TabletTip\1.7]

"DisableEdgeTarget&#​34;=dword:00000001

"HideIPTIPTarget&#​34;=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\TabletPC]

"TurnOffPenFeedback&#​34;=dword:00000001

"PreventFlicks&#​34;=dword:00000001

[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\TabletPC]

"TurnOffPenFeedback&#​34;=dword:00000001

"PreventFlicks&#​34;=dword:00000001

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Wisp\Pen\SysEventParameters]

"HoldMode&#​34;=dword:00000003

6.显卡设置

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

所以我们以英伟达为主。

注意dch版本的驱动没有控制面板,需要从微软商城获取。(推荐b站搜索,有的是解决方案)也可以从某不存在的搜索引擎上面搜索nvidia standard driver

遗憾的是标准版的驱动截止到了472.84

正题

英伟达的驱动里面有很多乱七八糟要改

看图照着改吧

真的有人买高刷屏跟我说看不出来,我去他家一看他没改

给gpu捣乱的功能,挪到cpu

不缩放,减少一次运算,手感还挺明显的

没有就自己添加

CUDA要点进去关,osu不需要这个东西。

电源模式可以用最大性能,但是会增加卡顿

最有效果的几个就是关闭三重缓冲、关闭着色缓存器、勾掉cuda、低延迟模式选超高。

有的显示器会支持Gsync,请一定关闭,它会限制帧数。

笔记本玩家请一定注意自己的笔记本是否有独显直连模式(搜自己型号)

如果没有请不要用独显跑osu,除非外接屏幕

用核显的情况下帧率虽然低,但是画面延迟会变低

如果需要更高帧率,可以720p拉伸全屏

7.使用开源数位板驱动、型号推荐

如果您使用鼠标,请不要买viper8k这样的超高回报率鼠标,如果用的就是它们,请降低回报率到2000(4000和8000传输的坐标太多了,osu比较菜,吃不消)然后就没有别的注意事项了

由hawk制作的TabletDriver https://github.com/hawku/TabletDriver 由多位创作者联合制作的OpenTabletDriver https://github.com/OpenTabletDriver

这两个驱动都可以搜到相应的视频教程我认为可以不做赘述。

型号上来说

除了wacom的ctl系列以外都不推荐(ctl490和ctl4100除外)

它们都多少带有一些内置的降噪和去抖动算法,但是开源数位板驱动里面都是可以自己调整这些参数的,甚至低回报率的缺点也可以通过补帧算法来弥补。

也就是需要找到一款没有内置降噪和去抖动的数位板,目前只有wacom的ctl系列没有。

虽然xppen g640有很多玩家背书并且宣传甚至还出了专门的osu版本

但是很遗憾肉眼可见的延迟高,他们的客服说没有去抖,但是它有降噪。

谁不希望一个更便宜、回报率更高、笔更轻、更薄、更高分辨率的数位板呢,可惜它延迟高。

也算是我求求各大数位板厂家了,做一个没有内置降噪和去抖动的固件(你们一定知道我指的"没有&#​34;是什么),别纠结无驱动使用了,这年头谁还不装个驱动啊,osu也不需要降噪,一个点那么巨大,更高回报率和延迟低才是真的。


初级阶段到此为止,接下来的中级阶段需要更多的电脑使用基础,看不懂请积极自行查阅资料配合使用。

——中级

进一步降低各方位延迟,但可能会影响日常使用

我暂且给中级提升一些观看门槛,认为大家会一些基本操作

8.键盘的选购

首先要明确一个概念,键盘的回报率不代表它触发也是那个速度。

普遍的机械键盘都是首字符加延迟来去抖动的

现在火遍osu的hyperX

触发延迟(首字符)20ms(还是25我忘了)

只有少数键盘不是这样的,先发码然后尾字符去抖,首字符只有1ms。

外设厂家并不会宣传这一点,因为很多人都凑合过来了。

但既然我写降低延迟,就不会在延迟上凑合。对我自己而言低延迟键盘我视为必须品。

如果我后来又买了别的键盘就可以做一个公开的延迟表单,但是我现在手里全都是首字符1ms的。

我只能给你讲一下我印象里的事情。

sayobot和simpad两家的触盘都是低延迟的,但是触盘都太轻容易打着半截就位移(我贴了一块钢板,很管用)

plum 84pro虽然比较推荐但是马上面临没有货

xtrfy的k2和k5都是低延迟键盘比较推荐

贼船的8khz键盘我没测,怀疑是单纯的刷的快

有一些低延迟套件例如cb87(是真™贵)gmmk(也不便宜)

别的就忘了。

如果本篇专栏点击超过10000,我就买一把测量评论区点赞最多的键盘的延迟并再发个专栏

9.使用非共享的usb接口,不要使用hub

比较有病,理论上是少1ms

把打图的两个外设都放上去

台式机才有,而且一般主板只给俩,笔记本全都是共享端口(hub性质)

比较简单的分辨方法,主板最靠上的两个口。

也可以使用usbview软件,查看usb接口的Companion Port Number,0就是非共享

我年迈的数位板插在了最上面的usb

好处当然是延迟低,坏处是如果你玩fps游戏,打osu又用的是数位板,要么来回插拔,要么忍受某一个外设额外延迟。

10.调整pcie设备中断模式优先级

需要用到MSI_util_v3这个软件

pcie的中断机制有兴趣可以自己去看,一般认为开启延迟会低一点,优先级调高会更低。

最激进的方案是把除了显卡和usb调到最高,其他的中断模式直接关闭。

但是不是所有主板都允许这样做,很多板载设备都会宕机,严重的情况需要重做系统,本质上是修改注册表的工具,所以用之前记得备份注册表

图为我的设置

应用之后需要重启电脑。

我设置的中断模式比较激进,usb只留了一个主控制器保持中断模式高优先级,其余的中断模式关了。由于我拥有一张雷电声卡所以把雷电控制器的优先级拉高可以降低延迟。

网卡和硬盘的优先级被我下调(原本都是高)

英伟达的显卡,30系以前默认都不开启中断模式,并且每次装驱动(包括升级)都会重置中断模式设置,如果使用请切记不要忘记。

AMD显卡默认开启。

11.禁用windows服务项

有些服务项很可能关了会有问题(我从安装包把defender给删了,结果导致商店打不开)

所以这一块我认为不应该太详细讲述,每个人用的东西不一样,万一关多了运行卡壳,只是给大家一个提示。

很推荐关闭的项目——

付款和 NFC/SE 管理器

蓝牙支持服务

零售演示服务

自动时区更新程序

Superfetch

NVIDIA Telemetry Container

Phone Service

Print Spooler(不会有人用打印机的吧)

Geolocation Service

HomeGroupListener

HomeGroup Provider

以及很多别的这种万年不用一次的鬼东西。

更激进的方案我会放后面。

12.关闭高精度事件计时器、关闭系统熔断补丁(intel专用)

不为什么放一起就是懒得拆开

位于设备管理器——系统设备 从下往上找

这个东西有的机子关了会卡,原因不明。

熔断补丁对于我们臭打游戏的来说,那不是没用,是真没用。(也许有,但是我不觉得)

需要专门的工具 https://www.grc.com/inspectre.htm

管理员模式运行,俩都disable,重启

13.intel cpu锁定ring频率

首先这个不是所有电脑都可以用,例如大部分笔记本

操作有一定风险,适合机子比较不错但是不知道为什么卡顿的朋友尝试

比较老旧的windows版本会让所有CPU核心轮流运行一个线程。

据我推测和观察,在交接的过程中会有一个空载的瞬间,自动睿频模式的电脑检测到就会对cpu降频,等再次检测到负载就会有几十ms的延迟,这个过程就会掉帧。

经过一段时间尝,我试把环形总线的频率锁定为一个比较高的固定值就会起到很好的抗掉帧效果。(所以应该是经过L3缓存交接吧)

一般bios都是让你填ring倍频最大值和最小值,这个需要根据自身cpu主板型号去调整,具体的超频步骤推荐看一些专门超频的视频,我自己的比较激进不能作为参考。(我以前用的8700k的核心和ring倍频都锁定50,睿频直接被我关了,现在的7960x核心倍频锁定50mesh锁定32,因为有分体水冷可以极其激进,但也因此从来不会卡顿)

tips:osu占用最大的是L1i缓存,而intel的L1缓存延迟都相对低一点比较占便宜,哪怕是比较旧的8代中端cpu,只要频率到位就可以跑超高帧,右下角狂飙0.15不是问题。

14.禁止windows自动提升音频线程优先级

还是改注册表

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Audiosrv]

"DependOnService&#​34;="&#​34;

然后重启

win10出的功能,其实大部分程序的音频线程优先级都在程序里面自己写好是什么了,我感觉比较画蛇添足。但也可能不是所以推荐备份。

音频线程一般都是实时,多此一举


至此我认为愈发的魔怔了起来。

所以我准备进入专门给魔怔逼看的部分

——魔怔级降低延迟

跟延迟有不共戴天之仇,有你没它,哪怕换游戏方式

看到这里真的希望降低延迟的朋友一定都是神人了,操作应该会比较熟悉吧

15.定期更换高刷新率的显示器

你觉得这样有病吗,我觉得有诶

专门骂自己

其实换到390我不得不说体感很明显,windows窗口上白色的光标你画一个圈几乎就消失了,osu中光标在很多常规速度下已经可以衔接起来,这个表现是惊人的,因为144换到240完全没有这种变化,但是240换到390几乎发生了质的改变,也许我们觉得不够明显就是还不够高的关系吧。

16.将osu的Bass.dll和BassFx.dll换为旧版本并使用音频兼容模式

某年ppy换过一次bass库,但是从offset到光标延迟全都变了

换成之前的版本然后再打开音频兼容就没事了而且新功能一样用,但是会导致动不动原地更新

如果有人想要我发群打包

17.在bios中关闭speedshift和c states

具体操作可以搜索

这样cpu频率就不会变了,但是会导致待机功耗很高(尤其我这个大火炉弄了个待机100瓦真的服了)

最好别。

18.将osu的音频线程优先级降低

首先这么做我不确定会不会触发反作弊(应该不会)

用ProcessHacker查看osu的线程

长这样

dsound优先级这么高有什么用呢,反正调低也就多那么一丁点音频延迟,但是光标可以更加跟手。

应该没有人会这么做。

19.彻底放弃windows转战linux

很多人这么做!

我也试过,参考thepoon的教程,优势很多(例如直接改音频更新区间和缓冲区,可以获得18ms左右的音频延迟)也有开源的数位板驱动,最大的优势当然是没有windows这么多乱七八糟服务项,不用一个一个搜索怎么关。

同时问题也很多,例如□□□问题和□□□问题还有□□□□问题

wine动不动嗝屁,英伟达驱动难装到怀疑人生,西八老黄

20.关闭一切osu的在线功能

我的设置

和离线差距不太大,很不方便是真的,但是打图不需要交流。

聊天室聊天,打图是打图,嗯。

21.彻底放弃osu自带音效,使用外部按键音效软件

真的能忍?我不能 不开real 40ms 开了real 25ms usb解码器甚至有100ms

伟大的keyasio能做到最低平均0.6ms(需要presonus quantum系列的任意一张卡,并用spdif输出到另一张声卡作为dsp和板载声卡混音),音乐声音不会忽大忽小,音效不会忽左忽右,响度永远一致,空按也有声音,除了要买一张专业声卡和大量的线以外,没有任何缺点

https://github.com/Milkitic/KeyAsio.Net

由yf_bmp编写的keyasio软件,性能良好使用方便,仅需要购买一张性能优异的asio声卡,并买一个音频线把板载输出插到声卡上直接混音,即可无音效延迟打图。不方便插板载甚至可以用声卡一边播放asio内容一边播放osu音频(但是这样光标延迟会很高)

也可以使用一个便宜的混音器,用asio4all输出音效到板载,用显卡输出osu音乐,然后用混音器混合。延迟大概在15ms左右,可以勉强忍受。

录一个keyasio和osu本身音效的差值作为全局offset(我的是-25)

我自从2019年开始就没有再开过osu的音效,非常推荐大家尝试。

22.更改osu的cfg,以低分辨率物件运行

在你的osu系统用户名.cfg里面

LowResolution = 0改成1

即刻起所有@2x物件都不能用了,全都低清,立刻降低占用和延迟。

由东莞人发现的。

我从2017年开始这样用,优势很明显。

缺点当然是漂亮的皮肤物件全都烂了。不就是看不了高清小妹妹

能忍吗,我当然能,不然为什么我自己的皮肤一个2x物件都没有

23.用nvidiaProfileInspector更改英伟达控制面板中不能更改的更多设置

用起来很麻烦 很多项都是不知道是什么

它长这样,需要输入osu!才能跳转

这几个项目效果比较明显

改完右上角Apply

解释不清的东西比较多,慎重使用,其他调整仅供参考

24.使用dwmtool关闭dwm

没错就是关dwm https://github.com/kurtis2222/win10_dwm_tool

但是关闭dwm会造成各种界面的不能用

会变成这个样子

不是非常魔怔怎么会想用呢

a.从安装系统开始清理系统

安装包的清理非常难而且非常容易出问题,我装了10几次系统现在还是有问题,非常不推荐

例如我删除了defender,然后微软商店瘫了

要一个一个看这些东西是干什么的,关键是多到看完会忘掉。

作为一个合格的低延迟魔怔逼怎么会拒绝呢

b.更换良好屏蔽的usb线给键盘用

这个真太魔怔了,但是我真这么干了。

由于pc占用大的时候会发射海量的emi干扰,keyasio在空载状态0.6ms,跑起来osu之后就变成0.5-2ms浮动了,我扒拉扒拉usb线发现那线屏蔽层属实不行,很薄很漏风,买了一根sommer的带屏蔽的4芯(……有大病了属于是)做了一根给键盘用的usb线。

有用吗,有,有病吗,更有。

推荐买个普通的就行,给鼠标用的伞绳线最好不要给键盘用,它没有屏蔽层会剧烈被干扰,黑又粗一般来说就是好的。虽然我不知道谁家的线质量比较好,但是为了追求质量也不至于弄个沾不到边的线自己动手做。

c.不同轴体延迟不同

虽然测量结果支持我的说法,但是理论并不,毕竟就一个簧片开关

不过金粉比box红整多1ms,我很难理解为什么


魔怔级基本都是我本人干过的魔怔尝试,有的可以参考,有的看个乐就得了

*asiohook可能会被封号,我就不放了

*osu不怎么挑内存,不是很需要超频

希望大家多多转发评论,让本文让更多的人看到 纠正的事情也拜托了 写完已经早上了我要休息一下