Direct RGBA receive: packet-copy experiment

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 one outstanding frame.

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

The packet-copy kernel checks alpha bytes with word loads, then uses memcpy for the payload. It retains the original scalar path for overlapping buffers and failed alpha checks. The receiver retains one outstanding frame.

The browser is Chrome/152.0.7977.83. The powered baseline 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.01310464310464358.135028111
ObservationComplete secondsMinimum unique / secondSeconds below 50
input180028113
final180028111

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 3359. They do not identify where a packet was lost.

PartSecondsUnique pairs
Complete cells1800104642
Partial tail0.0131
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)1012.500
MinutesUnique pairsMean / secondMinimum / secondSeconds below 50Final age mean msFinal age max ms
0–51707456.913284129.876201.000
5–101676955.897345332.802199.000
10–151758358.61040533.418185.000
15–201779559.31744231.576201.000
20–251774759.15742333.125169.000
25–301767458.91344732.865217.000

Marker age

ObservationSamplesMean age msMaximum age ms
input10464330.430215.000
final10464332.285217.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
ingestGap1059311807200.85817.060191.517
tapCopy10580652895.3010.50077.077
cameraPublish10593165138.8270.61563.994
writeSubmit104944466916.8444.449149.612
writeCallback104944471671.2784.495149.616
ackCallback1049431681480.94216.023175.871

These counts cover the native recorder lifetime, including setup, warmup and cleanup. The elapsed span is 1807.379 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 nanoseconds379340125
Slow events2052
Retained slow events256
Overwritten slow events1796

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-09T00:36:05.421000Z2026-09-09T00:36:05.430000ZAC Power878.866
before-measurement2026-09-09T00:36:18.656000Z2026-09-09T00:36:18.672000ZAC Power8715.781
progress2026-09-09T00:37:18.701000Z2026-09-09T00:37:18.723000ZAC Power8822.018
progress2026-09-09T00:38:18.698000Z2026-09-09T00:38:18.715000ZAC Power8816.437
progress2026-09-09T00:39:18.699000Z2026-09-09T00:39:18.714000ZAC Power8815.130
progress2026-09-09T00:40:18.702000Z2026-09-09T00:40:18.721000ZAC Power8918.913
progress2026-09-09T00:41:18.729000Z2026-09-09T00:41:18.765000ZAC Power9036.255
progress2026-09-09T00:42:18.723000Z2026-09-09T00:42:18.750000ZAC Power9027.392
progress2026-09-09T00:43:18.707000Z2026-09-09T00:43:18.728000ZAC Power9120.348
progress2026-09-09T00:44:18.712000Z2026-09-09T00:44:18.743000ZAC Power9130.693
progress2026-09-09T00:45:18.710000Z2026-09-09T00:45:18.730000ZAC Power9220.097
progress2026-09-09T00:46:18.713000Z2026-09-09T00:46:18.745000ZAC Power9232.436
progress2026-09-09T00:47:18.714000Z2026-09-09T00:47:18.743000ZAC Power9328.535
progress2026-09-09T00:48:18.715000Z2026-09-09T00:48:18.741000ZAC Power9326.536
progress2026-09-09T00:49:18.716000Z2026-09-09T00:49:18.736000ZAC Power9419.477
progress2026-09-09T00:50:18.744000Z2026-09-09T00:50:18.760000ZAC Power9416.441
progress2026-09-09T00:51:18.745000Z2026-09-09T00:51:18.763000ZAC Power9418.220
progress2026-09-09T00:52:18.744000Z2026-09-09T00:52:18.763000ZAC Power9518.781
progress2026-09-09T00:53:18.749000Z2026-09-09T00:53:18.785000ZAC Power9535.870
progress2026-09-09T00:54:18.746000Z2026-09-09T00:54:18.764000ZAC Power9517.969
progress2026-09-09T00:55:18.745000Z2026-09-09T00:55:18.761000ZAC Power9616.435
progress2026-09-09T00:56:18.747000Z2026-09-09T00:56:18.765000ZAC Power9618.562
progress2026-09-09T00:57:18.748000Z2026-09-09T00:57:18.770000ZAC Power9621.366
progress2026-09-09T00:58:18.748000Z2026-09-09T00:58:18.766000ZAC Power9617.737
progress2026-09-09T00:59:18.747000Z2026-09-09T00:59:18.765000ZAC Power9718.342
progress2026-09-09T01:00:18.750000Z2026-09-09T01:00:18.770000ZAC Power9720.013
progress2026-09-09T01:01:18.749000Z2026-09-09T01:01:18.767000ZAC Power9718.066
progress2026-09-09T01:02:18.750000Z2026-09-09T01:02:18.771000ZAC Power9720.474
progress2026-09-09T01:03:18.750000Z2026-09-09T01:03:18.773000ZAC Power9822.855
progress2026-09-09T01:04:18.750000Z2026-09-09T01:04:18.774000ZAC Power9823.425
progress2026-09-09T01:05:18.755000Z2026-09-09T01:05:18.780000ZAC Power9824.350
after-measurement2026-09-09T01:06:18.773000Z2026-09-09T01:06:18.789000ZAC Power9816.490

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
positive1000
positive1100
positive1500
negative1041432564143256
negative1141432564143256
negative1641432564143256

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 2506 slow events and omits 0. Per-cell totals remain available.

Source references

Allowlisted measurement data · Artifact manifest · SHA-256 checksums

BindingSHA-256
resultSHA2565aff2a32e37599ffc1dbd5acaaf354eb7ea30fc02fcc6e197186bc5620b20b0a
fixtureManifestSHA256319347f7ec3a08fceefbdc8bd6e24c2a1520a580ded1494dea738bcf28c0e278
nativeSHA256d80383aa4d428645a3d86b8175f3fd7ab9d29e580c7cb87c1efe07d0f793c1a3
nativeReceiptSHA25603f7c325adb9b8c6698cfc00e0b6092e94a86d396154df6ab1628229958680c4
journalSHA2562eade38fd92aad78fed179a7849a388d48067fdefa05e034f1754d92f3ca1c12
currentAppStageSHA256040b34f7a3985985c09593cd3893b29f87eaacf99ca9c67a2986a941a2e4cefb