V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
fuweichin
V2EX  ›  程序员

问:高刷新率显示器支持的低刷新率模式是间隔均匀的吗?

  •  
  •   fuweichin ·
    FuweiChin · 2023-12-09 20:36:54 +08:00 · 1608 次点击
    这是一个创建于 384 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我知道:如果把 24000/1001(约 23.976, 24)fps 电影投射到 60Hz 显示器,那么相邻电影帧的显示时长不一样,呈现"33.33ms, 50ms, 33.33ms, 50ms, ..."这样循环。

    现在问题时:当高刷新率(例如 144Hz )显示器由操作系统设置为低刷新率(例如 60Hz)模式时,是把不均匀间隔的 60Hz 映射分布到均匀间隔的 144Hz 上,还是均匀间隔的 60Hz ?

    谁有条件可通过test ufo来测试一下?(或者更严谨地,用高速摄像机来测)

    先不论人眼能否察觉出来这种不等时长的映射,极客们绝不能忍。考虑到常见视频为 24fps 或 30fps, 当把视频帧映射到整倍刷新率的显示器时就能保证每帧的显示时长相等,所以最好选 120Hz(24 与 30 的最小公倍数)模式。

    8 条回复    2023-12-11 19:41:05 +08:00
    ysc3839
        1
    ysc3839  
       2023-12-09 21:05:43 +08:00 via Android
    不会有“映射”的情况,目前 CRT 和 LCD/OLED 显示器都是收到画面数据时去进行对应的显示“动作”,并不是固定频率进行。因此刷新率就是跟电脑上的刷新率一致。
    fuweichin
        2
    fuweichin  
    OP
       2023-12-09 21:20:51 +08:00
    再举些例子:
    当一个高分辨率(3840x2160)显示器由操作系统设置为低分辨率(1920x1080)模式时,Windows 显示的信号分辨率还是 3840x2160 ,这算用到映射吧。
    播放 48KHz 采样率的音乐,输出到只支持 44.1Hz 的音频接口,这算用到映射吧。

    欢迎拿测试数据说话,臆测的靠边。
    cst4you
        3
    cst4you  
       2023-12-09 21:29:43 +08:00
    在没有 VRR (各种 sync) 的情况下, 显卡会根据刷新率输出画面,
    因为桌面模式垂直同步的干预下, 临近的帧会直接跳掉, 也就是不均匀的

    分辨率这个, 现代显卡有 [GPU 缩放模式], 打开后, 是由 GPU 缩放好画面输出, 跟显示器收到的是没有关系的
    在使用 HDMI 线缆下, Win 10 / 11 会输出一个 "最佳" 分辨率, 然后由 dwm 缩放后输出, 在这个时候可以看到 "有源信号分辨率", 这个就是显卡输出到设备的分辨率

    这里头情况很复杂, HDMI 和 DP 又不一样, 不是一两句话能概括
    ysc3839
        4
    ysc3839  
       2023-12-09 21:49:37 +08:00 via Android
    @fuweichin
    “当一个高分辨率(3840x2160)显示器由操作系统设置为低分辨率(1920x1080)模式时,Windows 显示的信号分辨率还是 3840x2160”
    这是否的,操作系统和显卡输出的就是 1920x1080 。
    @cst4you 没记错的话“GPU 缩放模式”是由显卡驱动提供的,而不是操作系统,操作系统交给 GPU 驱动的分辨率还是用户设置的分辨率,但是 GPU 驱动会对画面进行调整,然后以显示器的最佳分辨率输出。
    你说的这种方式更类似 macOS 的 HiDPI ,macOS 的 HiDPI 只支持整数倍缩放,当遇到需要非整数倍缩放的显示器时,会选择一个“最佳”的缩放比例进行渲染,然后把画面缩小后输出给显示器。
    cnbatch
        5
    cnbatch  
       2023-12-09 22:38:16 +08:00
    “播放 48KHz 采样率的音乐,输出到只支持 44.1Hz 的音频接口,这算用到映射吧”

    没那么简单,对于音频而言,这种操作叫做“降采样” (Downsampling)。可以参考简单描述:
    https://zh.wikipedia.org/zh-cn/%E9%99%8D%E9%87%87%E6%A0%B7
    并不能简单地“映射”,实际操作过程中还会用到低通滤波器删除部份高频,防止混叠。
    干这事的,既可以是硬件,也可以是软件
    https://stackoverflow.com/questions/238382/downsampling-and-applying-a-lowpass-filter-to-digital-audio
    cnbatch
        6
    cnbatch  
       2023-12-09 22:43:00 +08:00
    对于音频而言,其实数据都用不着,亲耳聆听十分直观。
    极端点的做法是,把一段 48KHz 采样率的音频,转换成 8KHz 的音频,然后播放,可以听得出高频部份完完全全地丢失了
    ltq918
        7
    ltq918  
       2023-12-10 10:21:27 +08:00   ❤️ 1
    显示器由操作系统设置为低刷新率(例如 60Hz)模式时,首先需要显示器报告其支持 60Hz 刷新率,那这应该就是跟普通支持 60Hz 的显示器实现方式是一样的吧;比如有些显示器报告其支持 60Hz 、59Hz 、50Hz ,就可以原生支持它们,有些不支持的也无法通过操作系统强制设置刷新率,应该不存在映射的问题吧
    fuweichin
        8
    fuweichin  
    OP
       2023-12-11 19:41:05 +08:00
    发现 VESA 的 MediaSync Display 规范关注的就是视频播放帧显示均匀性的问题。

    突然想起我的笔记本电脑内置屏幕支持 48Hz 和 60Hz 两种刷新率,切换到 48Hz 后测试发现 requestAnimationFrame 间隔是均匀的(抖动在 0.5ms 内),估计这个 48Hz 选项就是为了播放 23.976Hz,24Hz 视频而考虑的。虽然手动切换刷新率,不过有胜于五。

    然而 125Hz 鼠标回报率 vsync 到 48Hz 显示器刷新率时由于不是整倍,又会造成运动不均匀。预言:未来的鼠标可能会支持 VRP(variable report rate)。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2786 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:13 · PVG 22:13 · LAX 06:13 · JFK 09:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.