メインコンテンツまでスキップ

Performance

Models are distributed in ONNX format and executed through ONNX Runtime. Device selection is made per model by a production policy rather than being fixed.

Reference configurations

Two machines were measured, chosen to differ from each other.

Reference AReference B
Form factorLaptopDesktop
CPUIntel Core i9-14900HXIntel Core Ultra 5 250K Plus
Discrete GPUNVIDIA GeForce RTX 4090 LaptopAMD Radeon RX 9070 XT
Integrated GPUIntel UHD GraphicsIntel Graphics
NPUNot presentPresent
RuntimeONNX Runtime 1.24.6ONNX Runtime 1.24.6
The discrete GPU is not used

On both machines the discrete GPU is left idle by the platform. Neither the RTX 4090 nor the Radeon RX 9070 XT is asked to run any of this work.

This is deliberate. Pinned measurements show the CPU is the fastest device for almost every one of these models, which are small enough that the comparison is not close. Production selects accelerator hardware regardless, because keeping the CPU free during gameplay is worth more than reducing an inference time that already has generous headroom.

Device selection

Selection is per model, so a single session can span two devices.

ModelReference AReference B
YAMNetIntegrated GPU (OpenVINO)Integrated GPU (OpenVINO)
Mood classifierIntegrated GPU (OpenVINO)NPU (OpenVINO)
Pattern modelIntegrated GPU (OpenVINO)NPU (OpenVINO)
Content region modelIntegrated GPU (OpenVINO)NPU (OpenVINO)

On a machine with an NPU, the three small models run there and YAMNet runs on the integrated GPU. Without an NPU, all four run on the integrated GPU.

Session cost by device

Steady-state process usage sampled every 500 ms, on Reference B. Figures are the float model variant; int8 variants differ by a few tenths of a percent at session level. The final row of each table is the production selection.

Razer Resonance

DeviceCPU % avgGPU % avg
CPU (0x0007)0.20.0
CPU OpenVINO (0x0007)1.10.0
CPU OpenVINO.AUTO (0x0007)1.10.0
DGPU Dml (0x7550)0.10.3
DGPU MIGraphX (0x7550)No captureNo capture
IGPU Dml (0x7d67)0.13.6
IGPU OpenVINO (0x7d67)0.320.3
IGPU OpenVINO.AUTO (0x7d67)0.320.2
NPU OpenVINO (0xad1d)No captureNo capture
NPU OpenVINO.AUTO (0xad1d)No captureNo capture
Production policy → IGPU OpenVINO0.322.6

Screen Sync

DeviceCPU % avgGPU % avg
CPU (0x0007)1.90.0
CPU OpenVINO (0x0007)1.90.0
CPU OpenVINO.AUTO (0x0007)2.20.0
DGPU Dml (0x7550)2.20.0
DGPU MIGraphX (0x7550)1.80.0
IGPU Dml (0x7d67)1.80.1
IGPU OpenVINO (0x7d67)2.00.7
IGPU OpenVINO.AUTO (0x7d67)2.10.7
NPU OpenVINO (0xad1d)1.70.1
NPU OpenVINO.AUTO (0xad1d)1.90.1
Production policy → NPU OpenVINO2.20.1

Mood Analyzer

DeviceCPU % avgGPU % avg
CPU (0x0007)1.00.0
CPU OpenVINO (0x0007)1.00.0
CPU OpenVINO.AUTO (0x0007)1.00.0
DGPU Dml (0x7550)0.80.1
DGPU MIGraphX (0x7550)No captureNo capture
IGPU Dml (0x7d67)0.71.3
IGPU OpenVINO (0x7d67)1.25.2
IGPU OpenVINO.AUTO (0x7d67)1.25.1
Production policy → IGPU + NPU OpenVINO2.25.9
Reading the GPU column

GPU load depends heavily on which integrated GPU is present. Razer Resonance uses 22.6% of the integrated GPU on Reference B where it used 1.4% on Reference A. Treat the GPU column as specific to a configuration.

Screen Sync carries the highest CPU cost of the three, which follows from its pipeline. Colour extraction runs on the CPU at 5 Hz alongside the two vision models.

Since Screen Sync and Mood Analyzer are mutually exclusive, a running system carries at most one of those two plus Razer Resonance.

Inference latency

Per-inference cost on the production device, warm cache.

ModelReference AReference B
YAMNet9.54 ms avg, 12.65 ms p956.53 ms avg
Mood classifier3.37 ms avg4.07 ms avg
Pattern model15.85 ms avg, 26.84 ms p954.65 ms avg
Content region model14.08 ms avg, 22.17 ms p954.93 ms avg
Headroom

Compare these against the cadences in Signal characteristics. YAMNet runs at roughly 8 Hz, giving it a 125 ms budget per cycle, and it uses under 13 ms at p95 on the slower of the two machines. The vision models run every 3 seconds and complete in well under 30 ms.

Every model finishes far inside its window, so the analysis cadence is set by design rather than by what the hardware can keep up with.

Model inputs

ModelInputOutput
YAMNet0.975 s window of system audio, 15,600 samples at 16 kHzPer-class scores plus a 1,024-value embedding
Mood classifierYAMNet's 1,024-value embeddingMood label
Pattern model32×32 RGB screen downscaleOn-screen pattern class
Content region model32×32 RGB screen downscaleActive content rectangle

The 32×32 input is what "low-resolution snapshot" means in practice for Screen Sync, and why it reproduces the overall colour of a scene rather than fine detail.

Model caching

precompileModels exists because compiled model caching (EPContext) is supported on the OpenVINO devices. Precompiling at install time means sessions open from cache rather than compiling on first use.

Cached session open on Reference B is roughly 35 to 38 ms on the NPU, 36 to 88 ms on the integrated GPU, and 37 to 116 ms on the CPU. Devices without EPContext support open uncached every time.

Next

  • Overview, feature summary and runtime model