B/S and C/S digital twin application architecture selection

The B/S architecture consists of two parts, the browser (Browser) and the server (Server), that is, the user interface is placed on the browser side, and the core logic of the application is placed on the server side, and data interaction is realized through network transmission. The digital twin scene rendering of the B/S architecture generally has the following three technical routes: direct development based on the WebGL-encapsulated rendering library; development based on a 3D game engine that supports H5, and packaged into WebGL after development; rendering based on WebGL encapsulation The library develops a fusion rendering engine suitable for digital twin projects, and then develops based on self-developed engines, such as the EasyTwin digital twin fusion rendering engine.

The C/S architecture application consists of two parts, the client (Client) and the server (Server). The client usually refers to the software program on the client side, which runs on the local computer and connects to the remote server through the network. There are two common technical routes for digital twin scene rendering of C/S architecture: direct development based on game engines, such as Unity3D and Unreal Engine; fusion rendering engine suitable for digital twin projects based on game engine packaging, and then based on self-developed Researched rendering engine development.

Selection and comparison of dual-mode architectures for digital twin applications

C / S architecture

B / S architecture

Common technical route

1. Direct development based on game engine, for example: Unity3D, Unreal Engine;

2. Package the integrated rendering engine suitable for digital twin projects based on the game engine, and then develop based on the self-developed rendering engine;

1. Direct development based on the rendering library encapsulated by WebGL;

2. Develop based on a 3D game engine that supports H5, and package it into WebGL after the development is completed;

3. Develop a fusion rendering engine suitable for digital twin projects based on the rendering library packaged by WebGL, and then develop based on the self-developed engine, for example: EasyTwin;

Advantage

1. High development efficiency :

(1) There are very mature and powerful game engines such as Unity3D and Unreal Engine, which provide mature 3D rendering capabilities, scene editing capabilities and script programming capabilities, which can help developers of digital twin scenes quickly create, edit and adjust 3D scenes , thereby reducing development costs;

(2) The game engine has a huge user community and plug-in library, which means that developers can use community resources to quickly build, optimize and release digital twin scenarios, reducing development risks and costs;

2. The size of the resource package is low : the reading of resources does not depend on the network;

3. Relatively good performance :

(1) Digital twin scenes usually contain a large number of models, textures, light sources, special effects, etc., and these elements need to be processed at the same time when rendering. Game engines have a strong advantage in dealing with large-scale scenes, they use many optimization techniques, such as LOD (Level of Detail, multi-level details) and occlusion culling (Occlusion Culling), can be based on the distance and visibility of objects in the scene To automatically adjust the fineness and quantity of rendering, so as to improve the rendering speed and performance without affecting the rendering quality;

(2) The game engine itself has many performance optimization technologies, such as batch processing (Batching) and GPU instancing (GPU Instancing), which can combine multiple objects into one batch to reduce CPU and GPU overhead, thereby improving rendering efficiency;

(3) The hardware resources of the client can be used more efficiently for acceleration, thereby improving the rendering speed;

1. Cross-platform : Since you only need to use a browser to access the scene, it has good cross-platform;

2. High scalability :

(1) In the construction of digital twins, in addition to the development of twin scenes, the restoration of UI and the development of other 2D modules are also important parts of project construction. This part has higher research and development efficiency on the Web, and the implementation effect is better. Especially combined with EasyV, data access, event interaction and scene communication are configured to further improve construction efficiency and reduce maintenance costs.

(2) In a digital transformation project, the digital twin is likely to be only a part of the project, and it needs to cooperate with other business systems, and finally integrate other business systems or be integrated in other business systems. The B/S architecture is here The implementation cost of one link is lower.

3. Low maintenance cost :

(1) Since the core logic of the application program is on the server side, unified management and maintenance are carried out, which reduces the update and maintenance workload of the client side.

(2) Remote collaboration and data sharing can be conveniently carried out, which is conducive to collaboration

disadvantage

1. It is not conducive to project collaboration : under normal circumstances, the volume of project files is large, and most of the resources required by the project are local, and collaboration is limited;

2. High labor costs :

(1) Complete team building needs: modelers, geographers, technical artists, game engine development engineers;

(2) The number of client-side development engineers is smaller than that of front-end development engineers;

3. High maintenance cost : the update of the scene needs to repackage the output exe file;

4. There are requirements for hardware equipment : the final output exe file only supports the operation of windows system;

5. High cost of cross-platform access :

(1) It is necessary to implement cross-platform through cloud rendering, which will incur additional costs;

(2) The cloud rendering effect is also greatly affected by the network bandwidth.

1. The size of the resource package is high : since data transmission needs to go through the network, the loading of the package is limited by the network bandwidth, and the size of the package directly affects the rendering effect and overall performance;

2. It is more expensive to achieve the equivalent rendering effect of the game engine :

(1) After the dual capabilities of OpenGL ES and WebGL are deleted, the expressiveness of the rendering effect is reduced and the means of performance optimization are limited;

(2) Due to the high communication cost between JS and WebGL, the cost of optimizing Draw Call is higher. The impact of Draw Call on graphics rendering performance is very important. Because each Draw Call requires a certain amount of CPU overhead, such as calling API functions, setting rendering status, and so on. In a large scene, if there are a large number of Draw Calls, the rendering frame rate will be reduced, causing the game or application to become stuck;

(3) There is no B/S rendering engine on the market that has very mature 3D rendering capabilities, scene editing capabilities, and script programming capabilities like Unity3D and Unreal Engine;

3. Overall poor performance :

(1) JS language performance is poor, affecting the performance of business logic;

(2) The browser has limited calls to hardware resources. Due to this limitation, the rendering of the scene cannot make greater use of hardware resources;

More digital twin project consultation & free trial of low-code digital twin platform:

Yizhiwei-EasyV digital twin|Smart city park factory water conservancy double carbon|3D map data visualization big screen

Guess you like

Origin blog.csdn.net/amumuum/article/details/130990656