60Hz 屏幕下不卡的 App 到了 90Hz 是不是就卡了?

2020-03-22 14:39:26 +08:00
 ysy950803
以前做 Android 自定义动画的时候大家就知道,每一帧的绘制逻辑代码要在 16ms 内完成,否则就会掉帧。但这是对于传统的 60Hz 刷新率屏幕来说的。现在大家都在搞 90 甚至 120Hz 的噱头,这么说,以前刚好不卡的代码(比如每次绘制都刚好花掉 16ms ),到了 90Hz 上面,岂不是就掉帧了么?
不知道是不是我有什么误解,还请教各位大佬些!
11484 次点击
所在节点    Android
17 条回复
ysy950803
2020-03-22 14:56:12 +08:00
60 fps 的系统 , 1s 内需要生成 60 个可供显示的 Frame , 也就是说绘制一帧需要 16.67ms ( 1/60 ) , 才会不掉帧 ( FrameMiss ).
90 fps 的系统 , 1s 内生成 90 个可供显示的 Frame , 也就是说绘制一帧需要 11.11ms ( 1/90 ) , 才不会掉帧 ( FrameMiss ).
ax521
2020-03-22 15:30:58 +08:00
这个是专家问题您接着来
reus
2020-03-22 15:38:12 +08:00
屏幕刷新率和你用什么帧率渲染没有关系
wdv2ly
2020-03-22 15:38:26 +08:00
是的
yukiww233
2020-03-22 15:53:24 +08:00
掉帧不一定卡
HangoX
2020-03-22 16:00:09 +08:00
你 cpu 能力也上升了。。。绘制能力上去了
elfive
2020-03-22 16:28:22 +08:00
拉长每一帧显示时间就好了啊。
同样是显卡输出 60 帧每秒,在 60Hz 刷新率的显示器上,显卡输出的每帧显示 16.67ms,换到了 90Hz 的显示器上,每帧同样保持 16.67ms 即可。不过 16.67ms 并不是 11.11ms 的整数倍,所以实际上可能依据显示器驱动程序的算法采用不同的显示算法咯。
elfive
2020-03-22 16:31:17 +08:00
@elfive 这也是大部分显卡输出帧率和显示器帧率不一致的情况下会出现画面撕裂的原因,所以 AMD 和 Nvidia 分别弄出了 FreeSync 和 G-Sync 来动态调整显示器刷新率,以匹配显卡输出的帧率来减少或者消除画面撕裂。
cev2
2020-03-22 16:33:50 +08:00
赞同 5 楼,掉帧不代表卡。
但软件锁帧 60 帧的情况下,整数倍 Hz 应该更好些吧,不然会跳帧?(等大佬指点)除非屏幕像 N/A 一样 GPU sync 。
Phishion
2020-03-22 16:35:00 +08:00
你 144 帧的屏幕看电影会觉得比用 60 帧的普通屏幕更卡么?
340244120w
2020-03-22 19:48:45 +08:00
@elfive 画面撕裂倒不是因为显卡输出帧率和显示器刷新率不一致。

显示器是垂直扫描输出,而显卡不断产生画面信号,可能显示器只输出了半张画面,就赶紧在显示器下半部分输出下一帧画面。
垂直同步的原理是显示器垂直输出一副完整画面后,才继续读取下一个画面的信号。
现在手机系统都是垂直同步。

回到楼主问题,楼主说的动画逻辑要小于 1/60 秒,其实本质为了保证动画大于 60fps 。因为垂直同步下,画面实际感受的流畅度取决于 fps 与显示屏刷新率两者中最小值。
所以楼主仅仅需要做的就是性能尽可能优化的情况,保证帧数尽可能大就行了。
elfive
2020-03-22 19:58:30 +08:00
感谢详细解释
winterfell30
2020-03-23 09:07:36 +08:00
掉帧是相对手机来说的,卡不卡是相对人眼来说的,显示器的刷新率高了绘制帧率卡在 1/60 的话,如果像 11 楼说的都是垂直同步的话,我理解对人眼来说应该是没区别的吧?
cw2k13as
2020-03-23 10:42:56 +08:00
?会卡但是你看不出来卡,电影院好像是 24 帧,你觉得卡吗
cominghome
2020-03-27 00:16:15 +08:00
@cw2k13as 电影院那个还是不一样的。手机上的 90hz 和 60hz 拿来直接的话,我有 9 成把握猜对,不过日常使用感知不强罢了(人眼调节了?)
cw2k13as
2020-03-27 16:19:35 +08:00
@cominghome 场景不一样,环境因素也不一样,要是硬比肯定是可以看出来,就看你大脑的运算力,2333 看你是不是一直超频关注这个卡
cw2k13as
2020-03-27 16:22:25 +08:00
@cominghome 我好想是记得眼睛是可以捕捉的,人眼像素是很高的,只是你的大脑会智能的去过滤没必要的开销

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/655088

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX