Merge branch 'master' into clarity-reduced-base
# Conflicts: # docs/traceability.md
This commit is contained in:
@@ -266,6 +266,52 @@ base, computed at reduced resolution and correct at any moment the user stops.
|
||||
|
||||
---
|
||||
|
||||
## Which GPU, on a machine with more than one
|
||||
|
||||
**Measured 2026-08-29** on a laptop holding an Intel Iris Xe (RPL-P) and an AMD
|
||||
RX 5700 XT, same binary, adapter forced with `VK_ICD_FILENAMES`.
|
||||
|
||||
The question was whether an integrated GPU is the better choice for this
|
||||
application. The argument for it is good: a 24 MP frame is ~96 MB of RGBA, and
|
||||
on a discrete card every upload and every export readback crosses PCIe, where
|
||||
an iGPU shares memory with the CPU and crosses nothing. It also does not empty
|
||||
a battery.
|
||||
|
||||
The compute says otherwise, and not marginally.
|
||||
|
||||
| 2560×1600, p99 | AMD RX 5700 XT | Intel Iris Xe |
|
||||
|---|---|---|
|
||||
| fused pass, `point` | 5.19 ms | 7.75 ms |
|
||||
| fused pass, `all` | 11.70 ms | **66.42 ms** |
|
||||
| M3 clarity, fit | 4.67 ms | **38.28 ms** |
|
||||
| M3 all four, 1:1 | 6.44 ms | **57.67 ms** |
|
||||
|
||||
| 1920×1200, M3 clarity, fit | 2.35 ms | **19.99 ms** |
|
||||
|---|---|---|
|
||||
|
||||
The fused colour pass is within a factor of 1.5 — it is one read and one write
|
||||
per pixel, which an iGPU does perfectly well. The **neighbourhood stage is
|
||||
5–8× slower**, and that is what decides it: clarity at 1920×1200 costs 20 ms on
|
||||
the Iris Xe, so it leaves the budget on its own at the smallest size tested,
|
||||
before anything else in the chain runs.
|
||||
|
||||
**So the default adapter preference stays `Performance`** (`dr_gpu::AdapterPreference`).
|
||||
|
||||
Two things this does *not* show, and neither is a reason to revisit the default
|
||||
without measuring them:
|
||||
|
||||
- **It does not refute the transfer argument.** This harness renders from a
|
||||
resident texture and never uploads or reads back, so the PCIe cost an iGPU
|
||||
avoids does not appear in any column above. Import, export and the thumbnail
|
||||
sweeps are transfer-heavy and compute-trivial, and may well go the other way
|
||||
— but they are not what FR-DSP-3 bounds, and one device is opened at startup
|
||||
and shared with the compositor, so there is currently no way to use a
|
||||
different adapter for a different task.
|
||||
- **It says nothing about power.** `Efficiency` remains offered
|
||||
(`DARKROOM_GPU=integrated`) because a user on battery may rationally accept a
|
||||
slower detail chain, and because someone whose discrete card has failed needs
|
||||
a way to keep working.
|
||||
|
||||
## What is not measured here
|
||||
|
||||
Stated because §7 of [display-and-extension.md](display-and-extension.md) asks
|
||||
|
||||
Reference in New Issue
Block a user