
Chromium
文章平均质量分 79
行云_
这个作者很懒,什么都没留下…
展开
-
SkCanvs渲染原理
本文介绍,在浏览器中,调用SkCanvas的接口,背后实际做的事情。相关的类SkCanvasSkCanvas是Skia的绘图上下文,它提供了一个绘图接口,封装了所有对设备进行的绘图操作。实现图形剪切和变换。维护变换矩阵和裁剪等操作的堆栈等。SkCanvas包含了一个设备的引用,它知道将图形绘制到哪里。SkCanvas和SkPaint共同提供了在SkSurface或SkBaseDevice进行绘制操作所需的状态。SkCanvas使用SkPaint为每个绘制操作提供绘制所需的,诸如颜色,文本si原创 2021-11-24 23:34:09 · 1524 阅读 · 0 评论 -
Blink是如何工作的
概述Blink开发并不简单。对于Blink开发新手,不简单是因为,为了实现一个非常快的渲染引擎,已经引入了许多Blink特定的概念和编程约定。即使对于经验丰富的 Blink 开发人员来说,这也并不容易,因为 Blink 非常庞大,而且对性能、内存和安全性极为敏感。本文旨在从“3千米”高空视角来描述“Blink如何工作”,希望能够帮助Blink开发者快速熟悉Blink的架构:本文档不是关于Blink细节构成和编码规则(可能变动与过时)的手册、指南。相反,该文档简明地描述了 Blink 的基本原翻译 2021-06-26 15:31:13 · 2317 阅读 · 0 评论 -
Chromium学习指引
面对复杂如操作系统的一个工程,我们应该如何学习,学习什么,从哪里入手?下面是一篇学习指引:关于Chromium code base,有许多需要学习的,宏观层次比如:进程及其相互之间的关系,IPC如何工作,URL加载流程;微观层次比如:智能指针,消息循环,线程用法,线程模型,string等的使用指引。学习Chromium的“行为处事”:编码风格:http://www.chromium.o翻译 2015-03-06 08:50:28 · 2071 阅读 · 0 评论 -
Chromium线程模型、消息循环
多线程的麻烦多线程编程是一件麻烦的事,相信很多人深有体会。执行顺序的不确定性,资源的并发访问一直困扰着众多程序员。解决多线程编程问题的方法分为两类:一是对并发访问的资源直接加锁;二是避免并发访问资源;Chromium采用第二种思想来设计多线程模型,通过在线程之间传递消息来实现跨进程通讯。设计原则Chromium希望尽量保持UI处于响应状态。为此遵循如下设计原则:1原创 2015-03-06 09:03:17 · 3751 阅读 · 0 评论 -
Chromium主文档加载流程
往下走,到了网络层。网络层加载流程如下:更详细一点的图:每个资源对应一个ResourceLoader原创 2015-05-07 08:56:12 · 1492 阅读 · 0 评论 -
Chromium开发者生命周期
了解Chromium开发流程翻译 2015-09-30 18:00:38 · 1314 阅读 · 0 评论 -
浏览器架构
如何开发一个浏览器浏览器的最主要的功能概括起来就是,加载显示网页。怎么样使我们的应用具备这样的功能呢? 最简单的就是利用Android WebView(以Android OS为例),还有CEF(Windows/Linux/Mac OS)。 加载显示网页背后其实是一个很复杂的过程:从服务器获取主文档解析主文档,执行js脚本加载子资源对页面进行渲染排版显示页面每一步都是一个很复杂的过程,原创 2015-11-23 14:04:29 · 2139 阅读 · 0 评论