V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
emmm
V2EX  ›  iPhone

iPhone plus 系列在运行 3D 游戏以及播放 1080P 视频时也是渲染高分辨率然后 1080P 采样吗?

  •  
  •   emmm · 2018-11-28 16:20:56 +08:00 · 8169 次点击
    这是一个创建于 2189 天前的主题,其中的信息可能已经有所发展或是发生改变。
    iPhone plus 系列内部渲染成 2208*1242 分辨率然后 1080P 采样输出到 1080P 的屏幕,我想知道在全屏运行 3D 游戏和播放 1080P 视频的时候也是这么工作的吗?如果这么工作那么 1080P 视频经过插值再采样画质不就损失了吗?
    5 条回复    2018-11-28 19:00:11 +08:00
    across
        1
    across  
       2018-11-28 16:53:34 +08:00
    iPhone 硬件设计有没特殊不知道,只说个大概的概念吧。可能不太准,等后面人补充。

    一个 2208*1240 的屏幕,物理像素就是这么大小,如果拿到 1920*1080 大小的图需要全屏显示,是要显示控制的底层硬件做插值计算的··· 你说画质损失嘛,插值计算后,看起来也可能更平滑柔顺了,毕竟是放大过程。 如果是 4k 的图,那这过程就是缩小的超采样计算,你屏幕本身就那么点分辨率,最后看起来当然也不可能达到 4k 的标准。

    那上面说的,屏幕拿到的 1920*1080 的图怎么来的?
    对游戏来说,这就是内部先创建一张对应分辨率的贴图(通过在 OpenGL、Metal 这类 API 中指定渲染输出大小),每帧更新时,在 3D 转 2D 的计算中( GPU 的活),按这个像素精度来渲染。这个分辨率对性能影响是比较明显的···

    视频我不是清楚原理,大概 1080p 解码后就是 1920*1080 的图输出给屏幕硬件吧,之后还是硬件自己再做插值计算喽。
    psychoo
        2
    psychoo  
       2018-11-28 17:00:26 +08:00
    视频的话,1080p 解码后(CPU/GPU?)内部 插值 /缩小 到需要显示的分辨率(在 app 里是一个小于等于屏幕分辨率的矩形区域),再送到屏幕显示,绝大多数屏幕硬件本身(非显示器)是只接收自己原生的分辨率的。
    emmm
        3
    emmm  
    OP
       2018-11-28 17:24:56 +08:00   ❤️ 1
    @across
    @psychoo
    iPhone plus 系列硬件比较特殊,显示屏物理分辨率是 1920*1080,但是内部渲染是渲染成 2208*1242 分辨率,然后再缩小成 1920*1080 分辨率输出给显示屏,通过手机截图生成的图片就是 2208*1242 分辨率。这么做是为了方便 UI 的开发。现在我是想知道主题中所述,在 3D 游戏和 1080P 视频播放是否也是先渲染成 2208*1024 再缩小成 1920*1080 输出给屏幕?目前已知手机全屏播放 1080P 视频时截图分辨率为 2208*1242
    across
        4
    across  
       2018-11-28 18:17:13 +08:00   ❤️ 1
    查了下还真是,文章里面把 2208*1242 转到实际 1920·1080 分辨率的过程叫 scaling stage,不过(调用 opengl 和 metal 的)游戏,以及视频测试表明这些任务会跳过 scaling stage。想想应该也是···不然性能损失太大。
    https://www.idownloadblog.com/2014/11/20/iphone-6-downsampling-explained/
    emmm
        5
    emmm  
    OP
       2018-11-28 19:00:11 +08:00
    @across 感谢,这篇文章讲解的很详细,调用 OpenGL 或者 Apple ’ s Metal 的游戏以及全屏播放视频不会出现这种情况,这样看来全屏播放 1080P 是能够实现完美点对点的,调出 UI 界面就会 3X 采样降画质,有趣的是任何时候截图都是 2208*1242,即便是 1080P 点对点播放视频时候。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1033 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:33 · PVG 06:33 · LAX 14:33 · JFK 17:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.