carla 渲染选项
渲染选项
在配置仿真时,需要考虑的细节很少。本页包括更重要的部分。
-
图形质量
- Vulkan vs OpenGL
- 质量等级
- 无渲染模式
-
屏幕外模式
- 屏幕外Vs无渲染
-
使用首选GPU在屏幕外运行
- Docker:推荐方法
- 不推荐:模拟虚拟显示
重要的
下面的一些命令选项在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&config.py-no-rendering
cd PythonAPI/util&&./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驱动程序进行了测试。
- Nvidia最新驱动程序
- OpenGL:需要使用虚拟GL(VGL)。OpenGL可以通过apt安装:
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 &
运行辅助远程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=console
到allowed_users=anybody
.
可能需要在运行之前停止所有Xorg服务器nohup Xorg
. 根据您的系统,该命令可能会更改。对于Ubuntu 16.04,通常使用:
sudo服务灯DM停止
- 跑步卡拉
在某个特定的<gpu_number>
在某种程度上$卡拉路
使用以下命令:
显示=: eightvglrun-d: seven.<gpu_number>$卡拉路/CarlaUE4/Binaries/Linux/CarlaUE4
注意
这个 eight
和7.X
上一个命令中的变量取决于模拟虚拟显示时使用的变量。
这就是关于卡拉中不同渲染选项的全部信息。