gpt4 book ai didi

browser - 如何拦截来自 Chromium 浏览器的 Skia 绘图命令

转载 作者:行者123 更新时间:2023-12-04 13:38:38 25 4
gpt4 key购买 nike

这是我的一个与远程浏览器隔离相关的实验项目。我正在尝试拦截 Skia在正在运行的 Chromium 实例中绘制命令,然后通过 CanvasKit 在客户端的不同浏览器实例中重放它们,Skia 的 WebAssembly 构建。

但是,我很难弄清楚在 Chromium 源代码中在哪里以及如何拦截这些绘制命令。非常感谢有关如何解决我的问题的任何建议!

最佳答案

在 Chromium 中,所有绘制操作都将记录在 DisplayItemList 中。您可以在类 GraphicsContext 的定义中找到它在闪烁模块中。其次,这些记录的操作稍后会在 CC 时重放。认为是时候了。
在blink结束时,上面相关代码的所有东西大部分都分散在blink/renderer/platform/graphics/graphics_context.cc中。及其相关文件。但是如果你把所有的 Chromium 看成一个整体,所有的图形都是由 CC (Chrome Compositor) 触发的。维护状态机并运行 draw frame Android 中由系统的 vsync 信号触发的循环。在此循环开始时,闪烁结束 draw录制操作将被推送。在此循环结束时,合成帧的图像将被转换为一系列 GPU 操作,并调用系统的 GPU 设备相关 API 来执行这些操作。 CC相关代码文件可以
可在 components/viz/ 中找到.你应该阅读类 Display 的代码作为一个起点。
我的意见来自版本68并且您知道 Chromium 中的代码经常更改。所以我无法确认文件和位置仍然正确。

关于browser - 如何拦截来自 Chromium 浏览器的 Skia 绘图命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60293524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com