专栏首页盟主来了chromium cc层的一处性能优化点

chromium cc层的一处性能优化点

最近有大量网页反馈某个CSS3页面(3d-cube-loading/index.html),miniblink性能不行。

页面如下

miniblink是老老实实的画了几个矩形,然后做形变

而chromium cc是这样:

难怪chromium会比较快,原来在绘制这种矩形扭曲成的纯色块时,chromium会转成多变形,而不是丢到skia里做矩阵变换。

继续跟进下去,原来chromium会在PictureLayerImpl::AppendQuads

cc::SolidColorDrawQuad::SetNew cc::SolidColorLayerImpl::AppendSolidQuads cc::PictureLayerImpl::AppendQuads cc::LayerTreeHostImpl::CalculateRenderPasses cc::LayerTreeHostImpl::PrepareToDraw cc::ThreadProxy::DrawSwapInternal cc::ThreadProxy::ScheduledActionDrawAndSwapIfPossible cc::Scheduler::DrawAndSwapIfPossible cc::Scheduler::ProcessScheduledActions cc::Scheduler::OnBeginImplFrameDeadline base::internal::RunnableAdapter<void (__thiscall cc::Scheduler::*)(void)>::Run(cc::Scheduler * object)

添加drawQuad(绘制四边形的命令)的时候,把之前光栅化时刻就做的分析,既绘制是不是只包含固定纯色,在

这里添加为SolidColorLayerImpl::AppendSolidQuads。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 18.1.29日报

    1,修复http://sandbox.runjs.cn/show/pcohsrh0绘制的时候,tile边界有一像素多余线条的...

    龙泉寺扫地僧
  • 17.12.19日报

    2,研究loading.io这网站渲染卡慢的问题。和原版cc层对比后大致猜测应该是层数太多,而且很多层面积非常大,每次刷新要整个层都绘制,很浪费cpu。

    龙泉寺扫地僧
  • 终于找到miniblink播放jwplayer不了的原因了

    起因是网友“国王与乞丐”反馈的http://lpl.qq.com/es/live.shtml页面播放不了flash。

    龙泉寺扫地僧
  • OpenSSL与yaSSL性能对比

    摘要 MySQL可以使用OpenSSL或yaSSL/wolfSSL进行编译,这两者都支持基于OpenSSL API的加密连接。在5.7版本,我们知道默认情况下...

    腾讯数据库技术
  • Tesseract-文字识别工具

    最近在准备一个爬虫项目,准备阶段了解到一个文字识别工具,用在验证码方面很方便。 现在主力开发机是mac,本文流程都是基于mac。

    悠扬前奏
  • POJ 3292 Semi-prime H-numbers

    Description This problem is based on an exercise of David Hilbert, who pedagogi...

    attack
  • 校招试题 n个数里最小的k个 stringstream运用

    Kindear
  • 如何编写一个面试时能拿的出手的开源项目?

    练技术,长经验是最实在的,不过如果自己有一个好的开源项目,还可以在开源中国或github上开源,让更多人受益,也许能获得许多的Star,让自已获得满足,激励自己...

    良月柒
  • Gearman使用范例

    jeremyxu
  • 彻底理解Java IO

    谈到IO,我们会想到从磁盘读取的文件IO,网络请求的Socket IO,还有可能我们不怎么常用的跨进程通信的管道IO...... 这些在Java中都被抽象为“...

    三好码农

扫码关注云+社区

领取腾讯云代金券