问题: 简述一下GPU显示过程?
- CPU计算好显示内容提交给GPU
- GPU渲染完成将渲染结果放到帧缓冲区中
- 视频控制器通过 Vsync信号 逐帧读取帧缓冲区中的数据
- 经过数模转换传递给显示器显示
问题: 屏幕撕裂的原因是什么?
CPU/GPU计算处理时间速度与屏幕刷新时间不一致导致的,也就是显卡输出帧的速度比显示器快,显示器的处理速度跟不上显卡,在显示器处理第一帧的时候,第二帧的缓冲就已经来了,所以就会有屏幕撕裂的问题了.
问题: 屏幕掉帧的原因是什么?
苹果设备采用的是 垂直同步信号 + 双缓冲区策略 的形式来显示图像. Vsync信号来临时,下一个缓冲区没有渲染完成之后,那么屏幕会依然显示上一个缓冲区的内容,从而产生掉帧问题.
问题: iOS图片渲染流程?
问题: 什么叫离屏渲染?
当使用圆角, 阴影, 遮罩等时, 图层属性的混合体被指定为在未预合成之前不能绘制到屏幕上,这时候就需要启动离屏渲染.
离屏渲染的过程之所以消耗比较昂贵,其主要原因不在于渲染,而在于缓冲区的创建以及缓冲区上下文的切换过程中,由于离屏渲染会增加GPU的工作量,很有可能导致CPU+GPU的时间间隔超过16.7ms,从而导致页面卡顿.
问题: 离屏渲染的触发条件是什么?
- shouldRasterize 光栅化
- 圆角
- shadows 阴影
- edge antialiasing 抗锯齿
- 渐变
- group opacity 不透明
- masks 遮罩
Comments | 0 条评论