大家好,我是自动驾驶打工人白夜。最近我在学习CARLA渲染相关的知识,发现很多小伙伴在进行仿真实验的时候,都希望有一种关闭渲染的方法,于是我决定来分享一下CARLA关闭渲染的几种方法。其中有一种方法,CARLA文档中都没有提到过,学到就是赚到。出于新手友好的原则,首先我们先来了解一下何为渲染。
渲染是什么?
在计算机图形学领域,渲染(Rendering)是一项关键概念,指的是将计算机中的三维物体以逼真的方式呈现在显示器上的二维平面的过程。CARLA作为一款自动驾驶仿真平台,其运行过程默认包含渲染操作,以提供真实感的场景呈现。CARLA提供两种不同的图形质量级别:Epic与Low。Epic是默认设置,会渲染最为详尽的细节效果。而Low模式则禁用所有的后期处理和阴影,同时将渲染的距离限制为50米。在Low模式下,仿真速度显著提高。这对于在传感器精度不关键或者数据简单等情况下训练Agent非常有帮助。
离屏渲染 vs. 不渲染
Offscreen Rendering(离屏渲染)
-
Offscreen渲染是指将渲染的结果保存在一个不可见的缓冲区中,而不在屏幕上显示。这种方法对于一些后台任务或者不需要实时显示的场景很有用; 这种模式通常用于需要进行传感器数据采集、视觉算法验证或图像处理的场景。
No Rendering(不渲染)
-
在该模式下,CARLA完全关闭了渲染,不进行任何图形渲染操作; -
这种模式通常用于节省计算资源、在服务器上运行CARLA时或进行无需图形输出的性能测试。
No Rendering的两种实现方法
--no-rendering
--no-rendering参数会告诉CARLA不执行图形渲染。当你使用--no-rendering参数时,CARLA将在后台执行仿真,但不会显示图形界面。这对于那些只关心模拟数据而不需要图形渲染的场景非常有用。
-
服务端不渲染,黑屏
-
客户端,pygame依然会渲染,pygame也需要使用no-render设置

--nullrhi
实验报告
一个简短的实验报告分享给大家~
实验环境
-
显卡:3080/10G 内存:32G
-
CARLA版本:0.9.14
实验结果

实验总结
1)Carla Client的--no-rendering选项可以禁止和GPU相关的传感器仿真,但是没有禁用物理世界的渲染仿真,因此在Carla中的表现是物理世界可以看到正常的渲染画面,和GPU相关的传感器返回空数据,因此这种模式GPU会有消耗,但比不加--no-rendering 选项的消耗低;
2)Carla Server 的--nullrhi选项是UE选项,完全禁用了GPU计算,因此不占用GPU。
写在最后

图灵奖得主姚期智等三位院士、陕西省科技厅厅长姜建春一行莅临深信科创
再获殊荣!深信科创荣获「年度智能汽车软件及数据工具链平台TOP10供应商」奖项

