Repository navigation
Performance Research T02 Exact Clock and Presentation Pacing
| Field | Value |
|---|---|
| Evidence state | Existing QPC work and separate presentation-only research; no new gain measured |
| Inspected source | 322986f4c5502b3fa887a9605ac8cd88e9b2c579 |
| First experiment | Exact integer scaling oracle plus fixed-work pacing controls |
| Scope | Addendum dated September 15, 2026; not a current-main benchmark or implementation status |
Unproven performance research · Performance research — common test protocol · Performance research — reproducible checks
Do not present existing work as a new discovery. The retained history already includes an exact Windows QPC scaling fast path and removal of unsafe host-load timer manipulation and persistent NVIDIA power-policy changes. A replacement host-load design is scoped to presentation deadlines. Research history.
Remaining research. Count clock calls and identify redundant sampling, then optimize only the arithmetic or scheduling mechanism whose exact result/contract is established. Keep virtual device clocks, guest execution, and host presentation pacing distinct.
Expected gain. Usually a host-overhead or jitter reduction. Faster guest clocks, different presentation caps, or more work per wall-clock second can be useful stress configurations, but they do not establish that the same emulated workload runs more efficiently. QEMU explicitly distinguishes instruction-count time from cycle-accurate modeling. TCG icount.
Acceptance. Exact scaling over boundary/overflow cases; pause/resume; long and short sessions; frame/audio pacing; fixed-work versus normally paced runs. Do not increase reported throughput by changing the workload's time semantics.
Optimize redundant sampling or proven arithmetic only. Do not change guest clocks, title caps or driver power policy as an implicit optimization.
host counter -> exact scale -> host deadline; guest virtual clock and device semantics remain unchanged
Locate the inspected seam before editing; names or ownership may have changed since the pinned review:
git grep -n -E 'QueryPerformanceCounter|QueryPerformanceFrequency|QPC|deadline' -- util uiThese are implementation gates to add or exercise, not claims that production tests already exist or passed. Retained standalone checks are on the checks page.
| Test ID | Setup / deliberate control | Required oracle |
|---|---|---|
T02.01 |
Zero/small/large counter values, around integer division and floating-point precision boundaries, using the supported frequency domain. | Candidate scaling matches a sufficiently wide exact-integer reference with defined overflow handling. |
T02.02 |
Pause/resume, long/short sessions and audio/video pacing transitions. | No drift or altered guest device clock semantics. |
T02.03 |
Normally paced runs and fixed-work runs with identical guest-time settings. | Host overhead is distinguishable from merely executing different amounts of emulated work. |
Collect: clock_calls, scale_cpu_ns, deadline_error_ns, host_wakes, guest_work, presented_frames, audio_underruns, frame_tail_ns. Keep exact counts separate from sampled durations; use an uninstrumented build for performance qualification.
Reject or hold: Do not claim speed by changing time semantics. Retain separate reports for host pacing, guest progress and actually presented frames.
Follow the common protocol for source identities, previous-main/fixed-baseline controls, raw results, confidence and retail/XISO qualification. No gain becomes proven from a model, cache hit, local operation count, or shifted wait label alone.
DSP tooling guide and navigation updated November 2, 2026 for experimental PR #384, source 8f51d237. Capture/replay usage and limits.
The earlier wiki-wide review was published November 1, 2026. Emulator source: b7140848. Reviewed wiki content: 1d2b671. Current status · Release availability · Publication process.
- Home
- Current status
- Stable versus main
- Implemented mechanisms
- Controls and defaults
- Measured results and limits
- Complete change register
- System
- CPU and vCPU
- Memory and DMA
- Graphics / NV2A
- APU and audio
- Timing and timers
- Platform and I/O
- Hardware observations
- Fidelity boundaries
- Methodology
- PGR2 routes
- Debugging lag / hot paths
- Tools and commands
- DSP capture, replay and fuzzing
- HLE readiness and public XISO proof
- Concurrent DSP shadow and OpenAL proof
- DSP HLE operation inventory
- DSP HLE fix examples and testing
- Development
- Upstream shortlist
- Wiki maintenance
- Research / retired work
- Optimization catalog
- Hot-path shortcuts
- Researched experiments
- Unproven proposal directory
- PR lessons
- September26 snapshot
Repository · PRs · Issues