ros-visualization / rviz

ROS 3D Robot Visualizer
BSD 3-Clause "New" or "Revised" License
813 stars 461 forks source link

Better RViz on embedded device #1088

Open VictorLamoine opened 7 years ago

VictorLamoine commented 7 years ago

Goal

Get best possible performance of RViz on embedded platforms (ARM, armhf). Platforms targets: Raspberry Pi 3, ODROID-XU4.

If anyone has valuable information on how to get better performance on these platforms please post here. I'll keep this issue up to date with my latest tests.

Problems to be solved

To-do list


:star: Raspberry Pi 3

Ubuntu Mate 16.04

To get good performance we need to activate the OpenGL experimental driver: https://ubuntu-mate.community/t/tutorial-activate-opengl-driver-for-ubuntu-mate-16-04/7094

:construction: This doesn't seem to improve performance! :construction:

Raspbian Jessie (with PIXEL, 2017-04-10)

ROS Kinetic compiled from source

Issues I ran into (fix described into the issues):


:star: Odroid XU-4

There is no image with hardware acceleration enabled by default.


:star: Compiling Ogre

To do :Compile Ogre with OGRE_BUILD_RENDERSYSTEM_GLES2= ON, then build RViz against this Ogre version and benchmark performance again.

Don't try to compile Ogre3d 1.9.0; it will fail: https://ogre3d.atlassian.net/browse/OGRE-357 Use default branch!

Interesting flags:

 OGRE_BUILD_RENDERSYSTEM_GL       ON                                                                                                                                                                        
 OGRE_BUILD_RENDERSYSTEM_GL3PLU   OFF                                                                                                                                                                       
 OGRE_BUILD_RENDERSYSTEM_GLES     OFF                                                                                                                                                                       
 OGRE_BUILD_RENDERSYSTEM_GLES2    ON                                                                                                                                                                        
 OGRE_BUILD_SAMPLES               ON                                                                                                                                                                        
 OGRE_BUILD_TESTS                 OFF                                                                                                                                                                       
 OGRE_BUILD_TOOLS                 ON                                                                                                                                                                        
 OGRE_CONFIG_ENABLE_QUAD_BUFFER   OFF                                                                                                                                                                       
 OGRE_CONFIG_THREADS              2                                                                                                                                                                         
 OGRE_CONFIG_THREAD_PROVIDER      boost                                                                                                                                                                     
 OGRE_DEPENDENCIES_DIR                                                                                                                                                                                      
 OGRE_GLSUPPORT_USE_EGL

OGRE_RESTRICT_ALIASING

:warning: Test disabling EGL !!

wjwwood commented 7 years ago

Thanks for organizing this issue. I don't have time to spend working on this, but you're welcome to keep using this issue to collect progress and to ask me questions. If you end up not having time to work on, however, please close it so we don't leave stale for too long.