从PS3开始,索尼就用蓝牙作为无线手柄和主机之间的连接,往往其他键鼠蓝牙设备在使用中,都能感受到一点点相对于有线连接的延迟,而PS主机上用手柄却完全感受不到,甚至很多格斗游戏职业玩家都可以用PS4手柄参赛(例如街霸5),更不可思议的是这个无线连接还能同时实现完全感受不到延迟的音频传输,而大部分手机蓝牙耳机在使用时都会有明显的延迟。索尼是如何做到的?是否用到了特别的技术?
这是个很有趣的问题,虽然总结下来就是专门优化。
英文过关的朋友可以直接看链接内容,这也是本文的主要依据。
Ultimate Controller Comparison | Input lag + more (PS5, PS4, Xbox SX/Elite 2/One, eSwap Pro)Controllers input lag comparisonController Lag |inputlag.science链接一中讨论了各个手柄的延迟。数据引用视频作者Rocket Science在更新后所测,以延迟低-高排序:
(注一:链接一中讨论时间为2月份,原视频作者Rocket Science在三月份重新上传了一次视频,更正了原测试里因他的AMD主板bug导致PlayStation手柄有线延迟增加的错误数据,其它手柄数据没影响。作者指出在AMD主板上非CPU直出的USB通道会导致该延迟增加。)
(注二:我知道二次引用是学术大忌,但部分网站在正常情况下无法访问。随着研究深入,链接里讨论存在部分数据和观点错误,目前保留仅为方便阅读。本文采用测试者最新数据。)
手柄 | 连接方式 | 轮询率 | 延迟(平均) |
---|---|---|---|
DualSense | 有线 | 8000 Hz(超频) | 2.0 ms |
DualShock 4 | 有线 | 1000 Hz(超频) | 2.3 ms |
DualSense | 有线 | 1000 Hz(超频) | 2.5 ms |
DualShock 4 | 蓝牙 | 3.1 ms | |
Thrustmaster eSwap Pro | 有线 | 1000 Hz(超频) | 3.5 ms |
DualSense | 蓝牙 | 4.9 ms | |
Xbox One S | 有线 | 1000 Hz(超频) | 5.2 ms |
Xbox Elite 2 | 有线 | 1000 Hz(超频) | 5.3 ms |
Xbox Series X | 有线 | 1000 Hz(超频) | 5.5 ms |
Xbox Series X | 无线适配器 | 5.9 ms | |
Xbox One S | 有线 | 124 Hz(默认) | 6.7 ms |
Xbox Series X | 有线 | 124 Hz | 6.8 ms |
Xbox Elite 2 | 有线 | 124 Hz | 6.9 ms |
Xbox Elite 2 | 无线适配器 | 7.1 ms | |
DualSense | 有线 | 250 Hz(默认) | 7.2 ms |
Xbox Elite 2 | 无线适配器 | 7.3 ms | |
Xbox One S | 蓝牙 | 7.6 ms | |
Thrustmaster eSwap Pro | 有线 | 7.7 ms | |
DualShock 4 | 有线 | 250 Hz | 9.9 ms |
Xbox Elite 2 | 蓝牙 | 10.2 ms | |
Xbox Series X | 蓝牙 | 12.0 ms | |
其它 | |||
Steam Controller | 7.4 ms | ||
Xbox 360 | 8.4 ms | ||
DualShock 3 | 11.8 ms | ||
Switch Pro | 19.4 ms |
这里的超频是超Polling Rate,轮询率(USB连接下,数据在一秒内的更新频率)。常见于外设软件如Razer Synapse雷云的鼠标性能设置。DS4的话也可以在DS4Windows里设置(下图红框)。
据我理解,轮询率是系统向设备讨要数据的频率,但设备数据发送回系统的频率并不一定与之一致。默认情况下,USB设备的轮询率是250 Hz,PS手柄会以250 Hz的更新频率给系统传输数据,Xbox手柄则以124 Hz回传。在轮询率超频到1000 Hz情况下,PS手柄也能以同样的1000 Hz频率回传,但Xbox还是124 Hz。这导致了PS手柄超频后的延迟降低幅度要远大于Xbox手柄。
首先,在无线模式不超频的情况下,PS4手柄(Dualshock 4)蓝牙延迟最低,优于PS5手柄(Dualsense)。PS系列手柄蓝牙的延迟全面超越Xbox系的有线、2.4G及蓝牙。Xbox系列手柄所呈现的有线优于2.4G优于蓝牙,与无线鼠标的普遍认知是一致的。反而是PS系蓝牙超越2.4G以及有线连接令人难以置信。这也许是题目所述部分格斗游戏职业玩家用PS4手柄参赛的原因,Dualshock 4 3.1ms的蓝牙延迟在无干扰的环境下可能优于部分街机摇杆。
其次,在有线模式不超频的情况下,Xbox系手柄反超PS系,Xbox One手柄延迟为Dualshock 4的三分之二。这一点在第二个链接里有讨论。大致认为,索尼可能以PS手柄多在无线模式下使用为由,着重调高了无线模式的轮询率,高于有线连接下默认的250 Hz(Xbox One 为124 Hz),提升了刷新速率,从而导致输入延迟远高于有线模式。甚至在PS4的系统设置里,有一项是使用USB连接线连接时,可以设定通过蓝牙或者连接线与PS4连接。
最后,超频数据能看出轮询率对降低延迟有非常大作用。有线连接超频下所有手柄都有显著提升,PS5手柄能拉到8000 Hz数据尤其出众,超越了许多游戏机械键盘(下附一键盘延迟测试数据链接)。Dualshock 4的延迟就已经低于我打这篇文章用的雷蛇猎魂光蛛(噢不对我是竞技版1ms)。再加上有线连接的稳定性抗干扰性加成,足以满足部分玩家追求极致的需求。
Our Keyboard Typing Experience Tests: Latency回到题目,我搜了很久都没找到索尼在手柄蓝牙连接技术上的文章,也许是我是搜的不够深入,也许是专利技术不予公开(用词错误标记)。但不容否认的是,PS手柄,尤其是使用蓝牙v2.1+EDR的Dualshock 4,是经过专门优化才得出如此好成绩的。具体到是怎样的数据压缩传输技术能做到低延迟音频传送,这在我的知识范围之外,我也不深挖下去了,还望见谅。我只能笼统地说索尼在数字音频和数据传输上是有技术积累的。
(我一开始也是理所当然地以为PS手柄也和Xbox手柄一样用2.4G和蓝牙双模,连主机用的是2.4G才能做到低延迟加音频同步。正想以知乎经典的“先问是不是再问为什么”嘲讽一下题主的无知,但多年的学术训练还是提醒我最好搜一下相关信息以防出乌龙,所以......)
简洁版:
1.ps手柄按键部分,蓝牙传输完全没有问题。
2.xbox,ps手柄的耳机音频不是,也不可能是蓝牙,xbox明确是5ghz wifi,ps2.4/5ghz未知。
3.音频部分不可能是蓝牙原因:一方面:受限于蓝牙协议,只有采用2.4ghz或者5ghz技术传输的无线耳机支持语音功能,蓝牙不可能支持,ps手柄支持双向音频传输,所以不是蓝牙。另一方面:蓝牙传输音频做不到手柄的极低延迟。
4.无线2.4/5ghz传输音频强在哪里? 例如赛睿寒冰系列,延迟极低,相对于抗干扰极强,且无损音频传输,完全达到竞技游戏的需求。
5.为什么会是这样?…….. 看下面4000字文章,这涉及到蓝牙,2.4ghz技术,蓝牙音频协议,以及主机为什么不支持蓝牙耳机的诸多问题。
这是全网甚至于全球互联网最详细剖析的文章了,哈哈。
2.4GHz技术指的是多种工作在这一频段上技术的集合,蓝牙就是其中一种,2.4GHz虽然信道数量与蓝牙相比没什么优势,但频宽却超过了80MHz(是频带宽度不是带宽),所以其抗干扰能力远强过蓝牙。2.4GHz无线连接技术在连接性能上更强悍稳定(毫秒级响应技术、即插即用、低功耗等),但2.4G必须配接收器,仅能实现一对一工作模式。类似于u盘的接收器其实就是一对一的2.4g适配器,不仅仅是为了在不支持蓝牙的电脑上实现无线,更重要的是为了延迟和双向高清音频传输。
因为是自有协议,所以通常名称模糊或者没有名字,工作在2.4ghz所以称之为2.4G技术,但也有出名的比如罗技的 LIGHT SPEED。5ghz类似,抗干扰更强。
而蓝牙只有79个频宽(是频带宽度不是带宽)为1M的信道,也是一种工作在2.4频段上的传输技术,是一对多的工作模式,受限于蓝牙这一种协议,在性能上无法做到2.4G的竞技性能,抗干扰,带宽,延迟都比较差,而且不能支持高清双向音频传输(即游戏语音开麦)。
蓝牙耳机可能会有麦克风,这仅仅给你用于通话,采用HFP蓝牙描述文件(Hands-Free Profile),8kHz采样率,16位动态范围,双向单声道的全损音质。但蓝牙的双向音频也仅限与通话了,不能双向传输高清音频!所以,所有有麦克风的蓝牙耳机,游戏时并不能使用麦克风。
索尼手柄按键部分使用的是蓝牙,且是经过特别优化的能够做到毫秒级别的延迟. 我认为按键部分蓝牙协议(profile)经过了特别优化做到几毫秒是没有问题的,毕竟传输的数据量和音频对比起来极少,大部分采用2.4G技术游戏鼠标或键盘延迟能够达到1ms的水平。但是音频不同,特点就是数据量对比按键较大,ps5是支持杜比音效和双向高清音频传输的,这些怎么做到低延迟? 下面就是我重点要讲的了。
先明确一下概念,蓝牙是工作在2.4ghz频段上的技术的一种,A2DP是蓝牙配置文件的一种,LDAC,AAC等是编码技术又包含于A2DP这一种蓝牙配置文件(profile)。其次明确的是:单向传输指的是只听游戏的音效,双向指的是既要听游戏音效,也要同时语音。
关键的矛盾:蓝牙目前为止还是没有适用于游戏的官方蓝牙描述文件(profile)。即既要保证高清游戏音效,也要能够同时开麦交流的。
由于蓝牙不仅仅用于音频传输,也用在了大量短距离设备通信上,所以针对不同的场景,蓝牙这种技术必然会有不同的配置文件(profile)来适配不同的场景 ,这好比蓝牙是一个工具箱,对付不同的使用场景,必须有不同的操作方法和规范。
在单向通信的profile中,最常见的A2DP(Advanced Audio Distribution Profile),高级音频分发配置),提供高音质的单向音频传输,听歌看视频都使用这种profile。至于SBC,APTX等编码格式为什么存在?因为A2DP的理论速率仅3Mb(375kb)每秒,达到 CD 音质需要 1411.2 kb/s ,显然 A2DP 无法满足,所以音频数据需要经过压缩,就有了SBC,APTX,LDAC等压缩编码格式。
在提供双向语音通信的蓝牙描述文件中,用的比较多的是HFP(Hands-Free Profile),直译是通话免提协议。因为传输的只是人声,所以只需要很低的采样率和动态范围:8kHz采样率,16位动态范围,双向单声道(没有立体声!),这就是蓝牙免提通话一直以来的音频质量,作为对比mp3音质是44khz采样率,无损能够48khz甚至192khz,8khz来传输游戏音效是绝对不能接受的。去年更新的Hands-Free Profile 1.7.2可以16kHz采样率,16位动态范围,但是依旧单声道.今年的Hands-Free Profile 1.8依旧没变。还有一个HSP profile,也是远古单声道音质,不表。
所以蓝牙耳机至今在游戏上都是非常不堪,又没有合适的profile来双向通信,又自身受限于频带宽度,抗干扰差,延迟还高,所以微软和索尼都在音频无线传输上使用自家的2.4(5)ghz私有协议 ,NS虽然开放蓝牙耳机,但是自然不能开麦。实际上,蓝牙耳机连接任何设备都是如此。
NS开放蓝牙其实是有代价的,在游戏主机上只能说勉强可用.
1.在使用蓝牙耳机时Switch系统只能连接2个无线手柄(joycon算俩),无法再匹配其它的无线手柄,除非关掉蓝牙设备连接。
2.音频可能的高延迟与手柄之间的干扰,NS仅仅支持sbc编码,音频延迟在200ms++。(相对于使用2.4或5ghz私有协议的索尼微软而言延迟差距太大)
3.无法使用麦克风语音(蓝牙耳机的通病,蓝牙耳机不适合主机的原因)
PS和XBOX手柄上有3.5mm接口,而且是2.4ghz、5ghz的自有协议.根本没有必要开放体验差的蓝牙耳机。非要追求无线的体验,买一个支持2.4g的无线耳机,接收器一插就极为轻松的做到这一点.
但是switch不同,switch在机身上做了3.5mm接口,却没有做2.4ghz的自有协议. 自然pro手柄没有3.5接口,这就非常尴尬,掌机还好,主机模式下只能开外放,极其不方便,这被很多人诟病. 如果在pro手柄上加个3.5走蓝牙的,干扰,延迟,还不能使用麦克风,干脆没有.
于是有很多人买了蓝牙接收器搭配蓝牙耳机,但是效果对比2.4ghz技术的耳机都有折扣. 任天堂本来不想用延迟较高,抗干扰较差的蓝牙耳机降低玩家体验,但一看有这需求不少,都会买蓝牙接收器,不如索性自己开放得了.
但是NS并未支持较低延迟的APTX或者APTXLL编码,而是SBC。SBC 算法一般延时在200mS上下,aptx算法延时在80-160mS,低延时的aptX LL 理论值可以做到低于40mS(支持的耳机较少)。所以,那一些买蓝牙适配器的不要伤心,蓝牙适配器甚至支持APTXLL,理论上延迟比NS开放的蓝牙低很多。所以目前的switch蓝牙耳机依旧是妥协的产物,最好的方案还是2.4G自有协议来避免干扰,低延迟以及游戏语音.
经过以上的铺垫,我们很容易得出结论:
微软方面,可以明确的知道,在连接主机的时候,采用5ghz的自有协议连接,得益于频宽优势,低延迟的传输音频信号不在话下. 事实上,在xbox360手柄及其之前根本都不支持蓝牙,就没有正眼瞧一下废拉不堪的蓝牙一眼,蓝牙描述文件中的双向语音通信的蓝牙描述文件至今还是全损音质。支持蓝牙仅仅是为了手柄适配pc而已。还有一点非常有意思的是值得讨论,xbox手柄也有3.5啊,蓝牙连接pc能够使用吗?如果你看懂了以上的文章,显而易见是不能的。但是呢,如果你财力雄厚,买了附带的5ghz接收器,那理论上音频可以经过5ghz传输的,事实上也是完全可以的!!!(见下图)用接收器显然在延迟上也更加有优势。
索尼则很有意思,一直宣称自己是蓝牙手柄,但是却可以低延迟的双向音频,也没有提及具体的技术细节。索尼手柄在按键传输上应该是蓝牙,经过优化延迟甚至能够超越xbox的5ghz.但是在音频方面,ps手柄则必然采用2.4g或者5g的自有协议来实现低延迟的高码率音频双向传输。事实上写个2.4ghz的自有协议确实很简单。因为一众的游戏耳机,鼠标,都是2.4ghz技术。最出名可能就是罗技的light speed了,其他的都是笼统自称2.4,足见门槛较低,更何况对于hifi多年建立ldac编码的索尼。如果ps手柄按键也能够使用2.4ghz或者5ghz自有协议,那么必然已经很低的按键延迟还会降低。达到1ms级别。
pc端?蓝牙?真不熟. 敢自称游戏耳机的要么有线,要么自带2.4g接收器。蓝牙耳机连接就没有语音功能,也不会有极低延迟,单向延迟看采用了何种编码,一般几十ms,甚至100ms,200ms。鼠标键盘用2.4g自有协议,早就可以做到1ms延迟了.
Ns?只有蓝牙了. 音频?不好意思,有线插主机3.5上吧. 我要玩主机模式呢? 要么外放,要么蓝牙,高延迟还不能语音. 任天堂在NS上压根就没写什么2.4g自有协议,没2.4g技术,pro手柄的3.5接口更是无从谈起. 是技术力不够吗?开玩笑,游戏鼠标,游戏耳机厂商们清一色的2.4g,任天堂还能不如他们? 我猜测仅仅把ns更倾向于当作掌机,所以压根没管你主机模式音频传输咋办.后面的开放蓝牙耳机其实也只是仅仅能用的补救措施. 其实任天堂早在willu主机的平板上就用了2.4g技术,来实现平板的画面音频传输. 只能期望任天堂下一代主机改变了.
有些人说,我就是不喜欢一根线插在手柄上,我要手柄和耳机全部无线,你又不开放蓝牙,你又卖相对应耳机,是不是坑钱呐?
还真不是,索索软软可太冤了.只要你愿意,你可以买任何2.4ghz游戏耳机插在主机上,赛睿,罗技,大部分都兼容.还真不必要买索尼微软买的很贵的耳机,当然自家耳机音效上肯定有优势.任天堂主机一样,也有很多游戏耳机支持,你买一个一插,同样实现无线.
索尼微软配套的耳机也全是2.4g技术,带一个专用接收器,以实现低延迟,双向高清音频. 开放一个并不好用的蓝牙,除了降低用户体验,没什么积极影响. 任天堂是因为本世代(上一代will u主机有)根本没有做2.4g的技术,才开放一个并不好用的蓝牙。
蓝牙协议有很大延迟本身就是个认识误区。
音频设备有延迟,主要原因是音频数据量极大,音频生成后先要在发送端编码处理,然后发送,关键在接收端,为了保证速率不稳定的传输下能流畅播放,会设置一个缓冲。
这样子下来,最少会有32ms延迟,而且这也是缓冲短到几乎不现实的情况,典型实用方案下延迟在100ms左右,这是传输256-328kb/s的数据并缓存播放的情况。
而手柄操纵的上传,数据量极小。我抓过X1的USB帧,而且根据网上文章看,Xbox wireless的数据帧负载结构和USB几乎一致。手柄操作数据每帧负载只有44字节,刷新间隔8毫秒,也就是每秒125次,44kb/s,多大点事。即使是通过手柄传音频,也可以将操作数据夹带在手柄回传的ACK里面。
44kb/s与256kb/s对比,的确可以将32ms的延迟缩到5ms左右,数据基本是符合预期的。
众所周知,蓝牙设备只需要识别、配对、连接、保持、中断时需要使用标准协议,其余的时候爱发什么发什么,此时延迟仅仅略微大于物理相应时间。
此时提高采样率、降低包大小,即可。
特别是PS5手柄这种内置独立固件的手柄,甚至能更进一步的降低延迟。
我印象中蓝牙带宽还是很大的。控制数据应该是没有什么问题的。在pc上表现不好可能是操作系统相关的驱动问题。