Hi,
Not sure if it is what you are observing, but the FPS number shown at the bottom of the 3D Map view is the rendering framerate, not the actual odometry or mapping rate. The processing times for odometry and map update are shown under the Statistics view (Odometry/TimeEstimation and Timing/Total respectively).
For visualization, without a GPU the rendering would be slow. You can change how many points are shown per frame under the 3D Rendering panel in Preferences. You could disable odometry cloud rendering and just keep the map, then increase decimation parameter to reduce the number of points (you can also limit the depth).
To decrease odometry processing time, you could increase source decimation. This will reduce the size of the images. This may affect the odometry quality and loop closure detection though.
Another option is using ROS to split the core and visualization among two computers. With the ros package (
rtabmap_ros), you can start the core (
rgbd_odometry and rtabmap) on RPi2 and the GUI (
rtabmapviz or
rviz) on another computer.
cheers