

























29 lscho 4 月 20 日@hutng 跟你说这么清楚了还不理解我能有什么办法? macOS 26 在别的浏览器上测出来和屏幕刷新率一致,是因为 macOS 的桌面服务( WindowServer )强制开了 VSync ,就是类似游戏里垂直同步的效果。所以在浏览器测鼠标采样率=刷新率。 Safari 能检测到更高的帧率是因为 Safari 的 mousemove / pointermove 读取的是 IOHID 的事件流,还没有到 VSync 这一步。 说直白点就是 usb=>IOHID 这个回报率一直都是按鼠标这边来的,windows 和 macOS 都一样。只不过浏览器派发事件的时候策略不一样了。导致 Safari 和 chrome 抓到的不一样。 所以 macOS26 拿浏览器测鼠标的回报率已经没用了,因为第三方浏览器拿到的事件是垂直同步之后的事件。但并不代表系统直接把鼠标回报率设定为屏幕刷新率。因为 windows 最终也会按照屏幕刷新率来输出图像。 既然你写过脚本,你把脚本改为读取 IOHID 的数据或者 CGEventTap 就知道了。 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。