首页 > 其他分享 >云渲染实施记录(暂未跑通)

云渲染实施记录(暂未跑通)

时间:2024-05-06 17:56:29浏览次数:27  
标签:Node 渲染器 记录 渲染 暂未 WebRTC GPU RTX

大家好,本文记录了尝试跑通云渲染的过程,目前暂时没有跑通,不过已经有了方向

目录

相关文章:
数字孪生云渲染整体架构设计

本文尝试把基于WebGPU-Node的路径追踪渲染器部署到云端,以云渲染/云游戏的方式 渲染到客户端,从而实现在手机上也能渲染出高质量的画面

基本原理

客户端与云端 通过WebRTC通信

客户端发送指令到云端

云端发送像素流到客户端

WebRTC有100ms左右的延迟,造成的效果是画面仍然是60FPS(跟云端的渲染器的FPS相同),但是进行鼠标等操作后要延迟100ms左右才响应。这在数字孪生这种对实时响应不敏感的场景是适用的,不过对于游戏特别是网络对战类游戏就太慢了,可以通过WebTransport、WebCodecs来降低延迟,具体可参考WebTransport 与 WebCodecs 初探

有两个实现的方案:

1.首先租台GPU服务器,部署路径追踪渲染器;然后通过WebRTC、编码等技术实现云渲染

2.将路径追踪渲染器部署到云渲染平台,通过简单的配置而无需实现WebRTC即可实现云渲染

目前两个方案都暂时没有跑通

下面分别讨论这两个方案:

1.租GPU服务器

目前是在淘宝上租GPU服务器的,具体是3090GPU服务器租用4090显卡远程电脑出租智能AI绘画算力建模渲染

已经在RTX 3090服务器上跑通了路径追踪渲染器(显卡驱动用NVIDIA Vulkan 1.2.145 developer driver 451.74

但是,因为只能使用老版本的图形驱动,导致没有跑通tf.js的Node.js gpu后端,所以只能使用WebGPU-Node的compute shader来实现深度学习的推理(包括NRC的全连接神经网络的GPU实现、WSPK的卷积神经网络的GPU实现)

另外,暂时没有兴趣来通过WebRTC实现云渲染/云游戏(因为是新的领域,不熟悉)

本来想找现成的WebRTC应用/库(如WebRTC社区头部开源项目介绍),但目前只找到用于实时会议的(如Livekit-开源实时音视频基础设施介绍),暂时没有合适的用于云游戏的(只有这个,已经2年没更新了,不太靠谱)

更多参考资料:
tfjs node.js后端
windows下部署深度学习环境cuda+cudnn+tensorrt
Running on server

2.部署到云渲染平台

我看到有腾讯应用云渲染3dcat 数字孪生云渲染 云渲染平台,只需将.exe应用上传,简单配置一下即可实现云渲染

我使用pkg实现了将Node.js应用(路径追踪渲染器)打包为1个.exe

但因为不能使用最新的图形驱动,所以需要GPU服务器定制。
3dcat支持定制。我与他们联系后,在公有云不能跑起来(因为会开两个窗口,而公有云只支持一个窗口),所以在私有云进行测试。不过迟迟没有结果,给出的反馈是“驱动和操作系统不兼容,还在适配”。

未来方向

1.升级WebGPU-Node,支持最新的图形驱动
我开了issue,不过作者迟迟没有回复(因为已经不维护了)。只能自己来升级了,或者赞助作者来升级

升级的好处是能够部署到云渲染平台,并且能使用最新的显卡(如RTX 4090)。经过我的测试,RTX 3090是RTX 2060s的3倍,另外可推测RTX 4090应该是RTX 3090的2倍

2.WebGPU-Node支持全屏
不过即时目前不支持全屏,云渲染平台应该也能通过窗口捕捉来,所以这个的优先级较低

更多参考资料

UE像素流送是什么?像素流推流原理介绍

137页完整版《2023数字孪生世界白皮书》场景渲染能力篇:实时云渲染

标签:Node,渲染器,记录,渲染,暂未,WebRTC,GPU,RTX
From: https://www.cnblogs.com/chaogex/p/18175536

相关文章

  • 「云渲染平台」3D模型渲染是CPU还是GPU?
    在数字艺术创作和工程设计这两个领域中,将三维模型转换成逼真的二维图像的过程被称为模型渲染,这是一种对计算资源要求极高的技术活动。在渲染三维模型时,CPU和GPU各自承担着不同的任务。现在,让我们来了解在模型渲染的过程中,主要是消耗CPU资源还是GPU资源。一、模型渲染对CPU和GPU......
  • 一般显卡3d建模渲染够用吗?3d云渲染助力
    3D建模和渲染对计算机硬件有较高要求,特别是显卡。显卡的性能直接影响渲染速度,低端和高端显卡在渲染效率上存在显著差异。对于追求快速渲染的用户,高端显卡是首选。那么,4050显卡是否能够满足3D建模渲染的需求呢?下面我们来探讨这个问题。一、显卡性能对3D建模和渲染的影响显卡在3......
  • 10.3顺序表的初始化以及插入实战(早期学习笔记记录)
    命名规范1.下划线命名法list_insert不同的单词用下划线连接2.驼峰命名法ListInsert每个单词首字母大写一切数据结构考的都是增(插入)删查改插入思路1、判断插入位置是否合法1<=i<=lenthif(i<1||i>lenth){returnfalse;}2、判断储存空间是否已满(插入数据后......
  • 记录一下docker踩坑 /dev/shm目录
    /dev/shm是Linux系统中的一个特殊目录,用于作为临时文件存储的一种形式,它将数据存储在RAM(随机存取存储器)中,而不是在磁盘上。这意味着在/dev/shm中存储的数据访问速度非常快,但数据在系统重启后不会被保留。/dev/shm是POSIX共享内存(POSIXSharedMemory)的一部分,它允许不同的进程(程序......
  • C#中的记录(record)简介
    record是一种语法糖。标准的record用法有“recordclass”和"recordstruct"两种,分别表示记录类和记录构造。是“引用”和“值”的差别。单独使用record表示"recordclass"。语法:脱胎于构造函数。 recordPerson(stringXm,intNl); 或者recordPerson(stringXm,intNl)......
  • 项目重构经验记录
    需求:目前公司内部有一个项目,leader不想给外包做了,想收回来自己做。我看过之后发现继续重构维护成本有点大,遂决定重构。外包技术栈:前端vue2.0,后端C#,数据库sqlserver由于我既不会C#,也不会sqlserver,所以决定写项目。遇到的第一个难题是,因为项目已经上线有了部分用户数据,该部分的数......
  • 2024.05 别急记录
    1.POI2015-Podziałnaszyjnika考虑对每个位置附一个随机权值,保证序列中所有等于某个数的位置权值异或和为\(0\)。则一种划分合法当且仅当两个区间异或和都为\(0\),相当于找到一个区间\([L,R]\)异或和为\(0\)。于是用umap记录前缀异或和即可。第二问把每个相同的前缀异......
  • 关于矢量瓦片技术支持前端渲染带来的思考
    前言书接上回,此前提到地图瓦片切片技术的发展。矢量切片技术将瓦片的渲染由服务端迁移到客户端,此操作带来的影响力不可谓不大,基于此,完全可以随心所欲的定义地图的表达。那么在实际的应用当中,当渲染从服务端迁移后客户端后,是否会带来一些其他的问题?超20M的瓦片数据此事发生在202......
  • 拂衣天气(微天气 )程序发布记录
    前言服务端部署:由于并没有建立全链路的自动化部署,目前还需要到云服务器上进行环境制作(数据库,Nginx),并拉取后端服务进行部署小程序发布:需要先完成服务端部署,保证应用正常可用服务端部署数据库安装与数据初始化最开始的时候,我是直接将在操作系统上面安装数据库,后面发现迁移的......
  • 【网络自动化运维】使用pythonping检查设备的连通性并记录可达设备(eNSP模拟器)
    实验拓扑:PC的IP地址和五台交换机的地址在同一网段,具体IP如图所示。现在保证直连网络能够通信,并且故意将SW5的接口shutdown掉,保证无法联通,作为对照的测试设备。在PC上运行python代码,测试与五台交换机的连通性。由于本次测试使用的是pythonping模块,这并不是python自带的模块,需要......