视频渲染和不渲染区别,视频剪辑吃cpu还是显卡

首页 > 科技 > 作者:YD1662022-12-03 04:47:41

应用层布局

View 和 ViewGroup

View 是 Android 中所有控件的基类,View 类有一个很重要的子类:ViewGroup,ViewGroup 作为其他 view 的容器使用。Android 的所有 UI 组件都是建立在 View、ViewGroup 基础之上的,整体采用“组合”的思想来设计 View 和 ViewGroup:ViewGroup 是 View 的子类,所以 ViewGroup 也可以被当做 View 使用。一个 Android app 的图形用户界面会对应一个视图树,而视图树则对应一个 canvas 树。这个有点儿类似于 iOS 中的 UIView 和 CALayer 的概念,一个负责应用层布局,一个负责底层渲染。

视频渲染和不渲染区别,视频剪辑吃cpu还是显卡(17)

系统底层渲染显示

应用层的 view 对应到 canvas,canvas 到系统进程就成了 layer。SurfaceFlinger 主要提供 layer 的渲染合成服务。SurfaceFlinger 是一个常驻的 binder 服务,会随着 init 进程的启动而启动。下面这张图就详细的介绍了上层 view 到底层 layer 的转化,以及 SurfaceFlinger 对多个 layer 的渲染合成。

视频渲染和不渲染区别,视频剪辑吃cpu还是显卡(18)

iOS 离屏渲染离屏渲染原理以及定义

首先来介绍一下离屏渲染的原理。我们正常的渲染流程是:CPU 和 GPU 协作,不停地将内容渲染完成后得到的位图数据放入 Framebuffer (帧缓冲区)中,视频控制器则不断地从 Framebuffer 中获取内容,显示实时的内容。

视频渲染和不渲染区别,视频剪辑吃cpu还是显卡(19)

而离屏渲染的流程是这样的:

视频渲染和不渲染区别,视频剪辑吃cpu还是显卡(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.