> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/holoscan/sensor-bridge-e2e-latency-tool/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/holoscan/sensor-bridge-e2e-latency-tool/_mcp/server.

# Performance Optimization

## Display Side Optimizations

### Exclusive Display Mode

* **Use Exclusive Display**: This removes the display manager from the pipeline, allowing the application to directly own and control the display
* **Reduces Compositor Overhead**: Eliminates window manager and compositor latency

### Display Interface Selection

* **Prefer DisplayPort over HDMI**: DisplayPort generally provides higher bandwidth and lower latency than HDMI
* **Match Bandwidth Requirements**: Ensure the display interface can handle your data throughput requirements
* **Cable Quality**: Use high-quality, short cables to minimize signal degradation

### Display Settings Configuration

* **Disable Variable Backlight**: Variable backlight can introduce up to one frame worth of delay
* **Set Higher Refresh Rate**: Display refresh rate should be at least **double** the camera frame rate
  * Example: 60fps camera → minimum 120Hz display refresh rate
* **G-Sync Configuration**: For systems with discrete GPU and G-Sync monitors:
  * Ensure G-Sync is properly enabled
  * Verify refresh rate is correctly configured
  * Skip this step if no discrete GPU is attached

### Display Resolution Matching

* **Native Resolution**: Use the display's native resolution to avoid scaling overhead
* **Consistent Timing**: Maintain consistent pixel clock and timing parameters

## Application Side Optimizations

### Holoscan Application Configuration

**Use Fullscreen Mode:**

```bash
# Always use --fullscreen option for latency measurements
python3 examples/e2e_imx274_latency.py --fullscreen
python3 examples/e2e_vb1940_latency.py --fullscreen
```

**HolovizOp Display Resolution:**

```python
# Configure HolovizOp to match display resolution exactly
holoviz_op = HolovizOp(
    name="display",
    width=display_width,    # Match your display width (e.g., 1920, 2560)
    height=display_height,  # Match your display height (e.g., 1080, 1440)
    enable_render_buffer_input=False,  # Direct rendering
    fullscreen=True
)
```

## System Tuning

### CPU Optimization

```bash
# Set CPU governor to performance mode
sudo cpufreq-set -g performance

# Disable CPU frequency scaling
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
```

### GPU Optimization

```bash
# Set GPU to maximum performance
sudo nvidia-smi -pm 1
sudo nvidia-smi -ac 5001,1590  # Memory,Graphics clocks

# Enable persistence mode
sudo nvidia-smi -pm ENABLED
```

### Memory Optimization

```bash
# Increase shared memory
echo 'kernel.shmmax = 68719476736' | sudo tee -a /etc/sysctl.conf

# Optimize memory allocation
echo 'vm.swappiness = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```