自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Chromium技术分享

研究并参与Crosswalk/Chromium/Blink等开源项目, automin@微信, email: [email protected],

  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 Chromium on Android: Android系统上Chromium主消息循环的实现分析

刚一开始接触Chromium on Android时,就很好奇Chromium的主消息循环是怎么整合到Android应用程序中的。对于Android程序来说,一旦启动,主线程就会有一个Java层的消息循环处理用户输入事件等系统事件,而对Chromium来说,它有自己另一套消息循环的实现,这个实现有哪些特点,又将如何无缝整合到Android Java层的消息循环中去,正是本文所要讨论的话题。

2014-11-18 23:21:58 3740

原创 Chromium Blink项目最新技术报告和下一步发展方向

摘要:BlinkOn3会议11月份刚在Google的MountainView办公地点举行,本文选取了BlinkOn3的几个话题,如为Blink绘图瘦身的SlimmingPaint,多优先级的Blink调度器,Oilpan垃圾回收机制,用JavaScript开发新的DOM特性等等,和大家一起分享Blink项目目前取得的进展和下一步发展方向。

2014-11-13 23:07:21 6628

原创 Chromium Graphics Update in 2014(幻灯片)

摘要:Chromium图形栈在2014年有多项改进,在图形性能和资源消耗方面做了进一步优化,例如ubercompositor的使用,GPU加速的光栅化,零拷贝(zero-copy)的支持,Android WebView的渲染模型改进等。这个幻灯片尝试列举Chromium在图形栈方面一些变化,以及Chromium渲染流水线的总体框架,并对WebGL性能慢于OpenGL原生应用的原因做了一定的推测。

2014-11-07 19:18:34 2321 2

原创 Chromium Graphics: 再谈Chromium WebView硬件渲染模式的演进

摘要:从Android KitKat系统第一个采用Chromium内核的WebView开始,Android WebView一直在持续演进中,自Chromium M38开始,WebView在硬件渲染模式方面发生了较大的变化,最明显的变化莫过于WebGL的支持以及ubercompositor的使用,同时为了吻合Android L的渲染模型变化,DrawGL函数是在Android系统的渲染线程中执行的。

2014-11-07 18:15:30 4666

原创 Chromium Graphics: Android L平台上WebView的变化及其对浏览器厂商的影响分析

Android L平台在图形渲染方面有一项重要的改进,它引入了一个专门的线程用于执行渲染工作,UI线程负责生成的显示列表(DisplayList),渲染线程负责重放(playback)这个显示列表绘制最终的内容,因此Chromium WebView在图形栈的实现方面也作了相应的调整,以支持Android L系统上新的渲染线程模型。本文将深度分析Chromium WebView的渲染流水线是如何无缝整合到Android L系统的渲染模型中,以及对目前市场主流浏览器厂商将会产生什么样影响等问题。此外,本文对Ch

2014-11-05 00:05:19 7151 5

原创 Chromium Graphics: GPU客户端之间同步机制的原理和实现分析-Part II

摘要:Part I分析了GPU客户端之间存在的同步问题,以及Chromium的GL扩展同步点机制的基本原理。本文将源代码的角度剖析同步点(SyncPoint)机制的实现方式。同步点机制的实现主要涉及到是如何跨进程实现两个GL扩展接口InsertSyncPointCHROMIUM和WaitSyncPointCHROMIUM的实现方式,以及如何实现GPU服务端的同步点等待。

2014-10-06 10:54:39 2231 2

原创 Chromium Graphics: GPU客户端之间同步机制的原理和实现分析-Part I

摘要:Chromium中GPU进程架构允许多个GPU客户端会同时访问GPU服务,而GPU客户端之间可能存在数据依赖关系,因此必须提供一种同步机制保证GPU操作的先后次序。本文讨论多进程架构下GPU客户端之间的同步问题,以及同步点(SyncPoint)机制的基本原理。

2014-10-06 10:14:33 3172 1

原创 Chromium Graphics: 3D上下文及其虚拟化(Virtualization) - Part III

Part I和Part II分别从实现原理的角度介绍了3D上下文和渲染表面等基本概念,阐述了Chromium需要创建多个上下文的内部逻辑,以及如何借助虚拟上下文解决GPU设备对多上下文支持方面的不足之处。该部分将深度解读Chromium源代码是如何实现多上下文支持及其虚拟化的。

2014-10-04 10:47:24 1857

原创 Chromium Graphics: 3D上下文及其虚拟化(Virtualization) - Part II

Part I介绍了OpenGL上下文和绘制表面等基本概念,以及Chromium为什么需要多个3D上下文。本文将继续这个话题,探讨Chromium为什么需要引入虚拟3D上下文,以及虚拟上下文之间切换有何不同。

2014-09-03 20:19:22 1541

原创 Chromium Graphics: 3D上下文及其虚拟化(Virtualization) - Part I

在页面渲染过程中,Chromium需要创建多个3D上下文的实例,这些上下文实例彼此之间不但需要共享资源,还需要在同一个线程中执行GL操作,这就要求Chromium能够有效地处理多上下文的切换。然而,并不是所有的GPU设备都能够很好的支持多个3D上下文,虚拟化3D上下文(Context Virtualization)就是为了解决这个问题而引入的,核心思想是通过对3D上下文的虚拟化,使得多个上下文可以共享同一个真实的3D上下文,同时虚拟上下文的切换并不一定导致真实上下文的切换,从而减少真实上下文的个数,避免不必

2014-09-03 10:48:45 1994

原创 Chromium on Android: 解读ContentShell的AndroidManifest文件

Chromium on Android:ContentShell的Manifest文件分析

2014-05-14 22:07:58 2839

原创 Chromium on Android: Chromium线程局部存储(TLS)系统

摘要:线程局部存储(Thread Local Storage), 简称TLS,提供了一种存储线程私有数据的方式,每个线程的私有数据对其他线程均不可见。Chromium是一个多进程多线程架构的浏览器,运行时会创建多达30几个线程,其中很多线程需要拥有自己私有数据,在TLS数量有限的系统上,例如Android 4.3或更早的系统,可能会因为无法分配足够的TLS而导致Chromium崩溃。本文将介绍

2014-01-28 22:59:06 2112

原创 Chromium on Android: 理解Chromium WebView的绘制模型

从应用程序层次来看,它只是一个视图(View)部件而已,与普通的Button部件一样,WebView可以被嵌入在应用程序的任何一个位置,所以,尽管WebView是一个较为复杂的视图部件,但仍然按照Android视图系统的绘制模型来进行内容渲染的。Android SDK中,android.webkit.WebView实际上是一个ViewGroup,并将后端的具体实现抽象为WebViewPro

2014-01-19 10:20:13 5628 3

原创 Chromium on Android: 分析Chromium WebView的软件渲染方式

Chromium on Android: 深入分析Chromium WebView的渲染过程

2014-01-18 23:28:50 5632 1

原创 Chromium on Android: 认识Chromium WebView

Chromium on Android: 初识Chromium WebView

2014-01-13 22:03:20 6930 2

Chromium Graphics 2014 Update - Published

Chromium图形栈在2014年有多项改进,在图形性能和资源消耗方面做了进一步提升,例如ubercompositor的使用,GPU加速的光栅化,零拷贝(zero-copy)的支持,Android WebView的渲染模型改进等。这个幻灯片尝试列举Chromium在图形栈方面一些变化,以及Chromium渲染流水线的总体框架,并对WebGL性能慢于OpenGL原生应用的原因做了一定的推测。

2015-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除