幸运的是,现代网络技术通过O

Engage in sale leads forums for valuable lead-generation strategies
Post Reply
rumiseoexpate5
Posts: 56
Joined: Wed Dec 11, 2024 4:00 am

幸运的是,现代网络技术通过O

Post by rumiseoexpate5 »

ffscreenCanvas API 提供了一种替代方法。Offscreen Canvas 与 canvas 元素共享许多属性和方法,但它本身并不是一个元素。因此,它不能添加到 DOM 中。作为其 API 的一部分,您可以创建一个ImageBitmap来表示当前在 Offscreen Canvas 上绘制的内容。然后,您可以使用特殊的ImageBitmapRenderingContext将此位图传输到其他 canvas 元素。

单个屏幕外画布可以渲染到 DOM 中的多个画布元素。这提 多米尼加共和国 whatsapp 号码数据 5 供了两全其美的效果:充分利用浏览器的布局功能而无需手动滚动同步,同时将活动 WebGL 上下文数量降至最低。


带位图传输的 OffscreenCanvas

这种方法所依赖的浏览器 API的采用仍在进行中,Safari 和 Firefox 是主要的坚持者。幸运的是,成熟的 API 提供了可行的后备方案,尽管性能较差。我们可以依靠可靠的 2D 画布drawImage (使用 WebGL 画布作为源),而不是位图渲染上下文。这种方法可以在 Google 的<model-viewer> Web 组件中看到,该组件旨在使显示 3D 模型像显示图像或视频一样无处不在。为了涵盖同时存在的许多 <model-viewer> 实例的用例,模型查看器使用 drawImage 将像素从内部画布复制到页面上的任何模型查看器。

Image


使用 drawImage 和 2D 上下文进行回退

Squarespace CMS 中的 WebGL
当我们第一次开始考虑在 CMS 中实现 WebGL 功能时,我们研究了许多 WebGL 库来完成繁重的工作。然而,流行的库往往具有比我们严格要求的更大的范围。它们旨在支持各种复杂的 3D 场景、照明模型、动画,甚至WebXR功能。这是以包大小和运行时开销为代价的。当你确实想要渲染一个复杂的场景时,这些成本是合理的。但我们的用例要简单得多。我们可能想要渲染一个由少数几个原始形状组成的 2D 或 3D 场景,或者只渲染一个应用了着色器效果的纹理。

考虑到这一点,我们决定创建自己的 WebGL 库,现在用于支持背景。该库在核心上支持最简单的用例,其他任何功能都以模块化方式分层在顶层。这使我们能够优化包大小和运行时开销。
Post Reply