Direct RGBA receive: two outstanding frames

8 September 2026 · Apple M2 · 8 logical CPUs · 24 GiB memory · Darwin 23.6.0

Method

This report measures an experimental direct RGBA receiver. Native camera publication remains active. Noisedeck B receives packets directly and does not capture the camera.

The source uses a 1920×1080 checkerboard and an identity marker. The receiver uses ordinary media rendering through WebGL2. The transport permits two outstanding frames.

The controller requests five seconds of warmup and 30 minutes of measurement. Input and final markers identify each selected render.

The native receiver uses three fixed packet slots and one serial write request. The browser retains two original packet buffers and consumes them in order. Packet copying and rendering use the same implementations as the copy-only experiment.

The browser is Chrome/152.0.7977.83. The copy-only experiment used the same browser version. The runs occurred at different times. They do not estimate repeatability or isolate all host conditions.

Measurement results

Elapsed secondsMatched pairsUnique pairsUnique / secondDuplicatesMinimum / secondSeconds below 50
1800.01110381110381157.672020108
ObservationComplete secondsMinimum unique / secondSeconds below 50
input180020108
final180020108

The first table reports final observations. Input and final callbacks can fall in different seconds. Their complete-second counts remain separate.

The run passed diagnostic and cleanup checks. The average 50-frame checkpoint is true. The complete-second 50-frame checkpoint is false. The report makes no sustained 60-frame acceptance claim.

Complete seconds and the partial tail remain separate below. The average uses the actual duration and includes the tail. Sequence gaps total 4191. They do not identify where a packet was lost.

PartSecondsUnique pairs
Complete cells1800103810
Partial tail0.0111
Final unique pairs, B packet and render counts, and final marker age
The final-count plot uses a literal 0–66 scale. B telemetry uses the same page clock and the actual measurement start. Telemetry bins at cut edges remain in the data but are absent from the complete-bin plot. No smoothing removes a dip.
B telemetry plotValue
Complete seconds shown1799
Measurement edge duration omitted from this plot (ms)1010.800
MinutesUnique pairsMean / secondMinimum / secondSeconds below 50Final age mean msFinal age max ms
0–51781259.37344539.309151.000
5–101784059.46743142.477185.000
10–151657155.237204639.072335.000
15–201742758.090351040.195252.000
20–251707556.917282337.862236.000
25–301708556.950352338.849220.000

Marker age

ObservationSamplesMean age msMaximum age ms
input10381137.440332.000
final10381139.651335.000

Marker age uses the decoded source wall-time stamp and the observation wall clock. Final age ends when the read starts. Read completion time includes later callback scheduling. These values do not measure physical display output.

Native elapsed times

StageCountTotal msMean msMaximum ms
ingestGap1047721807412.99717.251228.791
tapCopy10463765728.8000.628105.136
cameraPublish10477279571.7900.759183.402
writeSubmit104112392627.4553.771213.835
writeCallback104112405662.9833.896213.848
ackCallback1041102789383.48726.793243.862

These counts cover the native recorder lifetime, including setup, warmup and cleanup. The elapsed span is 1807.591 seconds. Native time has no measured alignment bound to B, so the native chart has a separate origin.

Ingest gap measures time between checked ingress callbacks. Tap copy and camera publication measure synchronous calls. Write submit measures the uv_write call. Write callback and ACK callback measure elapsed time from that lease’s submission. These are wall durations, not CPU or network durations.

Separate native elapsed-time plots for all six stages
Each panel plots the mean and maximum for events completed in each native second. Empty cells break the line. The data retains the partial tail and any event at an exact terminal boundary. The native chart contains no browser cut.
Native telemetryValue
Complete seconds1807
Tail nanoseconds591011208
Slow events69671
Retained slow events256
Overwritten slow events69415

Power samples

Each recorded sample reports AC power. Samples occur before measurement, during progress and after measurement. They do not prove continuous AC power or the state of browser Energy Saver between samples.

PhaseUTC startUTC endPowerBattery %Call ms
preflight2026-09-09T01:29:22.562000Z2026-09-09T01:29:22.571000ZAC Power1008.936
before-measurement2026-09-09T01:29:35.973000Z2026-09-09T01:29:35.985000ZAC Power10012.355
progress2026-09-09T01:30:36.016000Z2026-09-09T01:30:36.027000ZAC Power10011.894
progress2026-09-09T01:31:36.010000Z2026-09-09T01:31:36.025000ZAC Power10014.665
progress2026-09-09T01:32:36.022000Z2026-09-09T01:32:36.043000ZAC Power10021.014
progress2026-09-09T01:33:36.015000Z2026-09-09T01:33:36.031000ZAC Power10016.119
progress2026-09-09T01:34:36.015000Z2026-09-09T01:34:36.026000ZAC Power10010.820
progress2026-09-09T01:35:36.027000Z2026-09-09T01:35:36.058000ZAC Power10030.870
progress2026-09-09T01:36:36.018000Z2026-09-09T01:36:36.030000ZAC Power10011.880
progress2026-09-09T01:37:36.019000Z2026-09-09T01:37:36.035000ZAC Power10015.641
progress2026-09-09T01:38:36.020000Z2026-09-09T01:38:36.036000ZAC Power10016.446
progress2026-09-09T01:39:36.021000Z2026-09-09T01:39:36.038000ZAC Power10017.142
progress2026-09-09T01:40:36.028000Z2026-09-09T01:40:36.072000ZAC Power10044.042
progress2026-09-09T01:41:36.025000Z2026-09-09T01:41:36.062000ZAC Power10037.528
progress2026-09-09T01:42:36.035000Z2026-09-09T01:42:36.069000ZAC Power10034.298
progress2026-09-09T01:43:36.034000Z2026-09-09T01:43:36.070000ZAC Power10035.865
progress2026-09-09T01:44:36.029000Z2026-09-09T01:44:36.052000ZAC Power10023.087
progress2026-09-09T01:45:36.028000Z2026-09-09T01:45:36.051000ZAC Power10023.020
progress2026-09-09T01:46:36.036000Z2026-09-09T01:46:36.084000ZAC Power10048.118
progress2026-09-09T01:47:36.023000Z2026-09-09T01:47:36.049000ZAC Power10026.633
progress2026-09-09T01:48:36.034000Z2026-09-09T01:48:36.069000ZAC Power10034.883
progress2026-09-09T01:49:36.033000Z2026-09-09T01:49:36.066000ZAC Power10032.406
progress2026-09-09T01:50:36.027000Z2026-09-09T01:50:36.050000ZAC Power10022.984
progress2026-09-09T01:51:36.024000Z2026-09-09T01:51:36.048000ZAC Power10024.626
progress2026-09-09T01:52:36.027000Z2026-09-09T01:52:36.047000ZAC Power10019.843
progress2026-09-09T01:53:36.026000Z2026-09-09T01:53:36.050000ZAC Power10024.377
progress2026-09-09T01:54:36.024000Z2026-09-09T01:54:36.047000ZAC Power10023.080
progress2026-09-09T01:55:36.018000Z2026-09-09T01:55:36.036000ZAC Power10018.622
progress2026-09-09T01:56:36.020000Z2026-09-09T01:56:36.042000ZAC Power10022.435
progress2026-09-09T01:57:36.026000Z2026-09-09T01:57:36.049000ZAC Power10023.593
progress2026-09-09T01:58:36.036000Z2026-09-09T01:58:36.073000ZAC Power10036.365
after-measurement2026-09-09T01:59:36.046000Z2026-09-09T01:59:36.066000ZAC Power10019.861

Pixel controls and limits

Three positive full-pixel gates and three poisoned-negative gates passed in this context. Each gate compares 8,294,400 bytes per surface. The timed run compares markers, not every pixel.

ModeSequenceTexture differing bytesFinal differing bytes
positive500
positive600
positive1200
negative941432564143256
negative1041432564143256
negative1141432564143256

The fixture includes changes that the released product does not contain. These results do not establish released-product performance, external camera delivery or performance over several hours. This report does not estimate statistical uncertainty or prove a cause for earlier stalls.

Hardware metadata comes from the retained record for this host. This run does not measure process memory or CPU use. Browser telemetry retains 6066 slow events and omits 0. Per-cell totals remain available.

Source references

Allowlisted measurement data · Artifact manifest · SHA-256 checksums

BindingSHA-256
resultSHA2566276eccd64206a201f023777d13eabd7d11ed819a74ee779a7b3035a28fbd53a
fixtureManifestSHA2564f88635a1e6774dfac3588dffda63a529e965340589cc63d8781ca995f594a0d
nativeSHA256622844bf82df19cbaa166cc769f43b929655d137e65e0b5f3f7684d473d9806d
nativeReceiptSHA2569bd8cc42980c900c37835e84aecc53dea00c1dfd66e14d08f3dc2fed829f7b66
journalSHA256ce48f6d41f9e319e3abe5c836d618674bad9d1da1970e4f2a9dd4c942fb045ba
currentAppStageSHA256040b34f7a3985985c09593cd3893b29f87eaacf99ca9c67a2986a941a2e4cefb