分布式渲染运行时3D引擎架构在Web端的应用: 秒开3D Web APP

先看Demo: Vox APP(由于我的测试服务器配置差不稳定可能会加载慢)

分布式渲染运行时可以理解为 渲染系统(引擎和相关的渲染功能)合理的拆分为解耦的各个模块,这些模块可在运行时按需载入运行。各个模块之间只会有协议规范上的关联关系。各模块(我更愿意称之为子系统)有自己独立的运行机制和数据,如果是渲染直接相关的模块只需要符合渲染引擎渲染管理机制即可。

从程序运行的角度看,3D Web APP抵达用户所呈现的内容/功能是不同的,这些不同的内容和功能可动态按需载入。如此做了之后,尽可能减少不必要的等待时间,用户能非常快速的看到所需内容。上述示例Demo中, 如果有CDN、http2(gzip)这些web端有效的支持,打开呈现速度会非常快。

从开发的角度看,渲染引擎的开发和渲染功能的开发可以完全隔离,用户的功能逻辑和数据可以固化为独立的资产,各个子系统的使用和协作可以私有部署也可以云端共享协作。

Demo示例所加载的代码模块信息介绍如下图所示:

在这种分布式结构化的机制下,3D Web APP 的运行机制和部署以及分发方式可以做到更细更精准的控制。从渲染器到3D应用,都可以通过极低耦合(甚至无耦合)的各个子系统,在运行时动态的配置功能,动态的载入协作。

这是空渲染器的Demo: Vox APP

事实上,分布式的理念机制已经应用于程序系统的方方面面,这些都值得我们去借鉴。例如Windows的.com程序。

Microsoft 组件对象模型 (COM) 是一个独立于平台的分布式面向对象的系统,用于创建可交互的二进制软件组件。 COM 是 Microsoft 的 OLE (复合文档) 、ActiveX (Internet 组件) 等的基础技术。 若要了解 COM (所有基于 COM 的技术) ,必须了解它不是面向对象的语言,而是一种标准。 用于创建在运行时进行交互的可重用的软件库。 无需将其编译到应用程序中,即可使用 COM 库。 COM 是许多 Microsoft 产品和技术的基础,例如 Windows Media Player 和 Windows 服务器。 COM 定义适用于许多操作系统和硬件平台的二进制标准。 对于网络计算,COM 定义了标准线路格式和协议,以便在不同硬件平台上运行的对象之间进行交互。 COM 与实现语言无关,这意味着你可以使用不同的编程语言(如 c + + 和 .NET Framework 中的编程语言)来创建 COM 库。

你可能感兴趣的:(渲染的魅力,3D引擎,WebGL/WebGPU,分布式,3d,架构)