# Performance settings

The **Performance** tab in Preferences controls how OmniScope balances visual quality against GPU and CPU resources. Open it via **Preferences > Performance**.

<figure><img src="/files/vpLNtMrg2nhlQgZdJOvC" alt=""><figcaption><p>Preferences — Performance tab</p></figcaption></figure>

## Rendering

### Signal Preprocessing

These options trade detail for responsiveness before scopes ingest the signal.

| Setting                                      | Description                                                                                                                                        |
| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Limit input to 1080p**                     | Downsamples heavy scopes (Waveform, Vectorscope, CIE Plot, 3D Cube) to 1080p before processing. Recommended for 4K+ sources on mid-range hardware. |
| **Use high precision calculation**           | Switches the internal pipeline from 16-bit half-float to 32-bit float math for maximum accuracy. **Requires restart.**                             |
| **Input frame reordering based on timecode** | Re-orders frames based on their embedded timecode when input sources deliver them out of sequence.                                                 |

### Frame Cache & Buffering

Balances GPU memory usage against playback smoothness, especially at high frame rates.

| GPU Cache Level                 | Frame Buffer Size | Notes                                       |
| ------------------------------- | ----------------- | ------------------------------------------- |
| Low memory                      | 4 frames          | Minimal GPU memory footprint                |
| Medium Memory & better HFR perf | 8 frames          | Default — good balance for most workflows   |
| High Memory & best HFR perf     | 16 frames         | Best for high-frame-rate sources (120 fps+) |

Changing this setting requires **restarting the video source** to take effect.

### Scope Sampling

| Setting                     | Description                                                                                                                                                                                                                      |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Global scope downsample** | Applies a global resolution scale to every scope. Options: **100%**, **75%**, **50%**, **25%**, **10%**. Lower values reduce fidelity but save considerable GPU time. Individual scopes can override this in their own settings. |

### Uploads & CPU Scaling

| Setting                                  | Description                                                                                                            |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Optimize scope resolution**            | Renders all scopes at 75% of their display size, reducing GPU workload with minimal visual impact.                     |
| **Use Lanczos filtering for downsample** | Uses higher-quality Lanczos filtering when downsampling scopes. Produces sharper results at a slight performance cost. |

{% hint style="info" %}
Hold **Shift** while the Performance tab is open to reveal additional developer options in this section.
{% endhint %}

## GPU

### UI Renderer

| Setting             | Description                                                                                                                                                                                                              |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **UI refresh rate** | Caps the UI thread redraw rate. Options: **30 Hz**, **60 Hz**, **120 Hz**, **144 Hz**, **240 Hz**. Higher values produce a smoother interface but increase CPU and GPU load. Default is **60 Hz**. **Requires restart.** |

### macOS-Specific

| Setting               | Description                                                                                                                                          |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Metal GPU capture** | Enables Apple GPU capture tooling for debugging Metal shader issues. Only useful for development or when requested by support. **Requires restart.** |
| **Active GPU**        | On systems with multiple GPUs, selects which Metal device OmniScope uses. Visible only when more than one GPU is detected. **Requires restart.**     |

### Windows: Prefer the Discrete GPU

On systems with both integrated and discrete graphics, OmniScope should run on the **high-performance** GPU. In Windows, set this in **Settings > System > Display > Graphics**, then restart OmniScope.

### Windows-Specific

| Setting                           | Description                                                                                                                      |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Use GPU compute acceleration**  | Switches between CPU and GPU (OpenCL) compute pipelines. Disable if you experience OpenCL-related crashes. **Requires restart.** |
| **Use GLSL compute if available** | Prefers GLSL compute shaders over OpenCL when the GPU supports them. Can improve performance on some NVIDIA and AMD cards.       |

{% hint style="info" %}
Hold **Shift** while the GPU section is open to reveal additional developer toggles.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.timeinpixels.com/nobe-omniscope/settings-and-preferences/performance-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
