<liclass="toctree-l3"><aclass="reference internal"href="../../1_overview/introduction.html#support-hardware-products">1.1.1. Support Hardware Products</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../1_overview/introduction.html#orbbec-camera-datasheet">1.1.2. Orbbec camera datasheet</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../1_overview/introduction.html#support-platforms">1.1.3. Support Platforms</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#build-your-first-camera-application">3.1.2. Build your First Camera Application</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#step-1-source-ros-2-and-workspace">3.1.2.1. Step 1: Source ROS 2 and Workspace</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#step-2-launch-the-camera-node">3.1.2.2. Step 2: Launch the Camera Node</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#step-3-visualize-in-rviz2">3.1.2.3. Step 3: Visualize in RViz2</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#list-available-topics-services-parameters">3.1.3.1. List available topics / services/ parameters</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#echo-a-topic">3.1.3.2. Echo a topic</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#call-a-service">3.1.3.3. Call a service</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#record-with-rosbag2">3.1.3.4. Record with rosbag2</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../3_quickstarts/orbbecviewer.html#connect-the-device">3.2.2. Connect the device</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../3_quickstarts/orbbecviewer.html#camera-control">3.2.3. Camera Control</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../3_quickstarts/orbbecviewer.html#device-information-and-firmware-upgrade">3.2.4. Device information and firmware upgrade</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#basic-general-parameters">4.1.4. Basic & General Parameters</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#firmware-backend">4.1.4.1. Firmware & Backend</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#tf-extrinsics-calibration">4.1.4.2. TF, Extrinsics & Calibration</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#time-synchronization">4.1.4.3. Time Synchronization</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#logging-diagnostics">4.1.4.4. Logging & Diagnostics</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/services.html">4.2. All available services for camera control</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/services.html#ir-stream">4.2.1.3. IR Stream</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/services.html#all-streams">4.2.1.4. All Streams</a></li>
</ul>
</li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/services.html#sensor-emitter-control">4.2.2. Sensor & Emitter Control</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/services.html#device-information-management">4.2.3. Device Information & Management</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/services.html#synchronization-triggering">4.2.4. Synchronization & Triggering</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/services.html#data-capture-calibration-management">4.2.6. Data Capture & Calibration Management</a></li>
</ul>
</li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/topics.html">4.3. Available Topics</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status & Diagnostics</a></li>
</ul>
</li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/coordinate_systems.html">4.4. ROS2(Robot) vs Optical(Camera) Coordination Systems</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/multi_camera.html#no-data-stream-from-multiple-cameras">5.1.1.1. No Data Stream from Multiple Cameras</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/multi_camera.html#image-topic-frame-rate-too-low-from-multiple-cameras">5.1.1.2. Image topic frame rate too low from Multiple Cameras</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/multi_camera_synced.html#checking-camera-port-with-orbbecsdk-ros2">5.1.2.2. Checking camera port with OrbbecSDK_ROS2</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/multi_camera_synced.html#run-the-following-command-to-start-the-multi-camera-synced">5.1.2.4. Run the following command to start the multi-camera synced</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.html#preparation-for-operation">5.1.3.2. Preparation for operation</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.html#run-this-example">5.1.3.3. Run this example</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.html#files-that-need-to-be-changed">5.1.3.4. Files that need to be changed</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/gmsl_camera.html#single-gmsl-camera">5.1.4.1. Single GMSL camera</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/gmsl_camera.html#multi-gmsl-camera">5.1.4.2. Multi GMSL camera</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/multi_camera/gmsl_camera.html#multi-gmsl-camera-synced">5.1.4.3. Multi GMSL camera synced</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../5_advanced_guide/advanced_guide.html#configuration-modes">5.2. Configuration & Modes</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../5_advanced_guide/configuration/align_depth_color.html">5.2.1. Aligning Depth to Color in ROS 2</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/configuration/align_depth_color.html#commands-to-align-and-view-depth-and-color-images">5.2.1.1. Commands to Align and View Depth and Color Images</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/configuration/align_depth_color.html#selecting-topics-in-rviz2">5.2.1.2. Selecting Topics in RViz2</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/configuration/align_depth_color.html#example-of-depth-to-color-overlay">5.2.1.3. Example of Depth to Color Overlay</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.html">5.2.2. Configuration of depth NFOV and WFOV modes</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../5_advanced_guide/configuration/depth_work_mode_switch.html">5.2.3. Depth work mode switch</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/configuration/disparity_search_offset.html#function-introduction">5.2.4.1. Function Introduction</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/configuration/disparity_search_offset.html#run-the-launch">5.2.4.3. Run the launch</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../5_advanced_guide/configuration/interleave_ae_mode.html">5.2.5. Using interleave_ae with Gemini330 series cameras</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/configuration/interleave_ae_mode.html#run-the-launch">5.2.5.2. Run the launch</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/configuration/net_camera.html#femto-mega-gemini-435le">5.2.7.1. Femto Mega & Gemini 435Le</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../5_advanced_guide/configuration/net_camera.html#multi-net-camera">5.2.7.3. Multi Net camera</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../benchmark_usage.html#using-common-benchmark-node">6.2.1. Using common benchmark node</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../benchmark_usage.html#using-service-benchmark-node">6.2.2. Using service benchmark node</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#camera-configuration-launch-files">6.4.1.2. Camera configuration (launch files)</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#running-the-ob-benchmark-tool">6.4.1.3. Running the ob_benchmark tool</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#output-data-files">6.4.1.4. Output Data Files</a></li>
</ul>
</li>
<liclass="toctree-l3"><aclass="reference internal"href="../performance.html#reducing-cpu-usage-with-orbbec-ros-package">6.4.2. Reducing CPU Usage with Orbbec ROS Package</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#recommended-settings-for-lower-cpu-usage">6.4.2.1. Recommended Settings for Lower CPU Usage</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#launch-files-used-for-testing">6.4.2.2. Launch Files Used for Testing</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#test-environment">6.4.2.3. Test environment</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#test-setup">6.4.2.4. Test Setup</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#test-results">6.4.2.5. Test Results</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#further-optimizationa">6.4.2.6. Further Optimizationa</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../performance.html#fast-dds-optimization-for-orbbec-camera-with-ros2">6.4.4. Fast DDS Optimization for Orbbec Camera with ROS2</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#adjusting-system-parameters">6.4.4.1. Adjusting System Parameters</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance.html#fast-dds-configuration">6.4.4.2. Fast DDS Configuration</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../7_developer_guide/building_a_Debian_Package.html">7.1. Building a Debian Package</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../7_developer_guide/building_a_Debian_Package.html#preparing-the-environment">7.1.1. Preparing the Environment</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../7_developer_guide/building_a_Debian_Package.html#building-the-package">7.1.3. Building the Package</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../8_FAQ/FAQ.html#no-data-stream-from-multiple-cameras">8.2. No Data Stream from Multiple Cameras</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../8_FAQ/FAQ.html#why-are-there-so-many-launch-files">8.4. Why Are There So Many Launch Files?</a></li>
<h1>Reducing CPU Usage with Orbbec ROS Package<aclass="headerlink"href="#reducing-cpu-usage-with-orbbec-ros-package"title="Link to this heading"></a></h1>
<p>You can find example usage code in the <aclass="reference external"href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples">example</a>.</p>
<p>This document outlines strategies for minimizing CPU usage in the <strong>OrbbecSDK_ROS2 v2</strong> environment when using <strong>Gemini 330 series cameras</strong>. The firmware version must be <strong>no lower than 1.4.10</strong>, and <codeclass="docutils literal notranslate"><spanclass="pre">device</span></code> should be set to <strong>Default</strong>.</p>
<h2>Recommended Settings for Lower CPU Usage<aclass="headerlink"href="#recommended-settings-for-lower-cpu-usage"title="Link to this heading"></a></h2>
<li><p>Depth / IR Left / IR Right: 848×480 @ 30fps</p></li>
<li><p>Color: 848×480 @ 30fps</p></li>
</ul>
<p>Note: The following CPU usage data focuses on <codeclass="docutils literal notranslate"><spanclass="pre">uvc_backend</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">color_format</span></code> and various filter combinations.</p>
</table><p>The CPU usage can be significantly reduced with v4l2 backend. In our implementation, v4l2 works without requiring any patches to the Linux kernel, allowing users to easily switch between v4l2 and libuvc and maintaining full compatibility with standard Linux distributions.</p>
<p><strong><codeclass="docutils literal notranslate"><spanclass="pre">color_format</span></code> Comparison (MJPG vs RGB)</strong></p>
<tableborder="1"class="docutils">
<thead>
<tr>
<thstyle="text-align: center;">Backend</th>
<thstyle="text-align: center;">MJPG CPU Usage</th>
</table><p>The CPU usage can be reduced if the RGB format is selected instead of MJPG, since the decoding of MJPG image will consume the host CPU resource.</p>
</table><p>Based on the test results, using only the <codeclass="docutils literal notranslate"><spanclass="pre">hardware_noise_removal_filter</span></code> results in a negligible change in CPU usage for both <codeclass="docutils literal notranslate"><spanclass="pre">libuvc</span></code> (+3.5%) and <codeclass="docutils literal notranslate"><spanclass="pre">v4l2</span></code> (-3.4%) compared to the no-filter benchmark, as this filter runs internally on the camera hardware. In contrast, other filters execute on the host system. Adding the <codeclass="docutils literal notranslate"><spanclass="pre">spatial_filter</span></code> to the hardware filter leads to a moderate increase in CPU usage, while applying the software-based <codeclass="docutils literal notranslate"><spanclass="pre">noise_removal_filter</span></code> —either alone or combined with <codeclass="docutils literal notranslate"><spanclass="pre">spatial_filter</span></code> —significantly increases CPU load. To maintain low CPU usage, it is recommended to avoid software-based filters and rely solely on the <codeclass="docutils literal notranslate"><spanclass="pre">hardware_noise_removal_filter</span></code>.</p>