关于屏幕刷新

来源:3-5 UI卡顿&掉帧原因 相关面试问题

慕婉清701190

2018-06-30

如果在某个刷新区间内没有新内容提交到帧缓冲区,那么屏幕会读取帧缓冲区进行屏幕刷新吗?还有如果只是ui一部分变化了那么是整屏刷新还是局部?如果我只是刷新一个button的文字为何在子线程更改之后会立刻反应在屏幕上,但是增加一个view就要等待回归到主线程才会体现呢?

写回答

2回答

于海

2018-06-30

首先是不能在子线程做ui刷新相关操作的,包括你说的在子线程中更新button文案。那么对于没有新的一帧数据出来 还是显示当前帧画面 比如当前画面静止不变

0
0

慕婉清701190

提问者

2018-06-30

如果没有新的帧提交应该双缓冲区的指针不切换,所以表现为静止的情况,但是这个新的刷新区间屏幕会不会读取当前帧的数据呢,一直找不到资料

1
1
夜鸽
我理解:这是硬件的概念显示器的刷新是逐行显示,防止交换缓冲区的时候屏幕上下区域的图像属于两个不同的帧。因此交换要在两次刷新中间进行。没有新的帧提交并不代表垂直同步信号不会到来。
2020-09-03
共1条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程