会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
rmb_999
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2023年11月1日
Chromium VIZ工作流
摘要: 在 Chromium 中 viz 的核心逻辑运行在 GPU 进程中,负责接收其他进程产生的 viz::CompositorFrame(简称 CF),然后把这些 CF 进行合成,并将合成的结果最终渲染在窗口上。 可以将这个过程拆解成以下几个步骤来分析: viz 的初始化; viz 的架构设计; CF
阅读全文
posted @ 2023-11-01 14:51 rmb_999
阅读(555)
评论(0)
推荐(1)
2023年10月31日
Chromium Canvas工作流
摘要: blink 中实现了2种 canvas,分别是 blink::HTMLCanvasElement 和 blink::OffscreenCanvas ,前者对应 html/dom 中的 canvas,后者对应 js 中的 OffscrenCanvas。 html canvas 有两种模式,一种是常规模
阅读全文
posted @ 2023-10-31 16:00 rmb_999
阅读(722)
评论(0)
推荐(0)
2023年10月30日
Chromium CC渲染层工作流详解
摘要: 1. Chromium 的渲染流水线 Blink —> Paint -> Commit -> (Tiling ->) Raster -> Activate -> Draw(Submit) —> Viz Blink 对接 cc 的绘制接口进行 Paint,Paint 生成 cc 模块的数据源(cc::
阅读全文
posted @ 2023-10-30 11:26 rmb_999
阅读(1088)
评论(0)
推荐(0)
2023年10月27日
Chromium Trace and Perfetto使用详解
摘要: 1. Trace chromium 在 base 库中提供了 base::trace_event::TraceLog 类,该类是 TRACE_EVENT* , TRACE_COUNTER* 等宏的底层实现,关于这些宏定义见 base/trace_event/common/trace_event_co
阅读全文
posted @ 2023-10-27 17:45 rmb_999
阅读(1259)
评论(0)
推荐(0)
2023年10月26日
Chromium Command Buffer原理解析
摘要: Command Buffer 是支撑 Chromium 多进程硬件加速渲染的核心技术之一。它基于 OpenGLES2.0 定义了一套序列化协议,这套协议规定了所有 OpenGLES2.0 命令的序列化格式,使得应用对 OpenGL 的调用可以被缓存并传输到其他的进程中去执行(GPU进程),从而实现多
阅读全文
posted @ 2023-10-26 17:37 rmb_999
阅读(600)
评论(0)
推荐(2)
2023年10月25日
Chromium GPU资源共享
摘要: 资源共享指的是在一个 Context 中的创建的 Texture 资源可以被其他 Context 所使用。一般来讲只有相同 share group Context 创建的 Texture 才可以被共享,而 Chromium 设计了一套允许不同 share group 并且跨进程的 Texture 共
阅读全文
posted @ 2023-10-25 11:25 rmb_999
阅读(537)
评论(0)
推荐(0)
2023年10月24日
Chromium 消息循环和线程池详解
摘要: Chromium 中的多线程机制由 base 库提供,要理解 Chromium 中的多线程机制,首先要理解的概念就是 base::MessageLoop 和 base::TaskScheduler ,它们两个是 Chromium 多线程的基础 1. MessageLoop详解 base::Messa
阅读全文
posted @ 2023-10-24 10:39 rmb_999
阅读(1026)
评论(1)
推荐(1)
2023年10月23日
Chromium源码 修改默认搜索引擎及标签页
摘要: 默认新标签页修改方法: 1. 找到chrome/browser/ui/browser_tabstrip.cc文件 找到变量NavigateParams params: 1 NavigateParams params(browser, url.is_empty() ? browser->GetNewT
阅读全文
posted @ 2023-10-23 11:23 rmb_999
阅读(551)
评论(0)
推荐(0)
2023年10月21日
OpengGL 中的同步及资源共享
摘要: 1. 为什么需要同步 由于 OpenGL API的执行是异步的,所以需要同步,如果是这些API是同步的就没有这个话题了。异步API可以进行缓存,从而可以在合适的时机批量的将这些API调用(称为API命令)发送给GPU执行,避免应用过于频繁的在内核态和用户态切换。 这里的异步指的是一个GL API调用
阅读全文
posted @ 2023-10-21 15:04 rmb_999
阅读(239)
评论(0)
推荐(0)
Chromium 通过IDL方式添加扩展API
摘要: 基于chromium103版本 1. 自定义扩展API接口 chromium默认扩展api接口中有chrome.runtime.*,和chrome.send.*等,现在我们就仿照chrome.runtime方式来定义自己的接口,供给插件或者网页使用。 其实chromium 增加自定义 api 接口,
阅读全文
posted @ 2023-10-21 11:41 rmb_999
阅读(578)
评论(0)
推荐(3)
上一页
1
2
3
下一页
公告