【发布时间】:2022-01-25 03:22:16
【问题描述】:
我最近开始了解 javascript 如何在底层工作,并开始了解(在 chrome 的上下文中)v8 引擎和 Web API 是不同的。以下是我对画布 API 的一些具体问题:
- 为什么每次要访问给定画布的像素时都需要使用
getImageData()?既然画布是基于像素的,难道不应该有一个像素数组供画布 API 在您每次绘制时都会对其进行操作,从而使其静态可用? - 有没有办法了解具体的 API 是如何实现的?例如——
ctx.fillRect()是如何在内部完成的?我尝试通过更改特定的像素颜色来手动执行此操作,但结果速度要慢得多。也许是因为我是用 javascript 做的,而且它通常是在 c++ 内部完成的?实现是在他们自己的源代码中,没有办法找出来吗?
我可能会混淆很多概念,因为我仍然不太了解 Web API 或 v8 的工作原理,因此感谢您提供任何澄清。
【问题讨论】:
标签: javascript canvas html5-canvas v8 webapi