欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

carla 渲染选项

程序员文章站 2022-07-12 11:27:49
...

渲染选项

在配置仿真时,需要考虑的细节很少。本页包括更重要的部分。

重要的

下面的一些命令选项在CARLA打包的版本中并不相同。阅读命令行选项部分了解更多信息


图形质量

Vulkan vs OpenGL

Vulkan是Unreal Engine和CARLA使用的默认图形API。它会消耗更多的内存,但执行速度更快,并且有更好的帧速率。然而,这是一个实验性的过程,特别是在Linux中,它可能会导致一些问题。

可以选择更改为OpenGL。运行卡拉时使用标志。

cd carla && ./CarlaUE4.sh -opengl

使用CARLA的构建版本时,需要将Unreal Engine设置为使用OpenGL。在这里是一个关于虚幻引擎的不同命令行选项的文档。

质量等级

卡拉还允许两种不同的图形质量级别。史诗,默认为最详细的禁用所有后处理和阴影,绘图距离设置为50米而不是无限。

模拟在模式。这不仅是在有技术限制或精度不重要时使用。在数据比较简单或只涉及近邻元素的情况下训练代理可能是有用的。

下面的图片比较了这两种模式。Windows和Linux使用的标志相同。使用构建时没有等效的选项,但是UE编辑器有自己的质量设置。去 Settings/Engine Scalability Settings   更高质量的定制

史诗模式
./CarlaUE4.sh -quality-level=Epic
 

史诗模式截图

低速模式
./CarlaUE4.sh -quality-level=Low
 

低模式截图

 

重要的

使史诗模式显示异常白度的问题已经修复。如果问题仍然存在,请删除GameUserSettings.ini. 它正在保存以前的设置,并将在下次运行时再次生成。Ubuntu路径:~/.config/Epic/CarlaUE4/Saved/Config/LinuxNoEditor/Windows路径:<Package folder>\WindowsNoEditor\CarlaUE4\Saved\Config\WindowsNoEditor\


无渲染模式

此模式将禁用渲染。虚幻引擎将跳过一切有关图形。此模式可防止渲染开销。它有助于在非常高的频率下进行大量的交通模拟和道路行为。若要启用或禁用无渲染模式,请更改世界设置,或使用中提供的脚本/PythonAPI/util/config.py .

下面是一个如何通过脚本启用和禁用它的示例。

settings = world.get_settings()
settings.no_rendering_mode = True
world.apply_settings(settings)
...
settings.no_rendering_mode = False
world.apply_settings(settings)

下面是一个关于如何使用配置.py .

cd Pytonapi/util&#38;config.py-no-rendering
cd PythonAPI/util&#38;&#38;./config.py—呈现

剧本PythonAPI/examples/no_rendering_mode.py将启用无渲染模式,并使用Pygame使用简单图形创建鸟瞰图的步骤。

cd PythonAPI/examples && ./no_rendering_mode.py

警告

在无渲染模式下,摄影机和GPU传感器将返回空数据。GPU未使用。虚幻引擎不绘制任何场景。


屏幕外模式

虚幻引擎需要一个屏幕才能运行。但是,对于没有显示的远程服务器,或者GPU未连接到任何屏幕的桌面用户,有一种解决方法。

模拟器启动,但没有可用窗口。它的运行方式与正常模式相同。这种模式欺骗不真实的引擎运行在一个“假屏幕”。

屏幕外vs无渲染

重要的是要了解他们的讨论,以防止误解。

  • 无渲染,虚幻引擎不呈现任何内容。不计算图形。
  • 屏幕外,虚幻引擎正常工作,渲染已计算。简单地说,没有可用的显示。GPU传感器在屏幕外返回数据,不能随意启用渲染模式。

关闭屏幕模式

这是只有在Linux中使用OpenGL时才可能. 当Vulkan离开屏幕时,虚幻的引擎会崩溃,这个问题还没有被Epic解决。

强制运行模拟器的环境变量显示使用OpenGL清空并运行CARLA。

#Linux系统DISPLAY= ./CarlaUE4.sh -opengl

使用首选GPU在屏幕外运行

Docker:推荐方法

运行无头CARLA并选择GPU的最佳方法是run CARLA in a Docker.

本节包含另一个教程,但此方法已被弃用,性能更差。这里只为那些没有Docker选项的人准备。

 

不推荐:模拟虚拟显示

 

警告

本教程已弃用。来管理无头卡拉,拜托run CARLA in a Docker.

  • 要求:

本教程仅适用于Linux,并使使用多个图形卡的远程服务器能够在所有gpu上使用CARLA。这也可以翻译为桌面用户尝试使用一个没有插入任何屏幕的GPU。为此,步骤可概括为:

one将服务器配置为Nvidia在不显示的情况下工作。
two使用VNC和VGL来模拟连接到任何GPU的显示器。
three跑卡拉

本教程在ubuntu16.04中使用nvidia384.11驱动程序进行了测试。

sudo apt get安装freeglut3 dev mesa utils
  • VGL:将三维渲染命令从Unix和Linux OpenGL重定向到专用服务器中的硬件。

  • TurboVNC 2.11:图形桌面共享系统,用于远程连接到服务器。

  • 额外套餐:使不真实的工作是必要的。

sudo apt install x11-xserver-utils libxrandr-dev

警告

确保VNC版本与Unreal兼容。在本教程的制作过程中,上面的一个工作正常。

  • 配置X

可在无需安装显示器的情况下生成Nvdia:

sudo nvidia-xconfig -a --use-display-device=None --事实上的= one thousand two hundred and eightyx1024型
  • 模拟虚拟显示

运行Xorg。这里使用数字7,但可以用任何*数字标记:

sudonohupXorg :7 &#38;

运行辅助远程vncxserver。这将创建一个虚拟显示“8”:

/opt/TurboVNC/bin/vncserver :8

如果一切正常,则以下命令将在xserver7上选择标记为0的GPU运行glxinfo:

显示=: eightvglrun-d: sevenglxinfo

重要的

要在其他GPU上运行,请更改7.X上一个命令中的模式。要将其设置为GPU 1:DISPLAY=:8 vglrun -d :7.1 glxinfo

  • 额外的

在创建nohup Xorg/etc/X11/Xwrapper.config和改变allowed_users=consoleallowed_users=anybody .

可能需要在运行之前停止所有Xorg服务器nohup Xorg. 根据您的系统,该命令可能会更改。对于Ubuntu 16.04,通常使用:

sudo服务灯DM停止
  • 跑步卡拉

在某个特定的<gpu_number>在某种程度上$卡拉路使用以下命令:

显示=: eightvglrun-d: seven.<gpu_number>$卡拉路/CarlaUE4/Binaries/Linux/CarlaUE4

注意

这个 eight7.X上一个命令中的变量取决于模拟虚拟显示时使用的变量。


这就是关于卡拉中不同渲染选项的全部信息。

 

相关标签: 自动驾驶 carla