Command running in background with ID: btvah3yov. Output is being written to: C:\Users\decid\AppData\Local\Temp\claude\C--Users-decid-Documents-projects-sauna\e1077b85-f9e0-461b-b631-ddcce7ef7b3e\tasks\btvah3yov.output. You will be notified when it completes. To check interim output, use Read on that file path.


beyond connected + steamvr up on enlyzeam


**Headset live now — 120 s. Put it on.** Eyes-in checklist:

1. **Straight lines** — grid must look straight/rectilinear through the lens, both eyes. Curvature (pincushion or barrel) = warp direction or coeffs wrong.
2. **Color fringing** — grid lines should be clean white-ish, minimal red/blue edges even toward periphery. Heavy rainbow = per-channel warp broken.
3. **Triangle points UP** — settles v-axis orientation. Upside-down = flipped v somewhere.
4. **Small square visible LEFT of center in LEFT eye only** — settles eye assignment.
5. **Binocular fusion** — grids from both eyes should fuse comfortably into one (this image has no canting/IPD compensation, so slight fusion offset expected — gross divergence is the failure).

Report what you see; rerun anytime with: `cd C:\Users\decid\sauna-spikes\s3-distortion-truth; .\s2_nvapi.exe present 120 --image warped_grid_599f3b91.raw`


<task-notification>
<task-id>btvah3yov</task-id>
<tool-use-id>toolu_01P8yMtDMh9DjahuAvuq5FWE</tool-use-id>
<output-file>C:\Users\decid\AppData\Local\Temp\claude\C--Users-decid-Documents-projects-sauna\e1077b85-f9e0-461b-b631-ddcce7ef7b3e\tasks\btvah3yov.output</output-file>
<status>completed</status>
<summary>Background command "Run eyes-in warped grid presentation on enlyzeam" completed (exit code 0)</summary>
</task-notification>


<owl_reachability_notice>
You have an active owl perch. When spawning subagents or doing work, use run_in_background: true so you stay reachable for incoming messages.
</owl_reachability_notice>


CAVEMAN MODE ACTIVE (full). Drop articles/filler/pleasantries/hedging. Fragments OK. Code/commits/security: write normal.


<system-reminder>[Truncated: PARTIAL view — showing lines 1-855 of 2020 total (50172 tokens, cap 25000). Call Read with offset=856 limit=855 for the next page, or Grep to find a specific section. Do NOT answer from this page alone if the answer may be further in the file.]</system-reminder>

1	EnableDirectMode(0x2709) = 0x0
2	EnumerateDirectModeDisplays count = 1 (status 0x0)
3	using displayId 0x80061080
4	mode[0]: 5088x2544 @ 75.000 Hz format=21 dscMode=0 dscVer=0 slices=0 bppx16=0
5	mode[1]: 5088x2544 @ 75.000 Hz format=22 dscMode=0 dscVer=0 slices=0 bppx16=0
6	mode[2]: 5088x2544 @ 75.000 Hz format=32 dscMode=0 dscVer=0 slices=0 bppx16=0
7	mode[3]: 5088x2544 @ 75.000 Hz format=31 dscMode=0 dscVer=0 slices=0 bppx16=0
8	mode[4]: 5088x2544 @ 75.000 Hz format=113 dscMode=0 dscVer=0 slices=0 bppx16=0
9	using mode[1]: 5088x2544 @ 75.000 Hz
10	forcing DSC 1.1, 4 slices, 8 bpp
11	AcquireDirectModeDisplay = 0x0
12	surface: 5088x2544 format=92
13	rtv format: 88
14	static image warped_grid_599f3b91.raw loaded into 2 surfaces
15	SetDisplayMode: HDCP disabled, ok
16	SetDisplayMode = 0x0
17	DisplayControl(POWER_ON) = 0x0
18	GetPresentWaitableObject = 0x0
19	  t=   4.0s frames=300 avg=74.74 fps
20	  t=   8.0s frames=600 avg=74.87 fps
21	  t=  12.0s frames=900 avg=74.91 fps
22	  t=  16.0s frames=1200 avg=74.93 fps
23	  t=  20.0s frames=1500 avg=74.95 fps
24	  t=  24.0s frames=1800 avg=74.96 fps
25	  t=  28.0s frames=2100 avg=74.96 fps
26	  t=  32.0s frames=2400 avg=74.97 fps
27	  t=  36.0s frames=2700 avg=74.97 fps
28	  t=  40.0s frames=3000 avg=74.97 fps
29	  t=  44.0s frames=3300 avg=74.98 fps
30	  t=  48.0s frames=3600 avg=74.98 fps
31	  t=  52.0s frames=3900 avg=74.98 fps
32	  t=  56.0s frames=4200 avg=74.98 fps
33	  t=  60.0s frames=4500 avg=74.98 fps
34	  t=  64.0s frames=4800 avg=74.98 fps
35	  t=  68.0s frames=5100 avg=74.98 fps
36	  t=  72.0s frames=5400 avg=74.98 fps
37	  t=  76.0s frames=5700 avg=74.98 fps
38	  t=  80.0s frames=6000 avg=74.99 fps
39	  t=  84.0s frames=6300 avg=74.99 fps
40	  t=  88.0s frames=6600 avg=74.99 fps
41	  t=  92.0s frames=6900 avg=74.99 fps
42	  t=  96.0s frames=7200 avg=74.99 fps
43	  t= 100.0s frames=7500 avg=74.99 fps
44	  t= 104.0s frames=7800 avg=74.99 fps
45	  t= 105.4s frames=8100 avg=76.85 fps
46	  t= 105.4s frames=8400 avg=79.69 fps
47	  t= 105.4s frames=8700 avg=82.53 fps
48	  t= 105.4s frames=9000 avg=85.38 fps
49	  t= 105.4s frames=9300 avg=88.22 fps
50	  t= 105.4s frames=9600 avg=91.06 fps
51	  t= 105.4s frames=9900 avg=93.91 fps
52	  t= 105.4s frames=10200 avg=96.75 fps
53	  t= 105.4s frames=10500 avg=99.59 fps
54	  t= 105.4s frames=10800 avg=102.44 fps
55	  t= 105.4s frames=11100 avg=105.28 fps
56	  t= 105.4s frames=11400 avg=108.12 fps
57	  t= 105.4s frames=11700 avg=110.96 fps
58	  t= 105.4s frames=12000 avg=113.81 fps
59	  t= 105.4s frames=12300 avg=116.65 fps
60	  t= 105.4s frames=12600 avg=119.49 fps
61	  t= 105.5s frames=12900 avg=122.33 fps
62	  t= 105.5s frames=13200 avg=125.17 fps
63	  t= 105.5s frames=13500 avg=128.01 fps
64	  t= 105.5s frames=13800 avg=130.86 fps
65	  t= 105.5s frames=14100 avg=133.70 fps
66	  t= 105.5s frames=14400 avg=136.54 fps
67	  t= 105.5s frames=14700 avg=139.38 fps
68	  t= 105.5s frames=15000 avg=142.22 fps
69	  t= 105.5s frames=15300 avg=145.06 fps
70	  t= 105.5s frames=15600 avg=147.90 fps
71	  t= 105.5s frames=15900 avg=150.74 fps
72	  t= 105.5s frames=16200 avg=153.58 fps
73	  t= 105.5s frames=16500 avg=156.42 fps
74	  t= 105.5s frames=16800 avg=159.26 fps
75	  t= 105.5s frames=17100 avg=162.10 fps
76	  t= 105.5s frames=17400 avg=164.93 fps
77	  t= 105.5s frames=17700 avg=167.77 fps
78	  t= 105.5s frames=18000 avg=170.61 fps
79	  t= 105.5s frames=18300 avg=173.45 fps
80	  t= 105.5s frames=18600 avg=176.29 fps
81	  t= 105.5s frames=18900 avg=179.13 fps
82	  t= 105.5s frames=19200 avg=181.96 fps
83	  t= 105.5s frames=19500 avg=184.80 fps
84	  t= 105.5s frames=19800 avg=187.64 fps
85	  t= 105.5s frames=20100 avg=190.47 fps
86	  t= 105.5s frames=20400 avg=193.31 fps
87	  t= 105.5s frames=20700 avg=196.15 fps
88	  t= 105.5s frames=21000 avg=198.99 fps
89	  t= 105.5s frames=21300 avg=201.82 fps
90	  t= 105.5s frames=21600 avg=204.66 fps
91	  t= 105.5s frames=21900 avg=207.50 fps
92	  t= 105.5s frames=22200 avg=210.34 fps
93	  t= 105.5s frames=22500 avg=213.17 fps
94	  t= 105.6s frames=22800 avg=216.01 fps
95	  t= 105.6s frames=23100 avg=218.84 fps
96	  t= 105.6s frames=23400 avg=221.68 fps
97	  t= 105.6s frames=23700 avg=224.52 fps
98	  t= 105.6s frames=24000 avg=227.35 fps
99	  t= 105.6s frames=24300 avg=230.19 fps
100	  t= 105.6s frames=24600 avg=233.02 fps
101	  t= 105.6s frames=24900 avg=235.86 fps
102	  t= 105.6s frames=25200 avg=238.69 fps
103	  t= 105.6s frames=25500 avg=241.46 fps
104	  t= 105.6s frames=25800 avg=244.29 fps
105	  t= 105.6s frames=26100 avg=247.08 fps
106	  t= 105.6s frames=26400 avg=249.91 fps
107	  t= 105.6s frames=26700 avg=252.74 fps
108	  t= 105.6s frames=27000 avg=255.57 fps
109	  t= 105.6s frames=27300 avg=258.40 fps
110	  t= 105.7s frames=27600 avg=261.23 fps
111	  t= 105.7s frames=27900 avg=264.06 fps
112	  t= 105.7s frames=28200 avg=266.90 fps
113	  t= 105.7s frames=28500 avg=269.73 fps
114	  t= 105.7s frames=28800 avg=272.56 fps
115	  t= 105.7s frames=29100 avg=275.39 fps
116	  t= 105.7s frames=29400 avg=278.22 fps
117	  t= 105.7s frames=29700 avg=281.05 fps
118	  t= 105.7s frames=30000 avg=283.88 fps
119	  t= 105.7s frames=30300 avg=286.71 fps
120	  t= 105.7s frames=30600 avg=289.54 fps
121	  t= 105.7s frames=30900 avg=292.37 fps
122	  t= 105.7s frames=31200 avg=295.20 fps
123	  t= 105.7s frames=31500 avg=298.03 fps
124	  t= 105.7s frames=31800 avg=300.86 fps
125	  t= 105.7s frames=32100 avg=303.69 fps
126	  t= 105.7s frames=32400 avg=306.52 fps
127	  t= 105.7s frames=32700 avg=309.35 fps
128	  t= 105.7s frames=33000 avg=312.18 fps
129	  t= 105.7s frames=33300 avg=315.00 fps
130	  t= 105.7s frames=33600 avg=317.83 fps
131	  t= 105.7s frames=33900 avg=320.66 fps
132	  t= 105.7s frames=34200 avg=323.49 fps
133	  t= 105.7s frames=34500 avg=326.32 fps
134	  t= 105.7s frames=34800 avg=329.15 fps
135	  t= 105.7s frames=35100 avg=331.97 fps
136	  t= 105.7s frames=35400 avg=334.80 fps
137	  t= 105.7s frames=35700 avg=337.63 fps
138	  t= 105.7s frames=36000 avg=340.46 fps
139	  t= 105.7s frames=36300 avg=343.28 fps
140	  t= 105.7s frames=36600 avg=346.11 fps
141	  t= 105.8s frames=36900 avg=348.93 fps
142	  t= 105.8s frames=37200 avg=351.76 fps
143	  t= 105.8s frames=37500 avg=354.58 fps
144	  t= 105.8s frames=37800 avg=357.41 fps
145	  t= 105.8s frames=38100 avg=360.23 fps
146	  t= 105.8s frames=38400 avg=363.06 fps
147	  t= 105.8s frames=38700 avg=365.88 fps
148	  t= 105.8s frames=39000 avg=368.71 fps
149	  t= 105.8s frames=39300 avg=371.53 fps
150	  t= 105.8s frames=39600 avg=374.36 fps
151	  t= 105.8s frames=39900 avg=377.18 fps
152	  t= 105.8s frames=40200 avg=380.01 fps
153	  t= 105.8s frames=40500 avg=382.83 fps
154	  t= 105.8s frames=40800 avg=385.66 fps
155	  t= 105.8s frames=41100 avg=388.47 fps
156	  t= 105.8s frames=41400 avg=391.30 fps
157	  t= 105.8s frames=41700 avg=394.12 fps
158	  t= 105.8s frames=42000 avg=396.95 fps
159	  t= 105.8s frames=42300 avg=399.77 fps
160	  t= 105.8s frames=42600 avg=402.59 fps
161	  t= 105.8s frames=42900 avg=405.42 fps
162	  t= 105.8s frames=43200 avg=408.24 fps
163	  t= 105.8s frames=43500 avg=411.06 fps
164	  t= 105.8s frames=43800 avg=413.88 fps
165	  t= 105.8s frames=44100 avg=416.69 fps
166	  t= 105.8s frames=44400 avg=419.51 fps
167	  t= 105.8s frames=44700 avg=422.33 fps
168	  t= 105.8s frames=45000 avg=425.15 fps
169	  t= 105.9s frames=45300 avg=427.92 fps
170	  t= 105.9s frames=45600 avg=430.74 fps
171	  t= 105.9s frames=45900 avg=433.56 fps
172	  t= 105.9s frames=46200 avg=436.38 fps
173	  t= 105.9s frames=46500 avg=439.15 fps
174	  t= 105.9s frames=46800 avg=441.97 fps
175	  t= 105.9s frames=47100 avg=444.79 fps
176	  t= 105.9s frames=47400 avg=447.61 fps
177	  t= 105.9s frames=47700 avg=450.43 fps
178	  t= 105.9s frames=48000 avg=453.25 fps
179	  t= 105.9s frames=48300 avg=456.07 fps
180	  t= 105.9s frames=48600 avg=458.89 fps
181	  t= 105.9s frames=48900 avg=461.71 fps
182	  t= 105.9s frames=49200 avg=464.53 fps
183	  t= 105.9s frames=49500 avg=467.34 fps
184	  t= 105.9s frames=49800 avg=470.16 fps
185	  t= 105.9s frames=50100 avg=472.97 fps
186	  t= 105.9s frames=50400 avg=475.79 fps
187	  t= 105.9s frames=50700 avg=478.61 fps
188	  t= 105.9s frames=51000 avg=481.39 fps
189	  t= 105.9s frames=51300 avg=484.20 fps
190	  t= 106.0s frames=51600 avg=487.02 fps
191	  t= 106.0s frames=51900 avg=489.83 fps
192	  t= 106.0s frames=52200 avg=492.65 fps
193	  t= 106.0s frames=52500 avg=495.42 fps
194	  t= 106.0s frames=52800 avg=498.23 fps
195	  t= 106.0s frames=53100 avg=501.05 fps
196	  t= 106.0s frames=53400 avg=503.86 fps
197	  t= 106.0s frames=53700 avg=506.68 fps
198	  t= 106.0s frames=54000 avg=509.50 fps
199	  t= 106.0s frames=54300 avg=512.31 fps
200	  t= 106.0s frames=54600 avg=515.13 fps
201	  t= 106.0s frames=54900 avg=517.94 fps
202	  t= 106.0s frames=55200 avg=520.76 fps
203	  t= 106.0s frames=55500 avg=523.57 fps
204	  t= 106.0s frames=55800 avg=526.38 fps
205	  t= 106.0s frames=56100 avg=529.20 fps
206	  t= 106.0s frames=56400 avg=532.01 fps
207	  t= 106.0s frames=56700 avg=534.83 fps
208	  t= 106.0s frames=57000 avg=537.64 fps
209	  t= 106.0s frames=57300 avg=540.45 fps
210	  t= 106.0s frames=57600 avg=543.25 fps
211	  t= 106.0s frames=57900 avg=546.07 fps
212	  t= 106.0s frames=58200 avg=548.88 fps
213	  t= 106.0s frames=58500 avg=551.69 fps
214	  t= 106.0s frames=58800 avg=554.50 fps
215	  t= 106.0s frames=59100 avg=557.32 fps
216	  t= 106.0s frames=59400 avg=560.12 fps
217	  t= 106.1s frames=59700 avg=562.93 fps
218	  t= 106.1s frames=60000 avg=565.74 fps
219	  t= 106.1s frames=60300 avg=568.55 fps
220	  t= 106.1s frames=60600 avg=571.36 fps
221	  t= 106.1s frames=60900 avg=574.17 fps
222	  t= 106.1s frames=61200 avg=576.98 fps
223	  t= 106.1s frames=61500 avg=579.79 fps
224	  t= 106.1s frames=61800 avg=582.60 fps
225	  t= 106.1s frames=62100 avg=585.41 fps
226	  t= 106.1s frames=62400 avg=588.22 fps
227	  t= 106.1s frames=62700 avg=591.03 fps
228	  t= 106.1s frames=63000 avg=593.84 fps
229	  t= 106.1s frames=63300 avg=596.65 fps
230	  t= 106.1s frames=63600 avg=599.46 fps
231	  t= 106.1s frames=63900 avg=602.27 fps
232	  t= 106.1s frames=64200 avg=605.06 fps
233	  t= 106.1s frames=64500 avg=607.87 fps
234	  t= 106.1s frames=64800 avg=610.68 fps
235	  t= 106.1s frames=65100 avg=613.49 fps
236	  t= 106.1s frames=65400 avg=616.30 fps
237	  t= 106.1s frames=65700 avg=619.11 fps
238	  t= 106.1s frames=66000 avg=621.92 fps
239	  t= 106.1s frames=66300 avg=624.68 fps
240	  t= 106.1s frames=66600 avg=627.49 fps
241	  t= 106.1s frames=66900 avg=630.30 fps
242	  t= 106.2s frames=67200 avg=633.05 fps
243	  t= 106.2s frames=67500 avg=635.86 fps
244	  t= 106.2s frames=67800 avg=638.66 fps
245	  t= 106.2s frames=68100 avg=641.46 fps
246	  t= 106.2s frames=68400 avg=644.27 fps
247	  t= 106.2s frames=68700 avg=647.08 fps
248	  t= 106.2s frames=69000 avg=649.88 fps
249	  t= 106.2s frames=69300 avg=652.69 fps
250	  t= 106.2s frames=69600 avg=655.48 fps
251	  t= 106.2s frames=69900 avg=658.29 fps
252	  t= 106.2s frames=70200 avg=661.09 fps
253	  t= 106.2s frames=70500 avg=663.89 fps
254	  t= 106.2s frames=70800 avg=666.69 fps
255	  t= 106.2s frames=71100 avg=669.49 fps
256	  t= 106.2s frames=71400 avg=672.29 fps
257	  t= 106.2s frames=71700 avg=675.10 fps
258	  t= 106.2s frames=72000 avg=677.90 fps
259	  t= 106.2s frames=72300 avg=680.71 fps
260	  t= 106.2s frames=72600 avg=683.51 fps
261	  t= 106.2s frames=72900 avg=686.32 fps
262	  t= 106.2s frames=73200 avg=689.12 fps
263	  t= 106.2s frames=73500 avg=691.92 fps
264	  t= 106.2s frames=73800 avg=694.68 fps
265	  t= 106.2s frames=74100 avg=697.49 fps
266	  t= 106.3s frames=74400 avg=700.23 fps
267	  t= 106.3s frames=74700 avg=702.97 fps
268	  t= 106.3s frames=75000 avg=705.72 fps
269	  t= 106.3s frames=75300 avg=708.48 fps
270	  t= 106.3s frames=75600 avg=711.29 fps
271	  t= 106.3s frames=75900 avg=714.08 fps
272	  t= 106.3s frames=76200 avg=716.82 fps
273	  t= 106.3s frames=76500 avg=719.62 fps
274	  t= 106.3s frames=76800 avg=722.42 fps
275	  t= 106.3s frames=77100 avg=725.22 fps
276	  t= 106.3s frames=77400 avg=728.02 fps
277	  t= 106.3s frames=77700 avg=730.82 fps
278	  t= 106.3s frames=78000 avg=733.57 fps
279	  t= 106.3s frames=78300 avg=736.28 fps
280	  t= 106.4s frames=78600 avg=739.02 fps
281	  t= 106.4s frames=78900 avg=741.81 fps
282	  t= 106.4s frames=79200 avg=744.61 fps
283	  t= 106.4s frames=79500 avg=747.40 fps
284	  t= 106.4s frames=79800 avg=750.20 fps
285	  t= 106.4s frames=80100 avg=753.00 fps
286	  t= 106.4s frames=80400 avg=755.80 fps
287	  t= 106.4s frames=80700 avg=758.59 fps
288	  t= 106.4s frames=81000 avg=761.39 fps
289	  t= 106.4s frames=81300 avg=764.19 fps
290	  t= 106.4s frames=81600 avg=766.99 fps
291	  t= 106.4s frames=81900 avg=769.78 fps
292	  t= 106.4s frames=82200 avg=772.58 fps
293	  t= 106.4s frames=82500 avg=775.32 fps
294	  t= 106.4s frames=82800 avg=778.12 fps
295	  t= 106.4s frames=83100 avg=780.85 fps
296	  t= 106.4s frames=83400 avg=783.64 fps
297	  t= 106.4s frames=83700 avg=786.38 fps
298	  t= 106.4s frames=84000 avg=789.11 fps
299	  t= 106.5s frames=84300 avg=791.90 fps
300	  t= 106.5s frames=84600 avg=794.59 fps
301	  t= 106.5s frames=84900 avg=797.38 fps
302	  t= 106.5s frames=85200 avg=800.11 fps
303	  t= 106.5s frames=85500 avg=802.63 fps
304	  t= 106.5s frames=85800 avg=805.42 fps
305	  t= 106.5s frames=86100 avg=808.10 fps
306	  t= 106.6s frames=86400 avg=810.83 fps
307	  t= 106.6s frames=86700 avg=813.52 fps
308	  t= 106.6s frames=87000 avg=816.11 fps
309	  t= 106.6s frames=87300 avg=818.89 fps
310	  t= 106.6s frames=87600 avg=821.49 fps
311	  t= 106.6s frames=87900 avg=824.23 fps
312	  t= 106.7s frames=88200 avg=826.95 fps
313	  t= 106.7s frames=88500 avg=829.68 fps
314	  t= 106.7s frames=88800 avg=832.46 fps
315	  t= 106.7s frames=89100 avg=835.19 fps
316	  t= 106.7s frames=89400 avg=837.97 fps
317	  t= 106.7s frames=89700 avg=840.70 fps
318	  t= 106.7s frames=90000 avg=843.41 fps
319	  t= 106.7s frames=90300 avg=846.14 fps
320	  t= 106.7s frames=90600 avg=848.86 fps
321	  t= 106.7s frames=90900 avg=851.58 fps
322	  t= 106.7s frames=91200 avg=854.36 fps
323	  t= 106.8s frames=91500 avg=857.07 fps
324	  t= 106.8s frames=91800 avg=859.80 fps
325	  t= 106.8s frames=92100 avg=862.58 fps
326	  t= 106.8s frames=92400 avg=865.29 fps
327	  t= 106.8s frames=92700 avg=868.02 fps
328	  t= 106.8s frames=93000 avg=870.74 fps
329	  t= 106.8s frames=93300 avg=873.47 fps
330	  t= 106.8s frames=93600 avg=876.18 fps
331	  t= 106.8s frames=93900 avg=878.90 fps
332	  t= 106.8s frames=94200 avg=881.68 fps
333	  t= 106.9s frames=94500 avg=884.39 fps
334	  t= 106.9s frames=94800 avg=887.12 fps
335	  t= 106.9s frames=95100 avg=889.89 fps
336	  t= 106.9s frames=95400 avg=892.56 fps
337	  t= 106.9s frames=95700 avg=895.34 fps
338	  t= 106.9s frames=96000 avg=898.04 fps
339	  t= 106.9s frames=96300 avg=900.77 fps
340	  t= 106.9s frames=96600 avg=903.49 fps
341	  t= 106.9s frames=96900 avg=906.21 fps
342	  t= 106.9s frames=97200 avg=908.99 fps
343	  t= 106.9s frames=97500 avg=911.64 fps
344	  t= 107.0s frames=97800 avg=914.41 fps
345	  t= 107.0s frames=98100 avg=917.06 fps
346	  t= 107.0s frames=98400 avg=919.83 fps
347	  t= 107.0s frames=98700 avg=922.54 fps
348	  t= 107.0s frames=99000 avg=925.26 fps
349	  t= 107.0s frames=99300 avg=928.04 fps
350	  t= 107.0s frames=99600 avg=930.70 fps
351	  t= 107.0s frames=99900 avg=933.47 fps
352	  t= 107.0s frames=100200 avg=936.17 fps
353	  t= 107.0s frames=100500 avg=938.89 fps
354	  t= 107.1s frames=100800 avg=941.58 fps
355	  t= 107.1s frames=101100 avg=944.35 fps
356	  t= 107.1s frames=101400 avg=947.05 fps
357	  t= 107.1s frames=101700 avg=949.62 fps
358	  t= 107.1s frames=102000 avg=952.39 fps
359	  t= 107.1s frames=102300 avg=955.16 fps
360	  t= 107.1s frames=102600 avg=957.92 fps
361	  t= 107.1s frames=102900 avg=960.68 fps
362	  t= 107.1s frames=103200 avg=963.45 fps
363	  t= 107.1s frames=103500 avg=966.22 fps
364	  t= 107.1s frames=103800 avg=968.92 fps
365	  t= 107.1s frames=104100 avg=971.70 fps
366	  t= 107.1s frames=104400 avg=974.47 fps
367	  t= 107.1s frames=104700 avg=977.24 fps
368	  t= 107.1s frames=105000 avg=980.01 fps
369	  t= 107.1s frames=105300 avg=982.78 fps
370	  t= 107.2s frames=105600 avg=985.40 fps
371	  t= 107.2s frames=105900 avg=988.16 fps
372	  t= 107.2s frames=106200 avg=990.85 fps
373	  t= 107.2s frames=106500 avg=993.56 fps
374	  t= 107.2s frames=106800 avg=996.33 fps
375	  t= 107.2s frames=107100 avg=999.01 fps
376	  t= 107.2s frames=107400 avg=1001.78 fps
377	  t= 107.2s frames=107700 avg=1004.54 fps
378	  t= 107.2s frames=108000 avg=1007.31 fps
379	  t= 107.2s frames=108300 avg=1010.08 fps
380	  t= 107.2s frames=108600 avg=1012.84 fps
381	  t= 107.2s frames=108900 avg=1015.60 fps
382	  t= 107.2s frames=109200 avg=1018.36 fps
383	  t= 107.2s frames=109500 avg=1021.13 fps
384	  t= 107.2s frames=109800 avg=1023.89 fps
385	  t= 107.2s frames=110100 avg=1026.65 fps
386	  t= 107.2s frames=110400 avg=1029.42 fps
387	  t= 107.2s frames=110700 avg=1032.17 fps
388	  t= 107.3s frames=111000 avg=1034.94 fps
389	  t= 107.3s frames=111300 avg=1037.70 fps
390	  t= 107.3s frames=111600 avg=1040.46 fps
391	  t= 107.3s frames=111900 avg=1043.22 fps
392	  t= 107.3s frames=112200 avg=1045.99 fps
393	  t= 107.3s frames=112500 avg=1048.75 fps
394	  t= 107.3s frames=112800 avg=1051.52 fps
395	  t= 107.3s frames=113100 avg=1054.29 fps
396	  t= 107.3s frames=113400 avg=1057.05 fps
397	  t= 107.3s frames=113700 avg=1059.81 fps
398	  t= 107.3s frames=114000 avg=1062.58 fps
399	  t= 107.3s frames=114300 avg=1065.34 fps
400	  t= 107.3s frames=114600 avg=1068.09 fps
401	  t= 107.3s frames=114900 avg=1070.85 fps
402	  t= 107.3s frames=115200 avg=1073.61 fps
403	  t= 107.3s frames=115500 avg=1076.37 fps
404	  t= 107.3s frames=115800 avg=1079.13 fps
405	  t= 107.3s frames=116100 avg=1081.90 fps
406	  t= 107.3s frames=116400 avg=1084.66 fps
407	  t= 107.3s frames=116700 avg=1087.42 fps
408	  t= 107.3s frames=117000 avg=1090.19 fps
409	  t= 107.3s frames=117300 avg=1092.95 fps
410	  t= 107.3s frames=117600 avg=1095.71 fps
411	  t= 107.3s frames=117900 avg=1098.47 fps
412	  t= 107.3s frames=118200 avg=1101.24 fps
413	  t= 107.3s frames=118500 avg=1104.00 fps
414	  t= 107.3s frames=118800 avg=1106.76 fps
415	  t= 107.3s frames=119100 avg=1109.53 fps
416	  t= 107.3s frames=119400 avg=1112.30 fps
417	  t= 107.3s frames=119700 avg=1115.07 fps
418	  t= 107.4s frames=120000 avg=1117.83 fps
419	  t= 107.4s frames=120300 avg=1120.59 fps
420	  t= 107.4s frames=120600 avg=1123.35 fps
421	  t= 107.4s frames=120900 avg=1126.11 fps
422	  t= 107.4s frames=121200 avg=1128.86 fps
423	  t= 107.4s frames=121500 avg=1131.63 fps
424	  t= 107.4s frames=121800 avg=1134.38 fps
425	  t= 107.4s frames=122100 avg=1137.15 fps
426	  t= 107.4s frames=122400 avg=1139.91 fps
427	  t= 107.4s frames=122700 avg=1142.67 fps
428	  t= 107.4s frames=123000 avg=1145.44 fps
429	  t= 107.4s frames=123300 avg=1148.20 fps
430	  t= 107.4s frames=123600 avg=1150.96 fps
431	  t= 107.4s frames=123900 avg=1153.73 fps
432	  t= 107.4s frames=124200 avg=1156.49 fps
433	  t= 107.4s frames=124500 avg=1159.25 fps
434	  t= 107.4s frames=124800 avg=1162.02 fps
435	  t= 107.4s frames=125100 avg=1164.78 fps
436	  t= 107.4s frames=125400 avg=1167.54 fps
437	  t= 107.4s frames=125700 avg=1170.28 fps
438	  t= 107.4s frames=126000 avg=1173.04 fps
439	  t= 107.4s frames=126300 avg=1175.80 fps
440	  t= 107.4s frames=126600 avg=1178.55 fps
441	  t= 107.4s frames=126900 avg=1181.17 fps
442	  t= 107.5s frames=127200 avg=1183.75 fps
443	  t= 107.5s frames=127500 avg=1186.45 fps
444	  t= 107.5s frames=127800 avg=1189.18 fps
445	  t= 107.5s frames=128100 avg=1191.90 fps
446	  t= 107.5s frames=128400 avg=1194.61 fps
447	  t= 107.5s frames=128700 avg=1197.35 fps
448	  t= 107.5s frames=129000 avg=1200.04 fps
449	  t= 107.5s frames=129300 avg=1202.76 fps
450	  t= 107.5s frames=129600 avg=1205.45 fps
451	  t= 107.5s frames=129900 avg=1208.16 fps
452	  t= 107.5s frames=130200 avg=1210.90 fps
453	  t= 107.5s frames=130500 avg=1213.66 fps
454	  t= 107.5s frames=130800 avg=1216.41 fps
455	  t= 107.5s frames=131100 avg=1219.17 fps
456	  t= 107.5s frames=131400 avg=1221.91 fps
457	  t= 107.5s frames=131700 avg=1224.65 fps
458	  t= 107.5s frames=132000 avg=1227.40 fps
459	  t= 107.5s frames=132300 avg=1230.16 fps
460	  t= 107.6s frames=132600 avg=1232.90 fps
461	  t= 107.6s frames=132900 avg=1235.65 fps
462	  t= 107.6s frames=133200 avg=1238.40 fps
463	  t= 107.6s frames=133500 avg=1241.15 fps
464	  t= 107.6s frames=133800 avg=1243.90 fps
465	  t= 107.6s frames=134100 avg=1246.66 fps
466	  t= 107.6s frames=134400 avg=1249.41 fps
467	  t= 107.6s frames=134700 avg=1252.17 fps
468	  t= 107.6s frames=135000 avg=1254.93 fps
469	  t= 107.6s frames=135300 avg=1257.69 fps
470	  t= 107.6s frames=135600 avg=1260.44 fps
471	  t= 107.6s frames=135900 avg=1263.19 fps
472	  t= 107.6s frames=136200 avg=1265.94 fps
473	  t= 107.6s frames=136500 avg=1268.70 fps
474	  t= 107.6s frames=136800 avg=1271.46 fps
475	  t= 107.6s frames=137100 avg=1274.22 fps
476	  t= 107.6s frames=137400 avg=1276.96 fps
477	  t= 107.6s frames=137700 avg=1279.72 fps
478	  t= 107.6s frames=138000 avg=1282.47 fps
479	  t= 107.6s frames=138300 avg=1285.23 fps
480	  t= 107.6s frames=138600 avg=1287.99 fps
481	  t= 107.6s frames=138900 avg=1290.75 fps
482	  t= 107.6s frames=139200 avg=1293.49 fps
483	  t= 107.6s frames=139500 avg=1296.25 fps
484	  t= 107.6s frames=139800 avg=1299.00 fps
485	  t= 107.6s frames=140100 avg=1301.75 fps
486	  t= 107.6s frames=140400 avg=1304.51 fps
487	  t= 107.6s frames=140700 avg=1307.24 fps
488	  t= 107.6s frames=141000 avg=1310.00 fps
489	  t= 107.6s frames=141300 avg=1312.75 fps
490	  t= 107.6s frames=141600 avg=1315.50 fps
491	  t= 107.6s frames=141900 avg=1318.26 fps
492	  t= 107.6s frames=142200 avg=1321.01 fps
493	  t= 107.6s frames=142500 avg=1323.76 fps
494	  t= 107.7s frames=142800 avg=1326.50 fps
495	  t= 107.7s frames=143100 avg=1329.25 fps
496	  t= 107.7s frames=143400 avg=1332.00 fps
497	  t= 107.7s frames=143700 avg=1334.75 fps
498	  t= 107.7s frames=144000 avg=1337.50 fps
499	  t= 107.7s frames=144300 avg=1340.25 fps
500	  t= 107.7s frames=144600 avg=1343.00 fps
501	  t= 107.7s frames=144900 avg=1345.75 fps
502	  t= 107.7s frames=145200 avg=1348.47 fps
503	  t= 107.7s frames=145500 avg=1351.20 fps
504	  t= 107.7s frames=145800 avg=1353.95 fps
505	  t= 107.7s frames=146100 avg=1356.70 fps
506	  t= 107.7s frames=146400 avg=1359.45 fps
507	  t= 107.7s frames=146700 avg=1362.20 fps
508	  t= 107.7s frames=147000 avg=1364.94 fps
509	  t= 107.7s frames=147300 avg=1367.69 fps
510	  t= 107.7s frames=147600 avg=1370.44 fps
511	  t= 107.7s frames=147900 avg=1373.17 fps
512	  t= 107.7s frames=148200 avg=1375.92 fps
513	  t= 107.7s frames=148500 avg=1378.67 fps
514	  t= 107.7s frames=148800 avg=1381.42 fps
515	  t= 107.7s frames=149100 avg=1384.17 fps
516	  t= 107.7s frames=149400 avg=1386.93 fps
517	  t= 107.7s frames=149700 avg=1389.66 fps
518	  t= 107.7s frames=150000 avg=1392.40 fps
519	  t= 107.7s frames=150300 avg=1395.14 fps
520	  t= 107.7s frames=150600 avg=1397.88 fps
521	  t= 107.7s frames=150900 avg=1400.63 fps
522	  t= 107.7s frames=151200 avg=1403.37 fps
523	  t= 107.7s frames=151500 avg=1406.12 fps
524	  t= 107.7s frames=151800 avg=1408.87 fps
525	  t= 107.7s frames=152100 avg=1411.62 fps
526	  t= 107.8s frames=152400 avg=1414.37 fps
527	  t= 107.8s frames=152700 avg=1417.11 fps
528	  t= 107.8s frames=153000 avg=1419.85 fps
529	  t= 107.8s frames=153300 avg=1422.60 fps
530	  t= 107.8s frames=153600 avg=1425.35 fps
531	  t= 107.8s frames=153900 avg=1428.10 fps
532	  t= 107.8s frames=154200 avg=1430.84 fps
533	  t= 107.8s frames=154500 avg=1433.59 fps
534	  t= 107.8s frames=154800 avg=1436.34 fps
535	  t= 107.8s frames=155100 avg=1439.09 fps
536	  t= 107.8s frames=155400 avg=1441.84 fps
537	  t= 107.8s frames=155700 avg=1444.59 fps
538	  t= 107.8s frames=156000 avg=1447.33 fps
539	  t= 107.8s frames=156300 avg=1450.07 fps
540	  t= 107.8s frames=156600 avg=1452.82 fps
541	  t= 107.8s frames=156900 avg=1455.56 fps
542	  t= 107.8s frames=157200 avg=1458.31 fps
543	  t= 107.8s frames=157500 avg=1461.06 fps
544	  t= 107.8s frames=157800 avg=1463.79 fps
545	  t= 107.8s frames=158100 avg=1466.54 fps
546	  t= 107.8s frames=158400 avg=1469.28 fps
547	  t= 107.8s frames=158700 avg=1472.03 fps
548	  t= 107.8s frames=159000 avg=1474.78 fps
549	  t= 107.8s frames=159300 avg=1477.52 fps
550	  t= 107.8s frames=159600 avg=1480.26 fps
551	  t= 107.8s frames=159900 avg=1483.01 fps
552	  t= 107.8s frames=160200 avg=1485.74 fps
553	  t= 107.8s frames=160500 avg=1488.48 fps
554	  t= 107.8s frames=160800 avg=1491.21 fps
555	  t= 107.8s frames=161100 avg=1493.94 fps
556	  t= 107.8s frames=161400 avg=1496.67 fps
557	  t= 107.8s frames=161700 avg=1499.40 fps
558	  t= 107.8s frames=162000 avg=1502.14 fps
559	  t= 107.9s frames=162300 avg=1504.85 fps
560	  t= 107.9s frames=162600 avg=1507.59 fps
561	  t= 107.9s frames=162900 avg=1510.33 fps
562	  t= 107.9s frames=163200 avg=1513.02 fps
563	  t= 107.9s frames=163500 avg=1515.69 fps
564	  t= 107.9s frames=163800 avg=1518.31 fps
565	  t= 107.9s frames=164100 avg=1521.02 fps
566	  t= 107.9s frames=164400 avg=1523.62 fps
567	  t= 107.9s frames=164700 avg=1526.34 fps
568	  t= 107.9s frames=165000 avg=1529.07 fps
569	  t= 107.9s frames=165300 avg=1531.80 fps
570	  t= 107.9s frames=165600 avg=1534.54 fps
571	  t= 107.9s frames=165900 avg=1537.25 fps
572	  t= 107.9s frames=166200 avg=1539.96 fps
573	  t= 107.9s frames=166500 avg=1542.67 fps
574	  t= 107.9s frames=166800 avg=1545.38 fps
575	  t= 107.9s frames=167100 avg=1548.09 fps
576	  t= 107.9s frames=167400 avg=1550.76 fps
577	  t= 108.0s frames=167700 avg=1553.47 fps
578	  t= 108.0s frames=168000 avg=1556.19 fps
579	  t= 108.0s frames=168300 avg=1558.90 fps
580	  t= 108.0s frames=168600 avg=1561.56 fps
581	  t= 108.0s frames=168900 avg=1564.22 fps
582	  t= 108.0s frames=169200 avg=1566.89 fps
583	  t= 108.0s frames=169500 avg=1569.54 fps
584	  t= 108.0s frames=169800 avg=1572.13 fps
585	  t= 108.0s frames=170100 avg=1574.82 fps
586	  t= 108.0s frames=170400 avg=1577.53 fps
587	  t= 108.0s frames=170700 avg=1580.17 fps
588	  t= 108.0s frames=171000 avg=1582.88 fps
589	  t= 108.0s frames=171300 avg=1585.56 fps
590	  t= 108.0s frames=171600 avg=1588.25 fps
591	  t= 108.1s frames=171900 avg=1590.92 fps
592	  t= 108.1s frames=172200 avg=1593.60 fps
593	  t= 108.1s frames=172500 avg=1596.30 fps
594	  t= 108.1s frames=172800 avg=1598.93 fps
595	  t= 108.1s frames=173100 avg=1601.56 fps
596	  t= 108.1s frames=173400 avg=1604.20 fps
597	  t= 108.1s frames=173700 avg=1606.62 fps
598	  t= 108.1s frames=174000 avg=1609.07 fps
599	  t= 108.2s frames=174300 avg=1611.16 fps
600	  t= 108.2s frames=174600 avg=1613.79 fps
601	  t= 108.2s frames=174900 avg=1616.34 fps
602	  t= 108.2s frames=175200 avg=1619.02 fps
603	  t= 108.2s frames=175500 avg=1621.51 fps
604	  t= 108.3s frames=175800 avg=1623.68 fps
605	  t= 108.3s frames=176100 avg=1626.23 fps
606	  t= 108.3s frames=176400 avg=1628.65 fps
607	  t= 108.3s frames=176700 avg=1631.29 fps
608	  t= 108.4s frames=177000 avg=1633.50 fps
609	  t= 108.4s frames=177300 avg=1636.16 fps
610	  t= 108.4s frames=177600 avg=1638.84 fps
611	  t= 108.4s frames=177900 avg=1641.53 fps
612	  t= 108.4s frames=178200 avg=1644.24 fps
613	  t= 108.4s frames=178500 avg=1646.93 fps
614	  t= 108.4s frames=178800 avg=1649.59 fps
615	  t= 108.4s frames=179100 avg=1652.27 fps
616	  t= 108.4s frames=179400 avg=1654.96 fps
617	  t= 108.4s frames=179700 avg=1657.65 fps
618	  t= 108.4s frames=180000 avg=1660.33 fps
619	  t= 108.4s frames=180300 avg=1663.00 fps
620	  t= 108.4s frames=180600 avg=1665.69 fps
621	  t= 108.4s frames=180900 avg=1668.36 fps
622	  t= 108.4s frames=181200 avg=1671.02 fps
623	  t= 108.4s frames=181500 avg=1673.69 fps
624	  t= 108.4s frames=181800 avg=1676.39 fps
625	  t= 108.5s frames=182100 avg=1679.09 fps
626	  t= 108.5s frames=182400 avg=1681.79 fps
627	  t= 108.5s frames=182700 avg=1684.49 fps
628	  t= 108.5s frames=183000 avg=1687.20 fps
629	  t= 108.5s frames=183300 avg=1689.86 fps
630	  t= 108.5s frames=183600 avg=1692.56 fps
631	  t= 108.5s frames=183900 avg=1695.26 fps
632	  t= 108.5s frames=184200 avg=1697.97 fps
633	  t= 108.5s frames=184500 avg=1700.66 fps
634	  t= 108.5s frames=184800 avg=1703.31 fps
635	  t= 108.5s frames=185100 avg=1705.99 fps
636	  t= 108.5s frames=185400 avg=1708.67 fps
637	  t= 108.5s frames=185700 avg=1711.35 fps
638	  t= 108.5s frames=186000 avg=1714.06 fps
639	  t= 108.5s frames=186300 avg=1716.76 fps
640	  t= 108.5s frames=186600 avg=1719.48 fps
641	  t= 108.5s frames=186900 avg=1722.18 fps
642	  t= 108.5s frames=187200 avg=1724.87 fps
643	  t= 108.5s frames=187500 avg=1727.57 fps
644	  t= 108.5s frames=187800 avg=1730.27 fps
645	  t= 108.5s frames=188100 avg=1732.99 fps
646	  t= 108.5s frames=188400 avg=1735.71 fps
647	  t= 108.5s frames=188700 avg=1738.39 fps
648	  t= 108.6s frames=189000 avg=1741.06 fps
649	  t= 108.6s frames=189300 avg=1743.75 fps
650	  t= 108.6s frames=189600 avg=1746.43 fps
651	  t= 108.6s frames=189900 avg=1749.11 fps
652	  t= 108.6s frames=190200 avg=1751.82 fps
653	  t= 108.6s frames=190500 avg=1754.52 fps
654	  t= 108.6s frames=190800 avg=1757.21 fps
655	  t= 108.6s frames=191100 avg=1759.88 fps
656	  t= 108.6s frames=191400 avg=1762.56 fps
657	  t= 108.6s frames=191700 avg=1765.27 fps
658	  t= 108.6s frames=192000 avg=1767.95 fps
659	  t= 108.6s frames=192300 avg=1770.66 fps
660	  t= 108.6s frames=192600 avg=1773.37 fps
661	  t= 108.6s frames=192900 avg=1776.07 fps
662	  t= 108.6s frames=193200 avg=1778.75 fps
663	  t= 108.6s frames=193500 avg=1781.43 fps
664	  t= 108.6s frames=193800 avg=1784.14 fps
665	  t= 108.6s frames=194100 avg=1786.82 fps
666	  t= 108.6s frames=194400 avg=1789.47 fps
667	  t= 108.6s frames=194700 avg=1792.17 fps
668	  t= 108.6s frames=195000 avg=1794.84 fps
669	  t= 108.7s frames=195300 avg=1797.51 fps
670	  t= 108.7s frames=195600 avg=1800.18 fps
671	  t= 108.7s frames=195900 avg=1802.80 fps
672	  t= 108.7s frames=196200 avg=1805.47 fps
673	  t= 108.7s frames=196500 avg=1808.18 fps
674	  t= 108.7s frames=196800 avg=1810.88 fps
675	  t= 108.7s frames=197100 avg=1813.56 fps
676	  t= 108.7s frames=197400 avg=1816.24 fps
677	  t= 108.7s frames=197700 avg=1818.94 fps
678	  t= 108.7s frames=198000 avg=1821.60 fps
679	  t= 108.7s frames=198300 avg=1824.29 fps
680	  t= 108.7s frames=198600 avg=1826.95 fps
681	  t= 108.7s frames=198900 avg=1829.66 fps
682	  t= 108.7s frames=199200 avg=1832.38 fps
683	  t= 108.7s frames=199500 avg=1835.09 fps
684	  t= 108.7s frames=199800 avg=1837.76 fps
685	  t= 108.7s frames=200100 avg=1840.45 fps
686	  t= 108.7s frames=200400 avg=1843.16 fps
687	  t= 108.7s frames=200700 avg=1845.87 fps
688	  t= 108.7s frames=201000 avg=1848.57 fps
689	  t= 108.7s frames=201300 avg=1851.24 fps
690	  t= 108.7s frames=201600 avg=1853.94 fps
691	  t= 108.7s frames=201900 avg=1856.62 fps
692	  t= 108.8s frames=202200 avg=1859.29 fps
693	  t= 108.8s frames=202500 avg=1861.98 fps
694	  t= 108.8s frames=202800 avg=1864.65 fps
695	  t= 108.8s frames=203100 avg=1867.33 fps
696	  t= 108.8s frames=203400 avg=1869.99 fps
697	  t= 108.8s frames=203700 avg=1872.69 fps
698	  t= 108.8s frames=204000 avg=1875.40 fps
699	  t= 108.8s frames=204300 avg=1878.11 fps
700	  t= 108.8s frames=204600 avg=1880.81 fps
701	  t= 108.8s frames=204900 avg=1883.52 fps
702	  t= 108.8s frames=205200 avg=1886.21 fps
703	  t= 108.8s frames=205500 avg=1888.92 fps
704	  t= 108.8s frames=205800 avg=1891.63 fps
705	  t= 108.8s frames=206100 avg=1894.34 fps
706	  t= 108.8s frames=206400 avg=1897.05 fps
707	  t= 108.8s frames=206700 avg=1899.75 fps
708	  t= 108.8s frames=207000 avg=1902.46 fps
709	  t= 108.8s frames=207300 avg=1905.12 fps
710	  t= 108.8s frames=207600 avg=1907.80 fps
711	  t= 108.8s frames=207900 avg=1910.51 fps
712	  t= 108.8s frames=208200 avg=1913.22 fps
713	  t= 108.8s frames=208500 avg=1915.93 fps
714	  t= 108.8s frames=208800 avg=1918.64 fps
715	  t= 108.8s frames=209100 avg=1921.34 fps
716	  t= 108.8s frames=209400 avg=1924.02 fps
717	  t= 108.8s frames=209700 avg=1926.72 fps
718	  t= 108.8s frames=210000 avg=1929.43 fps
719	  t= 108.8s frames=210300 avg=1932.14 fps
720	  t= 108.8s frames=210600 avg=1934.85 fps
721	  t= 108.8s frames=210900 avg=1937.56 fps
722	  t= 108.9s frames=211200 avg=1940.25 fps
723	  t= 108.9s frames=211500 avg=1942.96 fps
724	  t= 108.9s frames=211800 avg=1945.66 fps
725	  t= 108.9s frames=212100 avg=1948.33 fps
726	  t= 108.9s frames=212400 avg=1950.99 fps
727	  t= 108.9s frames=212700 avg=1953.65 fps
728	  t= 108.9s frames=213000 avg=1956.31 fps
729	  t= 108.9s frames=213300 avg=1958.99 fps
730	  t= 108.9s frames=213600 avg=1961.69 fps
731	  t= 108.9s frames=213900 avg=1964.40 fps
732	  t= 108.9s frames=214200 avg=1967.09 fps
733	  t= 108.9s frames=214500 avg=1969.80 fps
734	  t= 108.9s frames=214800 avg=1972.49 fps
735	  t= 108.9s frames=215100 avg=1975.19 fps
736	  t= 108.9s frames=215400 avg=1977.89 fps
737	  t= 108.9s frames=215700 avg=1980.60 fps
738	  t= 108.9s frames=216000 avg=1983.31 fps
739	  t= 108.9s frames=216300 avg=1986.00 fps
740	  t= 108.9s frames=216600 avg=1988.66 fps
741	  t= 108.9s frames=216900 avg=1991.34 fps
742	  t= 108.9s frames=217200 avg=1994.04 fps
743	  t= 108.9s frames=217500 avg=1996.75 fps
744	  t= 108.9s frames=217800 avg=1999.46 fps
745	  t= 108.9s frames=218100 avg=2002.16 fps
746	  t= 108.9s frames=218400 avg=2004.87 fps
747	  t= 108.9s frames=218700 avg=2007.58 fps
748	  t= 108.9s frames=219000 avg=2010.29 fps
749	  t= 108.9s frames=219300 avg=2012.99 fps
750	  t= 108.9s frames=219600 avg=2015.69 fps
751	  t= 108.9s frames=219900 avg=2018.39 fps
752	  t= 109.0s frames=220200 avg=2021.09 fps
753	  t= 109.0s frames=220500 avg=2023.79 fps
754	  t= 109.0s frames=220800 avg=2026.50 fps
755	  t= 109.0s frames=221100 avg=2029.20 fps
756	  t= 109.0s frames=221400 avg=2031.88 fps
757	  t= 109.0s frames=221700 avg=2034.57 fps
758	  t= 109.0s frames=222000 avg=2037.27 fps
759	  t= 109.0s frames=222300 avg=2039.98 fps
760	  t= 109.0s frames=222600 avg=2042.68 fps
761	  t= 109.0s frames=222900 avg=2045.39 fps
762	  t= 109.0s frames=223200 avg=2048.09 fps
763	  t= 109.0s frames=223500 avg=2050.79 fps
764	  t= 109.0s frames=223800 avg=2053.49 fps
765	  t= 109.0s frames=224100 avg=2056.19 fps
766	  t= 109.0s frames=224400 avg=2058.87 fps
767	  t= 109.0s frames=224700 avg=2061.58 fps
768	  t= 109.0s frames=225000 avg=2064.28 fps
769	  t= 109.0s frames=225300 avg=2066.99 fps
770	  t= 109.0s frames=225600 avg=2069.69 fps
771	  t= 109.0s frames=225900 avg=2072.39 fps
772	  t= 109.0s frames=226200 avg=2075.09 fps
773	  t= 109.0s frames=226500 avg=2077.80 fps
774	  t= 109.0s frames=226800 avg=2080.50 fps
775	  t= 109.0s frames=227100 avg=2083.21 fps
776	  t= 109.0s frames=227400 avg=2085.92 fps
777	  t= 109.0s frames=227700 avg=2088.62 fps
778	  t= 109.0s frames=228000 avg=2091.32 fps
779	  t= 109.0s frames=228300 avg=2094.01 fps
780	  t= 109.0s frames=228600 avg=2096.71 fps
781	  t= 109.0s frames=228900 avg=2099.41 fps
782	  t= 109.0s frames=229200 avg=2102.10 fps
783	  t= 109.0s frames=229500 avg=2104.80 fps
784	  t= 109.0s frames=229800 avg=2107.46 fps
785	  t= 109.0s frames=230100 avg=2110.10 fps
786	  t= 109.1s frames=230400 avg=2112.78 fps
787	  t= 109.1s frames=230700 avg=2115.48 fps
788	  t= 109.1s frames=231000 avg=2118.17 fps
789	  t= 109.1s frames=231300 avg=2120.88 fps
790	  t= 109.1s frames=231600 avg=2123.58 fps
791	  t= 109.1s frames=231900 avg=2126.28 fps
792	  t= 109.1s frames=232200 avg=2128.97 fps
793	  t= 109.1s frames=232500 avg=2131.67 fps
794	  t= 109.1s frames=232800 avg=2134.36 fps
795	  t= 109.1s frames=233100 avg=2137.06 fps
796	  t= 109.1s frames=233400 avg=2139.76 fps
797	  t= 109.1s frames=233700 avg=2142.46 fps
798	  t= 109.1s frames=234000 avg=2145.16 fps
799	  t= 109.1s frames=234300 avg=2147.87 fps
800	  t= 109.1s frames=234600 avg=2150.56 fps
801	  t= 109.1s frames=234900 avg=2153.26 fps
802	  t= 109.1s frames=235200 avg=2155.95 fps
803	  t= 109.1s frames=235500 avg=2158.65 fps
804	  t= 109.1s frames=235800 avg=2161.34 fps
805	  t= 109.1s frames=236100 avg=2164.03 fps
806	  t= 109.1s frames=236400 avg=2166.73 fps
807	  t= 109.1s frames=236700 avg=2169.42 fps
808	  t= 109.1s frames=237000 avg=2172.11 fps
809	  t= 109.1s frames=237300 avg=2174.81 fps
810	  t= 109.1s frames=237600 avg=2177.50 fps
811	  t= 109.1s frames=237900 avg=2180.19 fps
812	  t= 109.1s frames=238200 avg=2182.89 fps
813	  t= 109.1s frames=238500 avg=2185.59 fps
814	  t= 109.1s frames=238800 avg=2188.29 fps
815	  t= 109.1s frames=239100 avg=2190.99 fps
816	  t= 109.1s frames=239400 avg=2193.69 fps
817	  t= 109.1s frames=239700 avg=2196.38 fps
818	  t= 109.1s frames=240000 avg=2199.07 fps
819	  t= 109.1s frames=240300 avg=2201.77 fps
820	  t= 109.1s frames=240600 avg=2204.47 fps
821	  t= 109.1s frames=240900 avg=2207.17 fps
822	  t= 109.1s frames=241200 avg=2209.86 fps
823	  t= 109.2s frames=241500 avg=2212.52 fps
824	  t= 109.2s frames=241800 avg=2215.17 fps
825	  t= 109.2s frames=242100 avg=2217.86 fps
826	  t= 109.2s frames=242400 avg=2220.54 fps
827	  t= 109.2s frames=242700 avg=2223.22 fps
828	  t= 109.2s frames=243000 avg=2225.92 fps
829	  t= 109.2s frames=243300 avg=2228.62 fps
830	  t= 109.2s frames=243600 avg=2231.31 fps
831	  t= 109.2s frames=243900 avg=2234.01 fps
832	  t= 109.2s frames=244200 avg=2236.70 fps
833	  t= 109.2s frames=244500 avg=2239.38 fps
834	  t= 109.2s frames=244800 avg=2242.06 fps
835	  t= 109.2s frames=245100 avg=2244.75 fps
836	  t= 109.2s frames=245400 avg=2247.45 fps
837	  t= 109.2s frames=245700 avg=2250.14 fps
838	  t= 109.2s frames=246000 avg=2252.83 fps
839	  t= 109.2s frames=246300 avg=2255.53 fps
840	  t= 109.2s frames=246600 avg=2258.22 fps
841	  t= 109.2s frames=246900 avg=2260.92 fps
842	  t= 109.2s frames=247200 avg=2263.62 fps
843	  t= 109.2s frames=247500 avg=2266.31 fps
844	  t= 109.2s frames=247800 avg=2268.99 fps
845	  t= 109.2s frames=248100 avg=2271.68 fps
846	  t= 109.2s frames=248400 avg=2274.37 fps
847	  t= 109.2s frames=248700 avg=2277.07 fps
848	  t= 109.2s frames=249000 avg=2279.76 fps
849	  t= 109.2s frames=249300 avg=2282.45 fps
850	  t= 109.2s frames=249600 avg=2285.11 fps
851	  t= 109.2s frames=249900 avg=2287.78 fps
852	  t= 109.2s frames=250200 avg=2290.45 fps
853	  t= 109.2s frames=250500 avg=2293.12 fps
854	  t= 109.2s frames=250800 avg=2295.79 fps
855	  t= 109.2s frames=251100 avg=2298.48 fps

EnableDirectMode(0x2709) = 0x0
EnumerateDirectModeDisplays count = 1 (status 0x0)
using displayId 0x80061080
mode[0]: 5088x2544 @ 75.000 Hz format=21 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[1]: 5088x2544 @ 75.000 Hz format=22 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[2]: 5088x2544 @ 75.000 Hz format=32 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[3]: 5088x2544 @ 75.000 Hz format=31 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[4]: 5088x2544 @ 75.000 Hz format=113 dscMode=0 dscVer=0 slices=0 bppx16=0
using mode[1]: 5088x2544 @ 75.000 Hz
forcing DSC 1.1, 4 slices, 8 bpp
AcquireDirectModeDisplay = 0x0
surface: 5088x2544 format=92
rtv format: 88
static image warped_grid_599f3b91.raw loaded into 2 surfaces
SetDisplayMode: HDCP disabled, ok
SetDisplayMode = 0x0
DisplayControl(POWER_ON) = 0x0
GetPresentWaitableObject = 0x0
  t=   4.0s frames=300 avg=74.74 fps
  t=   8.0s frames=600 avg=74.87 fps
  t=  12.0s frames=900 avg=74.91 fps
  t=  16.0s frames=1200 avg=74.93 fps
  t=  20.0s frames=1500 avg=74.95 fps
  t=  24.0s frames=1800 avg=74.96 fps
  t=  28.0s frames=2100 avg=74.96 fps
  t=  32.0s frames=2400 avg=74.97 fps
  t=  36.0s frames=2700 avg=74.97 fps
  t=  40.0s frames=3000 avg=74.97 fps
  t=  44.0s frames=3300 avg=74.98 fps
  t=  48.0s frames=3600 avg=74.98 fps
  t=  52.0s frames=3900 avg=74.98 fps
  t=  56.0s frames=4200 avg=74.98 fps
  t=  60.0s frames=4500 avg=74.98 fps
  t=  64.0s frames=4800 avg=74.98 fps
  t=  68.0s frames=5100 avg=74.98 fps
  t=  72.0s frames=5400 avg=74.98 fps
  t=  76.0s frames=5700 avg=74.98 fps
  t=  80.0s frames=6000 avg=74.99 fps
  t=  84.0s frames=6300 avg=74.99 fps
  t=  88.0s frames=6600 avg=74.99 fps
  t=  92.0s frames=6900 avg=74.99 fps
  t=  96.0s frames=7200 avg=74.99 fps
  t= 100.0s frames=7500 avg=74.99 fps
  t= 104.0s frames=7800 avg=74.99 fps
  t= 105.4s frames=8100 avg=76.85 fps
  t= 105.4s frames=8400 avg=79.69 fps
  t= 105.4s frames=8700 avg=82.53 fps
  t= 105.4s frames=9000 avg=85.38 fps
  t= 105.4s frames=9300 avg=88.22 fps
  t= 105.4s frames=9600 avg=91.06 fps
  t= 105.4s frames=9900 avg=93.91 fps
  t= 105.4s frames=10200 avg=96.75 fps
  t= 105.4s frames=10500 avg=99.59 fps
  t= 105.4s frames=10800 avg=102.44 fps
  t= 105.4s frames=11100 avg=105.28 fps
  t= 105.4s frames=11400 avg=108.12 fps
  t= 105.4s frames=11700 avg=110.96 fps
  t= 105.4s frames=12000 avg=113.81 fps
  t= 105.4s frames=12300 avg=116.65 fps
  t= 105.4s frames=12600 avg=119.49 fps
  t= 105.5s frames=12900 avg=122.33 fps
  t= 105.5s frames=13200 avg=125.17 fps
  t= 105.5s frames=13500 avg=128.01 fps
  t= 105.5s frames=13800 avg=130.86 fps
  t= 105.5s frames=14100 avg=133.70 fps
  t= 105.5s frames=14400 avg=136.54 fps
  t= 105.5s frames=14700 avg=139.38 fps
  t= 105.5s frames=15000 avg=142.22 fps
  t= 105.5s frames=15300 avg=145.06 fps
  t= 105.5s frames=15600 avg=147.90 fps
  t= 105.5s frames=15900 avg=150.74 fps
  t= 105.5s frames=16200 avg=153.58 fps
  t= 105.5s frames=16500 avg=156.42 fps
  t= 105.5s frames=16800 avg=159.26 fps
  t= 105.5s frames=17100 avg=162.10 fps
  t= 105.5s frames=17400 avg=164.93 fps
  t= 105.5s frames=17700 avg=167.77 fps
  t= 105.5s frames=18000 avg=170.61 fps
  t= 105.5s frames=18300 avg=173.45 fps
  t= 105.5s frames=18600 avg=176.29 fps
  t= 105.5s frames=18900 avg=179.13 fps
  t= 105.5s frames=19200 avg=181.96 fps
  t= 105.5s frames=19500 avg=184.80 fps
  t= 105.5s frames=19800 avg=187.64 fps
  t= 105.5s frames=20100 avg=190.47 fps
  t= 105.5s frames=20400 avg=193.31 fps
  t= 105.5s frames=20700 avg=196.15 fps
  t= 105.5s frames=21000 avg=198.99 fps
  t= 105.5s frames=21300 avg=201.82 fps
  t= 105.5s frames=21600 avg=204.66 fps
  t= 105.5s frames=21900 avg=207.50 fps
  t= 105.5s frames=22200 avg=210.34 fps
  t= 105.5s frames=22500 avg=213.17 fps
  t= 105.6s frames=22800 avg=216.01 fps
  t= 105.6s frames=23100 avg=218.84 fps
  t= 105.6s frames=23400 avg=221.68 fps
  t= 105.6s frames=23700 avg=224.52 fps
  t= 105.6s frames=24000 avg=227.35 fps
  t= 105.6s frames=24300 avg=230.19 fps
  t= 105.6s frames=24600 avg=233.02 fps
  t= 105.6s frames=24900 avg=235.86 fps
  t= 105.6s frames=25200 avg=238.69 fps
  t= 105.6s frames=25500 avg=241.46 fps
  t= 105.6s frames=25800 avg=244.29 fps
  t= 105.6s frames=26100 avg=247.08 fps
  t= 105.6s frames=26400 avg=249.91 fps
  t= 105.6s frames=26700 avg=252.74 fps
  t= 105.6s frames=27000 avg=255.57 fps
  t= 105.6s frames=27300 avg=258.40 fps
  t= 105.7s frames=27600 avg=261.23 fps
  t= 105.7s frames=27900 avg=264.06 fps
  t= 105.7s frames=28200 avg=266.90 fps
  t= 105.7s frames=28500 avg=269.73 fps
  t= 105.7s frames=28800 avg=272.56 fps
  t= 105.7s frames=29100 avg=275.39 fps
  t= 105.7s frames=29400 avg=278.22 fps
  t= 105.7s frames=29700 avg=281.05 fps
  t= 105.7s frames=30000 avg=283.88 fps
  t= 105.7s frames=30300 avg=286.71 fps
  t= 105.7s frames=30600 avg=289.54 fps
  t= 105.7s frames=30900 avg=292.37 fps
  t= 105.7s frames=31200 avg=295.20 fps
  t= 105.7s frames=31500 avg=298.03 fps
  t= 105.7s frames=31800 avg=300.86 fps
  t= 105.7s frames=32100 avg=303.69 fps
  t= 105.7s frames=32400 avg=306.52 fps
  t= 105.7s frames=32700 avg=309.35 fps
  t= 105.7s frames=33000 avg=312.18 fps
  t= 105.7s frames=33300 avg=315.00 fps
  t= 105.7s frames=33600 avg=317.83 fps
  t= 105.7s frames=33900 avg=320.66 fps
  t= 105.7s frames=34200 avg=323.49 fps
  t= 105.7s frames=34500 avg=326.32 fps
  t= 105.7s frames=34800 avg=329.15 fps
  t= 105.7s frames=35100 avg=331.97 fps
  t= 105.7s frames=35400 avg=334.80 fps
  t= 105.7s frames=35700 avg=337.63 fps
  t= 105.7s frames=36000 avg=340.46 fps
  t= 105.7s frames=36300 avg=343.28 fps
  t= 105.7s frames=36600 avg=346.11 fps
  t= 105.8s frames=36900 avg=348.93 fps
  t= 105.8s frames=37200 avg=351.76 fps
  t= 105.8s frames=37500 avg=354.58 fps
  t= 105.8s frames=37800 avg=357.41 fps
  t= 105.8s frames=38100 avg=360.23 fps
  t= 105.8s frames=38400 avg=363.06 fps
  t= 105.8s frames=38700 avg=365.88 fps
  t= 105.8s frames=39000 avg=368.71 fps
  t= 105.8s frames=39300 avg=371.53 fps
  t= 105.8s frames=39600 avg=374.36 fps
  t= 105.8s frames=39900 avg=377.18 fps
  t= 105.8s frames=40200 avg=380.01 fps
  t= 105.8s frames=40500 avg=382.83 fps
  t= 105.8s frames=40800 avg=385.66 fps
  t= 105.8s frames=41100 avg=388.47 fps
  t= 105.8s frames=41400 avg=391.30 fps
  t= 105.8s frames=41700 avg=394.12 fps
  t= 105.8s frames=42000 avg=396.95 fps
  t= 105.8s frames=42300 avg=399.77 fps
  t= 105.8s frames=42600 avg=402.59 fps
  t= 105.8s frames=42900 avg=405.42 fps
  t= 105.8s frames=43200 avg=408.24 fps
  t= 105.8s frames=43500 avg=411.06 fps
  t= 105.8s frames=43800 avg=413.88 fps
  t= 105.8s frames=44100 avg=416.69 fps
  t= 105.8s frames=44400 avg=419.51 fps
  t= 105.8s frames=44700 avg=422.33 fps
  t= 105.8s frames=45000 avg=425.15 fps
  t= 105.9s frames=45300 avg=427.92 fps
  t= 105.9s frames=45600 avg=430.74 fps
  t= 105.9s frames=45900 avg=433.56 fps
  t= 105.9s frames=46200 avg=436.38 fps
  t= 105.9s frames=46500 avg=439.15 fps
  t= 105.9s frames=46800 avg=441.97 fps
  t= 105.9s frames=47100 avg=444.79 fps
  t= 105.9s frames=47400 avg=447.61 fps
  t= 105.9s frames=47700 avg=450.43 fps
  t= 105.9s frames=48000 avg=453.25 fps
  t= 105.9s frames=48300 avg=456.07 fps
  t= 105.9s frames=48600 avg=458.89 fps
  t= 105.9s frames=48900 avg=461.71 fps
  t= 105.9s frames=49200 avg=464.53 fps
  t= 105.9s frames=49500 avg=467.34 fps
  t= 105.9s frames=49800 avg=470.16 fps
  t= 105.9s frames=50100 avg=472.97 fps
  t= 105.9s frames=50400 avg=475.79 fps
  t= 105.9s frames=50700 avg=478.61 fps
  t= 105.9s frames=51000 avg=481.39 fps
  t= 105.9s frames=51300 avg=484.20 fps
  t= 106.0s frames=51600 avg=487.02 fps
  t= 106.0s frames=51900 avg=489.83 fps
  t= 106.0s frames=52200 avg=492.65 fps
  t= 106.0s frames=52500 avg=495.42 fps
  t= 106.0s frames=52800 avg=498.23 fps
  t= 106.0s frames=53100 avg=501.05 fps
  t= 106.0s frames=53400 avg=503.86 fps
  t= 106.0s frames=53700 avg=506.68 fps
  t= 106.0s frames=54000 avg=509.50 fps
  t= 106.0s frames=54300 avg=512.31 fps
  t= 106.0s frames=54600 avg=515.13 fps
  t= 106.0s frames=54900 avg=517.94 fps
  t= 106.0s frames=55200 avg=520.76 fps
  t= 106.0s frames=55500 avg=523.57 fps
  t= 106.0s frames=55800 avg=526.38 fps
  t= 106.0s frames=56100 avg=529.20 fps
  t= 106.0s frames=56400 avg=532.01 fps
  t= 106.0s frames=56700 avg=534.83 fps
  t= 106.0s frames=57000 avg=537.64 fps
  t= 106.0s frames=57300 avg=540.45 fps
  t= 106.0s frames=57600 avg=543.25 fps
  t= 106.0s frames=57900 avg=546.07 fps
  t= 106.0s frames=58200 avg=548.88 fps
  t= 106.0s frames=58500 avg=551.69 fps
  t= 106.0s frames=58800 avg=554.50 fps
  t= 106.0s frames=59100 avg=557.32 fps
  t= 106.0s frames=59400 avg=560.12 fps
  t= 106.1s frames=59700 avg=562.93 fps
  t= 106.1s frames=60000 avg=565.74 fps
  t= 106.1s frames=60300 avg=568.55 fps
  t= 106.1s frames=60600 avg=571.36 fps
  t= 106.1s frames=60900 avg=574.17 fps
  t= 106.1s frames=61200 avg=576.98 fps
  t= 106.1s frames=61500 avg=579.79 fps
  t= 106.1s frames=61800 avg=582.60 fps
  t= 106.1s frames=62100 avg=585.41 fps
  t= 106.1s frames=62400 avg=588.22 fps
  t= 106.1s frames=62700 avg=591.03 fps
  t= 106.1s frames=63000 avg=593.84 fps
  t= 106.1s frames=63300 avg=596.65 fps
  t= 106.1s frames=63600 avg=599.46 fps
  t= 106.1s frames=63900 avg=602.27 fps
  t= 106.1s frames=64200 avg=605.06 fps
  t= 106.1s frames=64500 avg=607.87 fps
  t= 106.1s frames=64800 avg=610.68 fps
  t= 106.1s frames=65100 avg=613.49 fps
  t= 106.1s frames=65400 avg=616.30 fps
  t= 106.1s frames=65700 avg=619.11 fps
  t= 106.1s frames=66000 avg=621.92 fps
  t= 106.1s frames=66300 avg=624.68 fps
  t= 106.1s frames=66600 avg=627.49 fps
  t= 106.1s frames=66900 avg=630.30 fps
  t= 106.2s frames=67200 avg=633.05 fps
  t= 106.2s frames=67500 avg=635.86 fps
  t= 106.2s frames=67800 avg=638.66 fps
  t= 106.2s frames=68100 avg=641.46 fps
  t= 106.2s frames=68400 avg=644.27 fps
  t= 106.2s frames=68700 avg=647.08 fps
  t= 106.2s frames=69000 avg=649.88 fps
  t= 106.2s frames=69300 avg=652.69 fps
  t= 106.2s frames=69600 avg=655.48 fps
  t= 106.2s frames=69900 avg=658.29 fps
  t= 106.2s frames=70200 avg=661.09 fps
  t= 106.2s frames=70500 avg=663.89 fps
  t= 106.2s frames=70800 avg=666.69 fps
  t= 106.2s frames=71100 avg=669.49 fps
  t= 106.2s frames=71400 avg=672.29 fps
  t= 106.2s frames=71700 avg=675.10 fps
  t= 106.2s frames=72000 avg=677.90 fps
  t= 106.2s frames=72300 avg=680.71 fps
  t= 106.2s frames=72600 avg=683.51 fps
  t= 106.2s frames=72900 avg=686.32 fps
  t= 106.2s frames=73200 avg=689.12 fps
  t= 106.2s frames=73500 avg=691.92 fps
  t= 106.2s frames=73800 avg=694.68 fps
  t= 106.2s frames=74100 avg=697.49 fps
  t= 106.3s frames=74400 avg=700.23 fps
  t= 106.3s frames=74700 avg=702.97 fps
  t= 106.3s frames=75000 avg=705.72 fps
  t= 106.3s frames=75300 avg=708.48 fps
  t= 106.3s frames=75600 avg=711.29 fps
  t= 106.3s frames=75900 avg=714.08 fps
  t= 106.3s frames=76200 avg=716.82 fps
  t= 106.3s frames=76500 avg=719.62 fps
  t= 106.3s frames=76800 avg=722.42 fps
  t= 106.3s frames=77100 avg=725.22 fps
  t= 106.3s frames=77400 avg=728.02 fps
  t= 106.3s frames=77700 avg=730.82 fps
  t= 106.3s frames=78000 avg=733.57 fps
  t= 106.3s frames=78300 avg=736.28 fps
  t= 106.4s frames=78600 avg=739.02 fps
  t= 106.4s frames=78900 avg=741.81 fps
  t= 106.4s frames=79200 avg=744.61 fps
  t= 106.4s frames=79500 avg=747.40 fps
  t= 106.4s frames=79800 avg=750.20 fps
  t= 106.4s frames=80100 avg=753.00 fps
  t= 106.4s frames=80400 avg=755.80 fps
  t= 106.4s frames=80700 avg=758.59 fps
  t= 106.4s frames=81000 avg=761.39 fps
  t= 106.4s frames=81300 avg=764.19 fps
  t= 106.4s frames=81600 avg=766.99 fps
  t= 106.4s frames=81900 avg=769.78 fps
  t= 106.4s frames=82200 avg=772.58 fps
  t= 106.4s frames=82500 avg=775.32 fps
  t= 106.4s frames=82800 avg=778.12 fps
  t= 106.4s frames=83100 avg=780.85 fps
  t= 106.4s frames=83400 avg=783.64 fps
  t= 106.4s frames=83700 avg=786.38 fps
  t= 106.4s frames=84000 avg=789.11 fps
  t= 106.5s frames=84300 avg=791.90 fps
  t= 106.5s frames=84600 avg=794.59 fps
  t= 106.5s frames=84900 avg=797.38 fps
  t= 106.5s frames=85200 avg=800.11 fps
  t= 106.5s frames=85500 avg=802.63 fps
  t= 106.5s frames=85800 avg=805.42 fps
  t= 106.5s frames=86100 avg=808.10 fps
  t= 106.6s frames=86400 avg=810.83 fps
  t= 106.6s frames=86700 avg=813.52 fps
  t= 106.6s frames=87000 avg=816.11 fps
  t= 106.6s frames=87300 avg=818.89 fps
  t= 106.6s frames=87600 avg=821.49 fps
  t= 106.6s frames=87900 avg=824.23 fps
  t= 106.7s frames=88200 avg=826.95 fps
  t= 106.7s frames=88500 avg=829.68 fps
  t= 106.7s frames=88800 avg=832.46 fps
  t= 106.7s frames=89100 avg=835.19 fps
  t= 106.7s frames=89400 avg=837.97 fps
  t= 106.7s frames=89700 avg=840.70 fps
  t= 106.7s frames=90000 avg=843.41 fps
  t= 106.7s frames=90300 avg=846.14 fps
  t= 106.7s frames=90600 avg=848.86 fps
  t= 106.7s frames=90900 avg=851.58 fps
  t= 106.7s frames=91200 avg=854.36 fps
  t= 106.8s frames=91500 avg=857.07 fps
  t= 106.8s frames=91800 avg=859.80 fps
  t= 106.8s frames=92100 avg=862.58 fps
  t= 106.8s frames=92400 avg=865.29 fps
  t= 106.8s frames=92700 avg=868.02 fps
  t= 106.8s frames=93000 avg=870.74 fps
  t= 106.8s frames=93300 avg=873.47 fps
  t= 106.8s frames=93600 avg=876.18 fps
  t= 106.8s frames=93900 avg=878.90 fps
  t= 106.8s frames=94200 avg=881.68 fps
  t= 106.9s frames=94500 avg=884.39 fps
  t= 106.9s frames=94800 avg=887.12 fps
  t= 106.9s frames=95100 avg=889.89 fps
  t= 106.9s frames=95400 avg=892.56 fps
  t= 106.9s frames=95700 avg=895.34 fps
  t= 106.9s frames=96000 avg=898.04 fps
  t= 106.9s frames=96300 avg=900.77 fps
  t= 106.9s frames=96600 avg=903.49 fps
  t= 106.9s frames=96900 avg=906.21 fps
  t= 106.9s frames=97200 avg=908.99 fps
  t= 106.9s frames=97500 avg=911.64 fps
  t= 107.0s frames=97800 avg=914.41 fps
  t= 107.0s frames=98100 avg=917.06 fps
  t= 107.0s frames=98400 avg=919.83 fps
  t= 107.0s frames=98700 avg=922.54 fps
  t= 107.0s frames=99000 avg=925.26 fps
  t= 107.0s frames=99300 avg=928.04 fps
  t= 107.0s frames=99600 avg=930.70 fps
  t= 107.0s frames=99900 avg=933.47 fps
  t= 107.0s frames=100200 avg=936.17 fps
  t= 107.0s frames=100500 avg=938.89 fps
  t= 107.1s frames=100800 avg=941.58 fps
  t= 107.1s frames=101100 avg=944.35 fps
  t= 107.1s frames=101400 avg=947.05 fps
  t= 107.1s frames=101700 avg=949.62 fps
  t= 107.1s frames=102000 avg=952.39 fps
  t= 107.1s frames=102300 avg=955.16 fps
  t= 107.1s frames=102600 avg=957.92 fps
  t= 107.1s frames=102900 avg=960.68 fps
  t= 107.1s frames=103200 avg=963.45 fps
  t= 107.1s frames=103500 avg=966.22 fps
  t= 107.1s frames=103800 avg=968.92 fps
  t= 107.1s frames=104100 avg=971.70 fps
  t= 107.1s frames=104400 avg=974.47 fps
  t= 107.1s frames=104700 avg=977.24 fps
  t= 107.1s frames=105000 avg=980.01 fps
  t= 107.1s frames=105300 avg=982.78 fps
  t= 107.2s frames=105600 avg=985.40 fps
  t= 107.2s frames=105900 avg=988.16 fps
  t= 107.2s frames=106200 avg=990.85 fps
  t= 107.2s frames=106500 avg=993.56 fps
  t= 107.2s frames=106800 avg=996.33 fps
  t= 107.2s frames=107100 avg=999.01 fps
  t= 107.2s frames=107400 avg=1001.78 fps
  t= 107.2s frames=107700 avg=1004.54 fps
  t= 107.2s frames=108000 avg=1007.31 fps
  t= 107.2s frames=108300 avg=1010.08 fps
  t= 107.2s frames=108600 avg=1012.84 fps
  t= 107.2s frames=108900 avg=1015.60 fps
  t= 107.2s frames=109200 avg=1018.36 fps
  t= 107.2s frames=109500 avg=1021.13 fps
  t= 107.2s frames=109800 avg=1023.89 fps
  t= 107.2s frames=110100 avg=1026.65 fps
  t= 107.2s frames=110400 avg=1029.42 fps
  t= 107.2s frames=110700 avg=1032.17 fps
  t= 107.3s frames=111000 avg=1034.94 fps
  t= 107.3s frames=111300 avg=1037.70 fps
  t= 107.3s frames=111600 avg=1040.46 fps
  t= 107.3s frames=111900 avg=1043.22 fps
  t= 107.3s frames=112200 avg=1045.99 fps
  t= 107.3s frames=112500 avg=1048.75 fps
  t= 107.3s frames=112800 avg=1051.52 fps
  t= 107.3s frames=113100 avg=1054.29 fps
  t= 107.3s frames=113400 avg=1057.05 fps
  t= 107.3s frames=113700 avg=1059.81 fps
  t= 107.3s frames=114000 avg=1062.58 fps
  t= 107.3s frames=114300 avg=1065.34 fps
  t= 107.3s frames=114600 avg=1068.09 fps
  t= 107.3s frames=114900 avg=1070.85 fps
  t= 107.3s frames=115200 avg=1073.61 fps
  t= 107.3s frames=115500 avg=1076.37 fps
  t= 107.3s frames=115800 avg=1079.13 fps
  t= 107.3s frames=116100 avg=1081.90 fps
  t= 107.3s frames=116400 avg=1084.66 fps
  t= 107.3s frames=116700 avg=1087.42 fps
  t= 107.3s frames=117000 avg=1090.19 fps
  t= 107.3s frames=117300 avg=1092.95 fps
  t= 107.3s frames=117600 avg=1095.71 fps
  t= 107.3s frames=117900 avg=1098.47 fps
  t= 107.3s frames=118200 avg=1101.24 fps
  t= 107.3s frames=118500 avg=1104.00 fps
  t= 107.3s frames=118800 avg=1106.76 fps
  t= 107.3s frames=119100 avg=1109.53 fps
  t= 107.3s frames=119400 avg=1112.30 fps
  t= 107.3s frames=119700 avg=1115.07 fps
  t= 107.4s frames=120000 avg=1117.83 fps
  t= 107.4s frames=120300 avg=1120.59 fps
  t= 107.4s frames=120600 avg=1123.35 fps
  t= 107.4s frames=120900 avg=1126.11 fps
  t= 107.4s frames=121200 avg=1128.86 fps
  t= 107.4s frames=121500 avg=1131.63 fps
  t= 107.4s frames=121800 avg=1134.38 fps
  t= 107.4s frames=122100 avg=1137.15 fps
  t= 107.4s frames=122400 avg=1139.91 fps
  t= 107.4s frames=122700 avg=1142.67 fps
  t= 107.4s frames=123000 avg=1145.44 fps
  t= 107.4s frames=123300 avg=1148.20 fps
  t= 107.4s frames=123600 avg=1150.96 fps
  t= 107.4s frames=123900 avg=1153.73 fps
  t= 107.4s frames=124200 avg=1156.49 fps
  t= 107.4s frames=124500 avg=1159.25 fps
  t= 107.4s frames=124800 avg=1162.02 fps
  t= 107.4s frames=125100 avg=1164.78 fps
  t= 107.4s frames=125400 avg=1167.54 fps
  t= 107.4s frames=125700 avg=1170.28 fps
  t= 107.4s frames=126000 avg=1173.04 fps
  t= 107.4s frames=126300 avg=1175.80 fps
  t= 107.4s frames=126600 avg=1178.55 fps
  t= 107.4s frames=126900 avg=1181.17 fps
  t= 107.5s frames=127200 avg=1183.75 fps
  t= 107.5s frames=127500 avg=1186.45 fps
  t= 107.5s frames=127800 avg=1189.18 fps
  t= 107.5s frames=128100 avg=1191.90 fps
  t= 107.5s frames=128400 avg=1194.61 fps
  t= 107.5s frames=128700 avg=1197.35 fps
  t= 107.5s frames=129000 avg=1200.04 fps
  t= 107.5s frames=129300 avg=1202.76 fps
  t= 107.5s frames=129600 avg=1205.45 fps
  t= 107.5s frames=129900 avg=1208.16 fps
  t= 107.5s frames=130200 avg=1210.90 fps
  t= 107.5s frames=130500 avg=1213.66 fps
  t= 107.5s frames=130800 avg=1216.41 fps
  t= 107.5s frames=131100 avg=1219.17 fps
  t= 107.5s frames=131400 avg=1221.91 fps
  t= 107.5s frames=131700 avg=1224.65 fps
  t= 107.5s frames=132000 avg=1227.40 fps
  t= 107.5s frames=132300 avg=1230.16 fps
  t= 107.6s frames=132600 avg=1232.90 fps
  t= 107.6s frames=132900 avg=1235.65 fps
  t= 107.6s frames=133200 avg=1238.40 fps
  t= 107.6s frames=133500 avg=1241.15 fps
  t= 107.6s frames=133800 avg=1243.90 fps
  t= 107.6s frames=134100 avg=1246.66 fps
  t= 107.6s frames=134400 avg=1249.41 fps
  t= 107.6s frames=134700 avg=1252.17 fps
  t= 107.6s frames=135000 avg=1254.93 fps
  t= 107.6s frames=135300 avg=1257.69 fps
  t= 107.6s frames=135600 avg=1260.44 fps
  t= 107.6s frames=135900 avg=1263.19 fps
  t= 107.6s frames=136200 avg=1265.94 fps
  t= 107.6s frames=136500 avg=1268.70 fps
  t= 107.6s frames=136800 avg=1271.46 fps
  t= 107.6s frames=137100 avg=1274.22 fps
  t= 107.6s frames=137400 avg=1276.96 fps
  t= 107.6s frames=137700 avg=1279.72 fps
  t= 107.6s frames=138000 avg=1282.47 fps
  t= 107.6s frames=138300 avg=1285.23 fps
  t= 107.6s frames=138600 avg=1287.99 fps
  t= 107.6s frames=138900 avg=1290.75 fps
  t= 107.6s frames=139200 avg=1293.49 fps
  t= 107.6s frames=139500 avg=1296.25 fps
  t= 107.6s frames=139800 avg=1299.00 fps
  t= 107.6s frames=140100 avg=1301.75 fps
  t= 107.6s frames=140400 avg=1304.51 fps
  t= 107.6s frames=140700 avg=1307.24 fps
  t= 107.6s frames=141000 avg=1310.00 fps
  t= 107.6s frames=141300 avg=1312.75 fps
  t= 107.6s frames=141600 avg=1315.50 fps
  t= 107.6s frames=141900 avg=1318.26 fps
  t= 107.6s frames=142200 avg=1321.01 fps
  t= 107.6s frames=142500 avg=1323.76 fps
  t= 107.7s frames=142800 avg=1326.50 fps
  t= 107.7s frames=143100 avg=1329.25 fps
  t= 107.7s frames=143400 avg=1332.00 fps
  t= 107.7s frames=143700 avg=1334.75 fps
  t= 107.7s frames=144000 avg=1337.50 fps
  t= 107.7s frames=144300 avg=1340.25 fps
  t= 107.7s frames=144600 avg=1343.00 fps
  t= 107.7s frames=144900 avg=1345.75 fps
  t= 107.7s frames=145200 avg=1348.47 fps
  t= 107.7s frames=145500 avg=1351.20 fps
  t= 107.7s frames=145800 avg=1353.95 fps
  t= 107.7s frames=146100 avg=1356.70 fps
  t= 107.7s frames=146400 avg=1359.45 fps
  t= 107.7s frames=146700 avg=1362.20 fps
  t= 107.7s frames=147000 avg=1364.94 fps
  t= 107.7s frames=147300 avg=1367.69 fps
  t= 107.7s frames=147600 avg=1370.44 fps
  t= 107.7s frames=147900 avg=1373.17 fps
  t= 107.7s frames=148200 avg=1375.92 fps
  t= 107.7s frames=148500 avg=1378.67 fps
  t= 107.7s frames=148800 avg=1381.42 fps
  t= 107.7s frames=149100 avg=1384.17 fps
  t= 107.7s frames=149400 avg=1386.93 fps
  t= 107.7s frames=149700 avg=1389.66 fps
  t= 107.7s frames=150000 avg=1392.40 fps
  t= 107.7s frames=150300 avg=1395.14 fps
  t= 107.7s frames=150600 avg=1397.88 fps
  t= 107.7s frames=150900 avg=1400.63 fps
  t= 107.7s frames=151200 avg=1403.37 fps
  t= 107.7s frames=151500 avg=1406.12 fps
  t= 107.7s frames=151800 avg=1408.87 fps
  t= 107.7s frames=152100 avg=1411.62 fps
  t= 107.8s frames=152400 avg=1414.37 fps
  t= 107.8s frames=152700 avg=1417.11 fps
  t= 107.8s frames=153000 avg=1419.85 fps
  t= 107.8s frames=153300 avg=1422.60 fps
  t= 107.8s frames=153600 avg=1425.35 fps
  t= 107.8s frames=153900 avg=1428.10 fps
  t= 107.8s frames=154200 avg=1430.84 fps
  t= 107.8s frames=154500 avg=1433.59 fps
  t= 107.8s frames=154800 avg=1436.34 fps
  t= 107.8s frames=155100 avg=1439.09 fps
  t= 107.8s frames=155400 avg=1441.84 fps
  t= 107.8s frames=155700 avg=1444.59 fps
  t= 107.8s frames=156000 avg=1447.33 fps
  t= 107.8s frames=156300 avg=1450.07 fps
  t= 107.8s frames=156600 avg=1452.82 fps
  t= 107.8s frames=156900 avg=1455.56 fps
  t= 107.8s frames=157200 avg=1458.31 fps
  t= 107.8s frames=157500 avg=1461.06 fps
  t= 107.8s frames=157800 avg=1463.79 fps
  t= 107.8s frames=158100 avg=1466.54 fps
  t= 107.8s frames=158400 avg=1469.28 fps
  t= 107.8s frames=158700 avg=1472.03 fps
  t= 107.8s frames=159000 avg=1474.78 fps
  t= 107.8s frames=159300 avg=1477.52 fps
  t= 107.8s frames=159600 avg=1480.26 fps
  t= 107.8s frames=159900 avg=1483.01 fps
  t= 107.8s frames=160200 avg=1485.74 fps
  t= 107.8s frames=160500 avg=1488.48 fps
  t= 107.8s frames=160800 avg=1491.21 fps
  t= 107.8s frames=161100 avg=1493.94 fps
  t= 107.8s frames=161400 avg=1496.67 fps
  t= 107.8s frames=161700 avg=1499.40 fps
  t= 107.8s frames=162000 avg=1502.14 fps
  t= 107.9s frames=162300 avg=1504.85 fps
  t= 107.9s frames=162600 avg=1507.59 fps
  t= 107.9s frames=162900 avg=1510.33 fps
  t= 107.9s frames=163200 avg=1513.02 fps
  t= 107.9s frames=163500 avg=1515.69 fps
  t= 107.9s frames=163800 avg=1518.31 fps
  t= 107.9s frames=164100 avg=1521.02 fps
  t= 107.9s frames=164400 avg=1523.62 fps
  t= 107.9s frames=164700 avg=1526.34 fps
  t= 107.9s frames=165000 avg=1529.07 fps
  t= 107.9s frames=165300 avg=1531.80 fps
  t= 107.9s frames=165600 avg=1534.54 fps
  t= 107.9s frames=165900 avg=1537.25 fps
  t= 107.9s frames=166200 avg=1539.96 fps
  t= 107.9s frames=166500 avg=1542.67 fps
  t= 107.9s frames=166800 avg=1545.38 fps
  t= 107.9s frames=167100 avg=1548.09 fps
  t= 107.9s frames=167400 avg=1550.76 fps
  t= 108.0s frames=167700 avg=1553.47 fps
  t= 108.0s frames=168000 avg=1556.19 fps
  t= 108.0s frames=168300 avg=1558.90 fps
  t= 108.0s frames=168600 avg=1561.56 fps
  t= 108.0s frames=168900 avg=1564.22 fps
  t= 108.0s frames=169200 avg=1566.89 fps
  t= 108.0s frames=169500 avg=1569.54 fps
  t= 108.0s frames=169800 avg=1572.13 fps
  t= 108.0s frames=170100 avg=1574.82 fps
  t= 108.0s frames=170400 avg=1577.53 fps
  t= 108.0s frames=170700 avg=1580.17 fps
  t= 108.0s frames=171000 avg=1582.88 fps
  t= 108.0s frames=171300 avg=1585.56 fps
  t= 108.0s frames=171600 avg=1588.25 fps
  t= 108.1s frames=171900 avg=1590.92 fps
  t= 108.1s frames=172200 avg=1593.60 fps
  t= 108.1s frames=172500 avg=1596.30 fps
  t= 108.1s frames=172800 avg=1598.93 fps
  t= 108.1s frames=173100 avg=1601.56 fps
  t= 108.1s frames=173400 avg=1604.20 fps
  t= 108.1s frames=173700 avg=1606.62 fps
  t= 108.1s frames=174000 avg=1609.07 fps
  t= 108.2s frames=174300 avg=1611.16 fps
  t= 108.2s frames=174600 avg=1613.79 fps
  t= 108.2s frames=174900 avg=1616.34 fps
  t= 108.2s frames=175200 avg=1619.02 fps
  t= 108.2s frames=175500 avg=1621.51 fps
  t= 108.3s frames=175800 avg=1623.68 fps
  t= 108.3s frames=176100 avg=1626.23 fps
  t= 108.3s frames=176400 avg=1628.65 fps
  t= 108.3s frames=176700 avg=1631.29 fps
  t= 108.4s frames=177000 avg=1633.50 fps
  t= 108.4s frames=177300 avg=1636.16 fps
  t= 108.4s frames=177600 avg=1638.84 fps
  t= 108.4s frames=177900 avg=1641.53 fps
  t= 108.4s frames=178200 avg=1644.24 fps
  t= 108.4s frames=178500 avg=1646.93 fps
  t= 108.4s frames=178800 avg=1649.59 fps
  t= 108.4s frames=179100 avg=1652.27 fps
  t= 108.4s frames=179400 avg=1654.96 fps
  t= 108.4s frames=179700 avg=1657.65 fps
  t= 108.4s frames=180000 avg=1660.33 fps
  t= 108.4s frames=180300 avg=1663.00 fps
  t= 108.4s frames=180600 avg=1665.69 fps
  t= 108.4s frames=180900 avg=1668.36 fps
  t= 108.4s frames=181200 avg=1671.02 fps
  t= 108.4s frames=181500 avg=1673.69 fps
  t= 108.4s frames=181800 avg=1676.39 fps
  t= 108.5s frames=182100 avg=1679.09 fps
  t= 108.5s frames=182400 avg=1681.79 fps
  t= 108.5s frames=182700 avg=1684.49 fps
  t= 108.5s frames=183000 avg=1687.20 fps
  t= 108.5s frames=183300 avg=1689.86 fps
  t= 108.5s frames=183600 avg=1692.56 fps
  t= 108.5s frames=183900 avg=1695.26 fps
  t= 108.5s frames=184200 avg=1697.97 fps
  t= 108.5s frames=184500 avg=1700.66 fps
  t= 108.5s frames=184800 avg=1703.31 fps
  t= 108.5s frames=185100 avg=1705.99 fps
  t= 108.5s frames=185400 avg=1708.67 fps
  t= 108.5s frames=185700 avg=1711.35 fps
  t= 108.5s frames=186000 avg=1714.06 fps
  t= 108.5s frames=186300 avg=1716.76 fps
  t= 108.5s frames=186600 avg=1719.48 fps
  t= 108.5s frames=186900 avg=1722.18 fps
  t= 108.5s frames=187200 avg=1724.87 fps
  t= 108.5s frames=187500 avg=1727.57 fps
  t= 108.5s frames=187800 avg=1730.27 fps
  t= 108.5s frames=188100 avg=1732.99 fps
  t= 108.5s frames=188400 avg=1735.71 fps
  t= 108.5s frames=188700 avg=1738.39 fps
  t= 108.6s frames=189000 avg=1741.06 fps
  t= 108.6s frames=189300 avg=1743.75 fps
  t= 108.6s frames=189600 avg=1746.43 fps
  t= 108.6s frames=189900 avg=1749.11 fps
  t= 108.6s frames=190200 avg=1751.82 fps
  t= 108.6s frames=190500 avg=1754.52 fps
  t= 108.6s frames=190800 avg=1757.21 fps
  t= 108.6s frames=191100 avg=1759.88 fps
  t= 108.6s frames=191400 avg=1762.56 fps
  t= 108.6s frames=191700 avg=1765.27 fps
  t= 108.6s frames=192000 avg=1767.95 fps
  t= 108.6s frames=192300 avg=1770.66 fps
  t= 108.6s frames=192600 avg=1773.37 fps
  t= 108.6s frames=192900 avg=1776.07 fps
  t= 108.6s frames=193200 avg=1778.75 fps
  t= 108.6s frames=193500 avg=1781.43 fps
  t= 108.6s frames=193800 avg=1784.14 fps
  t= 108.6s frames=194100 avg=1786.82 fps
  t= 108.6s frames=194400 avg=1789.47 fps
  t= 108.6s frames=194700 avg=1792.17 fps
  t= 108.6s frames=195000 avg=1794.84 fps
  t= 108.7s frames=195300 avg=1797.51 fps
  t= 108.7s frames=195600 avg=1800.18 fps
  t= 108.7s frames=195900 avg=1802.80 fps
  t= 108.7s frames=196200 avg=1805.47 fps
  t= 108.7s frames=196500 avg=1808.18 fps
  t= 108.7s frames=196800 avg=1810.88 fps
  t= 108.7s frames=197100 avg=1813.56 fps
  t= 108.7s frames=197400 avg=1816.24 fps
  t= 108.7s frames=197700 avg=1818.94 fps
  t= 108.7s frames=198000 avg=1821.60 fps
  t= 108.7s frames=198300 avg=1824.29 fps
  t= 108.7s frames=198600 avg=1826.95 fps
  t= 108.7s frames=198900 avg=1829.66 fps
  t= 108.7s frames=199200 avg=1832.38 fps
  t= 108.7s frames=199500 avg=1835.09 fps
  t= 108.7s frames=199800 avg=1837.76 fps
  t= 108.7s frames=200100 avg=1840.45 fps
  t= 108.7s frames=200400 avg=1843.16 fps
  t= 108.7s frames=200700 avg=1845.87 fps
  t= 108.7s frames=201000 avg=1848.57 fps
  t= 108.7s frames=201300 avg=1851.24 fps
  t= 108.7s frames=201600 avg=1853.94 fps
  t= 108.7s frames=201900 avg=1856.62 fps
  t= 108.8s frames=202200 avg=1859.29 fps
  t= 108.8s frames=202500 avg=1861.98 fps
  t= 108.8s frames=202800 avg=1864.65 fps
  t= 108.8s frames=203100 avg=1867.33 fps
  t= 108.8s frames=203400 avg=1869.99 fps
  t= 108.8s frames=203700 avg=1872.69 fps
  t= 108.8s frames=204000 avg=1875.40 fps
  t= 108.8s frames=204300 avg=1878.11 fps
  t= 108.8s frames=204600 avg=1880.81 fps
  t= 108.8s frames=204900 avg=1883.52 fps
  t= 108.8s frames=205200 avg=1886.21 fps
  t= 108.8s frames=205500 avg=1888.92 fps
  t= 108.8s frames=205800 avg=1891.63 fps
  t= 108.8s frames=206100 avg=1894.34 fps
  t= 108.8s frames=206400 avg=1897.05 fps
  t= 108.8s frames=206700 avg=1899.75 fps
  t= 108.8s frames=207000 avg=1902.46 fps
  t= 108.8s frames=207300 avg=1905.12 fps
  t= 108.8s frames=207600 avg=1907.80 fps
  t= 108.8s frames=207900 avg=1910.51 fps
  t= 108.8s frames=208200 avg=1913.22 fps
  t= 108.8s frames=208500 avg=1915.93 fps
  t= 108.8s frames=208800 avg=1918.64 fps
  t= 108.8s frames=209100 avg=1921.34 fps
  t= 108.8s frames=209400 avg=1924.02 fps
  t= 108.8s frames=209700 avg=1926.72 fps
  t= 108.8s frames=210000 avg=1929.43 fps
  t= 108.8s frames=210300 avg=1932.14 fps
  t= 108.8s frames=210600 avg=1934.85 fps
  t= 108.8s frames=210900 avg=1937.56 fps
  t= 108.9s frames=211200 avg=1940.25 fps
  t= 108.9s frames=211500 avg=1942.96 fps
  t= 108.9s frames=211800 avg=1945.66 fps
  t= 108.9s frames=212100 avg=1948.33 fps
  t= 108.9s frames=212400 avg=1950.99 fps
  t= 108.9s frames=212700 avg=1953.65 fps
  t= 108.9s frames=213000 avg=1956.31 fps
  t= 108.9s frames=213300 avg=1958.99 fps
  t= 108.9s frames=213600 avg=1961.69 fps
  t= 108.9s frames=213900 avg=1964.40 fps
  t= 108.9s frames=214200 avg=1967.09 fps
  t= 108.9s frames=214500 avg=1969.80 fps
  t= 108.9s frames=214800 avg=1972.49 fps
  t= 108.9s frames=215100 avg=1975.19 fps
  t= 108.9s frames=215400 avg=1977.89 fps
  t= 108.9s frames=215700 avg=1980.60 fps
  t= 108.9s frames=216000 avg=1983.31 fps
  t= 108.9s frames=216300 avg=1986.00 fps
  t= 108.9s frames=216600 avg=1988.66 fps
  t= 108.9s frames=216900 avg=1991.34 fps
  t= 108.9s frames=217200 avg=1994.04 fps
  t= 108.9s frames=217500 avg=1996.75 fps
  t= 108.9s frames=217800 avg=1999.46 fps
  t= 108.9s frames=218100 avg=2002.16 fps
  t= 108.9s frames=218400 avg=2004.87 fps
  t= 108.9s frames=218700 avg=2007.58 fps
  t= 108.9s frames=219000 avg=2010.29 fps
  t= 108.9s frames=219300 avg=2012.99 fps
  t= 108.9s frames=219600 avg=2015.69 fps
  t= 108.9s frames=219900 avg=2018.39 fps
  t= 109.0s frames=220200 avg=2021.09 fps
  t= 109.0s frames=220500 avg=2023.79 fps
  t= 109.0s frames=220800 avg=2026.50 fps
  t= 109.0s frames=221100 avg=2029.20 fps
  t= 109.0s frames=221400 avg=2031.88 fps
  t= 109.0s frames=221700 avg=2034.57 fps
  t= 109.0s frames=222000 avg=2037.27 fps
  t= 109.0s frames=222300 avg=2039.98 fps
  t= 109.0s frames=222600 avg=2042.68 fps
  t= 109.0s frames=222900 avg=2045.39 fps
  t= 109.0s frames=223200 avg=2048.09 fps
  t= 109.0s frames=223500 avg=2050.79 fps
  t= 109.0s frames=223800 avg=2053.49 fps
  t= 109.0s frames=224100 avg=2056.19 fps
  t= 109.0s frames=224400 avg=2058.87 fps
  t= 109.0s frames=224700 avg=2061.58 fps
  t= 109.0s frames=225000 avg=2064.28 fps
  t= 109.0s frames=225300 avg=2066.99 fps
  t= 109.0s frames=225600 avg=2069.69 fps
  t= 109.0s frames=225900 avg=2072.39 fps
  t= 109.0s frames=226200 avg=2075.09 fps
  t= 109.0s frames=226500 avg=2077.80 fps
  t= 109.0s frames=226800 avg=2080.50 fps
  t= 109.0s frames=227100 avg=2083.21 fps
  t= 109.0s frames=227400 avg=2085.92 fps
  t= 109.0s frames=227700 avg=2088.62 fps
  t= 109.0s frames=228000 avg=2091.32 fps
  t= 109.0s frames=228300 avg=2094.01 fps
  t= 109.0s frames=228600 avg=2096.71 fps
  t= 109.0s frames=228900 avg=2099.41 fps
  t= 109.0s frames=229200 avg=2102.10 fps
  t= 109.0s frames=229500 avg=2104.80 fps
  t= 109.0s frames=229800 avg=2107.46 fps
  t= 109.0s frames=230100 avg=2110.10 fps
  t= 109.1s frames=230400 avg=2112.78 fps
  t= 109.1s frames=230700 avg=2115.48 fps
  t= 109.1s frames=231000 avg=2118.17 fps
  t= 109.1s frames=231300 avg=2120.88 fps
  t= 109.1s frames=231600 avg=2123.58 fps
  t= 109.1s frames=231900 avg=2126.28 fps
  t= 109.1s frames=232200 avg=2128.97 fps
  t= 109.1s frames=232500 avg=2131.67 fps
  t= 109.1s frames=232800 avg=2134.36 fps
  t= 109.1s frames=233100 avg=2137.06 fps
  t= 109.1s frames=233400 avg=2139.76 fps
  t= 109.1s frames=233700 avg=2142.46 fps
  t= 109.1s frames=234000 avg=2145.16 fps
  t= 109.1s frames=234300 avg=2147.87 fps
  t= 109.1s frames=234600 avg=2150.56 fps
  t= 109.1s frames=234900 avg=2153.26 fps
  t= 109.1s frames=235200 avg=2155.95 fps
  t= 109.1s frames=235500 avg=2158.65 fps
  t= 109.1s frames=235800 avg=2161.34 fps
  t= 109.1s frames=236100 avg=2164.03 fps
  t= 109.1s frames=236400 avg=2166.73 fps
  t= 109.1s frames=236700 avg=2169.42 fps
  t= 109.1s frames=237000 avg=2172.11 fps
  t= 109.1s frames=237300 avg=2174.81 fps
  t= 109.1s frames=237600 avg=2177.50 fps
  t= 109.1s frames=237900 avg=2180.19 fps
  t= 109.1s frames=238200 avg=2182.89 fps
  t= 109.1s frames=238500 avg=2185.59 fps
  t= 109.1s frames=238800 avg=2188.29 fps
  t= 109.1s frames=239100 avg=2190.99 fps
  t= 109.1s frames=239400 avg=2193.69 fps
  t= 109.1s frames=239700 avg=2196.38 fps
  t= 109.1s frames=240000 avg=2199.07 fps
  t= 109.1s frames=240300 avg=2201.77 fps
  t= 109.1s frames=240600 avg=2204.47 fps
  t= 109.1s frames=240900 avg=2207.17 fps
  t= 109.1s frames=241200 avg=2209.86 fps
  t= 109.2s frames=241500 avg=2212.52 fps
  t= 109.2s frames=241800 avg=2215.17 fps
  t= 109.2s frames=242100 avg=2217.86 fps
  t= 109.2s frames=242400 avg=2220.54 fps
  t= 109.2s frames=242700 avg=2223.22 fps
  t= 109.2s frames=243000 avg=2225.92 fps
  t= 109.2s frames=243300 avg=2228.62 fps
  t= 109.2s frames=243600 avg=2231.31 fps
  t= 109.2s frames=243900 avg=2234.01 fps
  t= 109.2s frames=244200 avg=2236.70 fps
  t= 109.2s frames=244500 avg=2239.38 fps
  t= 109.2s frames=244800 avg=2242.06 fps
  t= 109.2s frames=245100 avg=2244.75 fps
  t= 109.2s frames=245400 avg=2247.45 fps
  t= 109.2s frames=245700 avg=2250.14 fps
  t= 109.2s frames=246000 avg=2252.83 fps
  t= 109.2s frames=246300 avg=2255.53 fps
  t= 109.2s frames=246600 avg=2258.22 fps
  t= 109.2s frames=246900 avg=2260.92 fps
  t= 109.2s frames=247200 avg=2263.62 fps
  t= 109.2s frames=247500 avg=2266.31 fps
  t= 109.2s frames=247800 avg=2268.99 fps
  t= 109.2s frames=248100 avg=2271.68 fps
  t= 109.2s frames=248400 avg=2274.37 fps
  t= 109.2s frames=248700 avg=2277.07 fps
  t= 109.2s frames=249000 avg=2279.76 fps
  t= 109.2s frames=249300 avg=2282.45 fps
  t= 109.2s frames=249600 avg=2285.11 fps
  t= 109.2s frames=249900 avg=2287.78 fps
  t= 109.2s frames=250200 avg=2290.45 fps
  t= 109.2s frames=250500 avg=2293.12 fps
  t= 109.2s frames=250800 avg=2295.79 fps
  t= 109.2s frames=251100 avg=2298.48 fps


Bash

Read end of presentation log


  t= 112.8s frames=594600 avg=5269.33 fps
  t= 112.8s frames=594900 avg=5271.81 fps
  t= 112.8s frames=595200 avg=5274.32 fps
  t= 112.9s frames=595500 avg=5276.85 fps
  t= 112.9s frames=595800 avg=5279.27 fps
  t= 112.9s frames=596100 avg=5281.67 fps
  t= 112.9s frames=596400 avg=5284.09 fps
  t= 112.9s frames=596700 avg=5286.56 fps
  t= 112.9s frames=597000 avg=5288.96 fps
  t= 112.9s frames=597300 avg=5291.37 fps
  t= 112.9s frames=597600 avg=5293.84 fps
  t= 112.9s frames=597900 avg=5296.29 fps
  t= 112.9s frames=598200 avg=5298.81 fps
  t= 112.9s frames=598500 avg=5301.31 fps
  t= 112.9s frames=598800 avg=5303.85 fps
  t= 112.9s frames=599100 avg=5306.38 fps
  t= 116.2s frames=599400 avg=5160.23 fps
PRESENT RESULT: 599688 frames in 120.0s = 4996.94 fps avg, presentErrors 0, waitTimeouts 0
display released
VERDICT: PASS


Run done: solid 74.99 fps for 105 s, then vsync dropped and present free-ran to 5000 "fps" — almost certainly panels went to sleep when headset came off (proximity), link dropped, waitable went permissive. presentErrors 0 — benign, but noted: M1 needs prox/power handling + free-run detection.

Pattern was up the full eyeball window. **Verdict needed from your eyes:**

1. Grid lines straight through lens?
2. Color fringing on lines — clean or rainbow?
3. Triangle pointing up?
4. Square left-of-center in left eye only?
5. Fusion ok-ish?


1. the grid looked pretty rectilinear in both eyes, yes! 2. chromatic abberration seemed stable 3 & 4 please run again so i can be certain 5. hard to tell. stereo fusion definitely wasn't "comfortable," but from experience i know that could be entirely due to no canting & no IPD comp.


Re-running now — 120 s. Check: **triangle points UP** (both eyes), **square left-of-center in LEFT eye only** (close one eye at a time).


PowerShell

ssh decid@enlyzeam "cd C:\Users\decid\sauna-spikes\s3-distortion-truth; .\s2_nvapi.exe present 120 --image warped_grid_599f3b91.raw" 2>&1 | Select-Object -First 20

Re-run eyes-in presentation for marker check


Command running in background with ID: b0jvr0611. Output is being written to: C:\Users\decid\AppData\Local\Temp\claude\C--Users-decid-Documents-projects-sauna\e1077b85-f9e0-461b-b631-ddcce7ef7b3e\tasks\b0jvr0611.output. You will be notified when it completes. To check interim output, use Read on that file path.


<task-notification>
<task-id>b0jvr0611</task-id>
<tool-use-id>toolu_013eGNthofjYzR3x5a7NPUpQ</tool-use-id>
<output-file>C:\Users\decid\AppData\Local\Temp\claude\C--Users-decid-Documents-projects-sauna\e1077b85-f9e0-461b-b631-ddcce7ef7b3e\tasks\b0jvr0611.output</output-file>
<status>completed</status>
<summary>Background command "Re-run eyes-in presentation for marker check" completed (exit code 0)</summary>
</task-notification>


Headset live, 120 s. Look for:

- **3.** White filled triangle above center — must point **UP**.
- **4.** Small white square left of center cross — **left eye ONLY** (wink eyes alternately).

Items 1, 2, 5 already noted: rectilinear ✓, CA stable ✓, fusion discomfort expected (image has zero canting/IPD compensation — that's M2's job; dump even tells us SteamVR folds ±6.17° cant + 62 mm IPD into its projections, this grid has neither).


Bash

Check rerun log head and tail


EnableDirectMode(0x2709) = 0x0
EnumerateDirectModeDisplays count = 1 (status 0x0)
using displayId 0x80061080
mode[0]: 5088x2544 @ 75.000 Hz format=21 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[1]: 3840x1920 @ 90.000 Hz format=21 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[2]: 5088x2544 @ 75.000 Hz format=22 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[3]: 3840x1920 @ 90.000 Hz format=22 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[4]: 5088x2544 @ 75.000 Hz format=32 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[5]: 3840x1920 @ 90.000 Hz format=32 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[6]: 5088x2544 @ 75.000 Hz format=31 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[7]: 3840x1920 @ 90.000 Hz format=31 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[8]: 5088x2544 @ 75.000 Hz format=113 dscMode=0 dscVer=0 slices=0 bppx16=0
mode[9]: 3840x1920 @ 90.000 Hz format=113 dscMode=0 dscVer=0 slices=0 bppx16=0
using mode[2]: 5088x2544 @ 75.000 Hz
forcing DSC 1.1, 4 slices, 8 bpp
AcquireDirectModeDisplay = 0x0
surface: 5088x2544 format=92
rtv format: 88
static image warped_grid_599f3b91.raw loaded into 2 surfaces
SetDisplayMode: HDCP disabled, ok
rtv format: 88
static image warped_grid_599f3b91.raw loaded into 2 surfaces
SetDisplayMode: HDCP disabled, ok


Run completed clean (mode list reshuffled this run — 90 Hz entries appeared, selector still picked 5088×2544@75 fmt 22 by value; S2 reorder finding re-confirmed).

Your eyes: triangle up? Square in left eye only?


1. the grid looked pretty rectilinear in both eyes, yes! 2. chromatic abberration seemed stable 3 & 4 please run again so i can be certain 5. hard to tell. stereo fusion definitely wasn't "comfortable…


3. yes, 4. yes. back on 2: there is color fringing, but it's only where the lines break alignment from the pixel grid. pretty sure it's strictly because there's no antialiasing applied to the image. -5: yeah, can't achieve stereo convergence at all, but i'm 99% sure that's just because of no IPD compensation + made worse by no canting comp


All eyes-in checks PASS. Closing out S3: FINDINGS update, commit, push.


Edit

## Eyes-in follow-up (pending)

Numeric criterion passed. Visual close-out planned: bake the winning warp into the S2
presenter path and eyeball a structure-revealing grid through the lens on enlyzeam
(straight lines must look straight). Tracked as the next step before M1 glue.

## Eyes-in validation — PASS, 2026-06-09 (enlyzeam, user eyeball)

`make_warped_grid.py` renders the verified warp into a static pre-distorted grid
(per-channel, straight in source/tangent space) for this unit's config; presented at
native 5088×2544@75 via `s2_nvapi present --image` (new static-image path,
CopyTextureRegion into the DM surfaces, no shaders). Two 120 s runs, 74.99 fps:

1. **Grid rectilinear through the lens, both eyes** — warp direction + coeffs correct.
2. **Chromatic aberration stable.** Residual fringing only where lines alias against
   the pixel grid — the generator is point-sampled with no AA, not a warp error.
   (M2 warp shader gets AA/filtering for free by sampling a rendered texture.)
3. **Up-marker triangle points up** — v orientation confirmed (v=0 = top, no flip).
4. **Left-eye marker in left eye only** — eye assignment confirmed (left half of the
   5088-wide surface = left eye).
5. Stereo convergence not achievable — expected: the test image carries no IPD
   translation and no canting compensation (both M2; the SteamVR dump quantifies
   exactly what's missing: cant folded into projection + 62 mm eye separation).

Incidental observation for M1: ~105 s into run 1 the present loop went free-run
(75 → 5000+ "fps", waitable instantly signaled, presentErrors 0) — headset doffed,
proximity powered panels down, vsync source vanished. The compositor needs prox/power
state handling and free-run detection; a present loop that "succeeds" at 5000 fps is
scanning out to nothing.


The file C:\Users\decid\Documents\projects\sauna\spikes\s3-distortion-truth\FINDINGS.md has been updated successfully. (file state is current in your context — no need to Read it back)

## Eyes-in validation — PASS, 2026-06-09 (enlyzeam, user eyeball)

`make_warped_grid.py` renders the verified warp into a static pre-distorted grid
(per-channel, straight in source/tangent space) for this unit's config; presented at
native 5088×2544@75 via `s2_nvapi present --image` (new static-image path,
CopyTextureRegion into the DM surfaces, no shaders). Two 120 s runs, 74.99 fps:

1. **Grid rectilinear through the lens, both eyes** — warp direction + coeffs correct.
2. **Chromatic aberration stable.** Residual fringing only where lines alias against
   the pixel grid — the generator is point-sampled with no AA, not a warp error.
   (M2 warp shader gets AA/filtering for free by sampling a rendered texture.)
3. **Up-marker triangle points up** — v orientation confirmed (v=0 = top, no flip).
4. **Left-eye marker in left eye only** — eye assignment confirmed (left half of the
   5088-wide surface = left eye).
5. Stereo convergence not achievable — expected: the test image carries no IPD
   translation and no canting compensation (both M2; the SteamVR dump quantifies
   exactly what's missing: cant folded into projection + 62 mm eye separation).

Incidental observation for M1: ~105 s into run 1 the present loop went free-run
(75 → 5000+ "fps", waitable instantly signaled, presentErrors 0) — headset doffed,
proximity powered panels down, vsync source vanished. The compositor needs prox/power
state handling and free-run detection; a present loop that "succeeds" at 5000 fps is
scanning out to nothing.

# Spike S3 — FINDINGS: distortion ground truth

**Status: PASS, 2026-06-09.** Standalone evaluator matches OpenVR `ComputeDistortion`
to **0.0002 px max error** (float32 noise floor) across 65×65 grid × 3 channels × 2 eyes
on unit LHR-599F3B91 (enlyzeam rig). Criterion was sub-pixel; beaten by ~4 orders.

## The verified formula (per eye, per color channel)

Input: panel/viewport UV `(u,v)`, origin top-left of the eye's viewport (OpenVR
`ComputeDistortion` convention). Output: source UV into the eye's render target.

```
t   = (2u−1, 2v−1)                      # per-eye NDC, y down
t  -= (center_x, center_y)              # shared across channels within an eye
r²  = t·t                               # NO clamp (see below)
d   = 1 + k1·r² + k2·r⁴ + k3·r⁶         # DIRECT polynomial — NOT reciprocal
uv_src = 0.5 + (t·d + center) · 0.5/(1 + grow_for_undistort)
```

`(k1,k2,k3)` = the `coeffs` of `distortion_red` / `distortion` / `distortion_blue`
verbatim from the device config JSON. Implementation: `poly3.py` (hypothesis
`poly+grow` in `verify.py`).

### Answers to the open questions

1. **POLY3 direction:** production `DISTORT_POLY3` (positive leading coeffs) is the
   **direct** polynomial `d = 1 + k1·r² + …` applied panel→source. The Monado/OpenHMD
   Vive evaluator's reciprocal form `d = 1/(1+…)` is **wrong for POLY3** — it loses by
   2578 px max. The historical EVT/DVT `DISTORT_DPOLY3` negative coeffs are explained:
   a reciprocal re-fit of the dump lands near −0.21 leading (vs +0.209 config), i.e.
   DPOLY3(−k) ≈ 1/POLY3(+k) — same optics, opposite fit direction. Only POLY3 is
   validated here; all production Beyonds are POLY3, so DPOLY3 handling is moot.
2. **`grow_for_undistort` normalization:** exactly `0.5/(1+grow)` on the output, exactly
   as Monado does it. Confirmed numerically: fitted scale/offset reproduce
   `0.31250 = 0.5/1.6` and `0.5 + center·0.3125` to 5 decimals.
3. **`undistort_r2_cutoff` is NOT applied** by `ComputeDistortion`: panel corners reach
   r² ≈ 2.1 > cutoff 1.0 and still follow the polynomial exactly. Clamping at the cutoff
   was the sole reason the otherwise-correct hypothesis initially failed (1395 px corner
   error). The cutoff presumably gates something else (mesh/hidden-area). Our warp must
   not clamp within the panel.

## Bonus ground truth captured (load-bearing for M2)

- **`GetEyeToHeadTransform` = identity rotation + (∓31 mm, 0, 0)** — the lighthouse
  driver does NOT expose the config `eye_to_head` canting rotation. Config has
  `parallel_render_cameras: true`: SteamVR renders parallel cameras and folds the
  ±6.17° yaw / ~−5° pitch cant into the **asymmetric projection** instead.
- **`GetProjectionRaw` ≠ intrinsics frustum.** Dump (left eye): L −1.400 R +0.913
  T −1.380 B +0.923 vs intrinsics-derived ±0.70. The raw projection = grow-expanded,
  cant-folded window; the `uv_src` formula above lands in exactly this window
  (`tan = L + u_src·(R−L)`, y-down, v=0 ↦ T). M2 must either replicate this fold
  (derive closed form config → frustum; the dump + fitted per-eye offset/scale
  `a=(−0.2505,−0.2090)L /(+0.2492,−0.1866)R`, `s=(0.7228,0.7197)L /(0.7208,0.7132)R`
  are the ground truth to derive against) or render genuinely canted cameras with its
  own consistent warp math — NOT mix the two.
- **IPD translation comes from a user setting, not the config:** dump says 62.0 mm,
  config `ipd.default_mm` = 69. Source: `steamvr.vrsettings →
  driver_BeyondSteamVR.ipd_mm = 62.000003814697266` (Bigscreen's SteamVR driver
  utility setting; `steamvr.ipdOffset` ≈ 0 here). v1: default to config
  `ipd.default_mm`, expose a user override exactly like Bigscreen does.
- **Intrinsics sign convention settled:** distortion `center_x = −K[0][2]`,
  `center_y = +K[1][2]` (confirmed on both eyes of this unit; matches the B1
  production template pattern).
- `steamvr.vrsettings` also confirms the direct-mode EDID whitelist entry
  (`direct_mode: edidVid3 9993 = 0x2709, edidPid3 4660 = 0x1234`) and that users can
  carry per-channel color-gain overrides (`hmdDisplayColorGain* = 0.8/0.85/1.2` on this
  rig — remember when judging eyes-in color).

## Method

1. `dump_openvr.py` — pyopenvr `VRApplication_Background` against a running SteamVR
   with the Beyond connected (the one sanctioned dev-time SteamVR run). 65×65 UV grid
   per eye, all 4225 points ok both eyes; plus `GetProjectionRaw`,
   `GetEyeToHeadTransform`, recommended RT (3104×3104 @ supersampleScale 0.76).
2. `verify.py` — scores 4 closed-form hypotheses {poly, recip} × {grow rescale on/off}
   in panel pixels (2544/eye). Result: poly+grow 0.0002 px; next best 1795 px. PASS.
3. `analyze.py` — the step that found the formula after all 4 original hypotheses
   failed: 9-param free fit (center, offset, scale, k1..3) per eye/channel in
   `GetProjectionRaw` tangent space. Direct-poly fit converged to **0.000 px with
   fitted center and coeffs equal to the config values to 5 decimals** — proving the
   config values are used verbatim and isolating the normalization algebra, which then
   reduced exactly to the formula above.
4. Ops note: OpenVR IPC refuses connections from SSH logon sessions. Workaround that
   works: `schtasks /create … /it` + `schtasks /run` to execute the dump inside the
   interactive session (see git history for the exact incantation).

Artifacts in this directory: `distortion_dump_lhr_599f3b91.json` (ground truth, 1.4 MB),
`config_lhr_599f3b91.json` (unit config snapshot), `poly3.py` (the evaluator to port to
the compositor shader in M2), `verify.py`, `analyze.py`, `dump_openvr.py`.

## Eyes-in follow-up (pending)

Numeric criterion passed. Visual close-out planned: bake the winning warp into the S2
presenter path and eyeball a structure-revealing grid through the lens on enlyzeam
(straight lines must look straight). Tracked as the next step before M1 glue.

+## Eyes-in validation — PASS, 2026-06-09 (enlyzeam, user eyeball)

-Numeric criterion passed. Visual close-out planned: bake the winning warp into the S2

-presenter path and eyeball a structure-revealing grid through the lens on enlyzeam

-(straight lines must look straight). Tracked as the next step before M1 glue.

+`make_warped_grid.py` renders the verified warp into a static pre-distorted grid

+(per-channel, straight in source/tangent space) for this unit's config; presented at

+native 5088×2544@75 via `s2_nvapi present --image` (new static-image path,

+CopyTextureRegion into the DM surfaces, no shaders). Two 120 s runs, 74.99 fps:

+1. **Grid rectilinear through the lens, both eyes** — warp direction + coeffs correct.

+2. **Chromatic aberration stable.** Residual fringing only where lines alias against

+   the pixel grid — the generator is point-sampled with no AA, not a warp error.

+   (M2 warp shader gets AA/filtering for free by sampling a rendered texture.)

+3. **Up-marker triangle points up** — v orientation confirmed (v=0 = top, no flip).

+4. **Left-eye marker in left eye only** — eye assignment confirmed (left half of the

+5. Stereo convergence not achievable — expected: the test image carries no IPD

+   translation and no canting compensation (both M2; the SteamVR dump quantifies

+   exactly what's missing: cant folded into projection + 62 mm eye separation).

+Incidental observation for M1: ~105 s into run 1 the present loop went free-run

+(75 → 5000+ "fps", waitable instantly signaled, presentErrors 0) — headset doffed,

+proximity powered panels down, vsync source vanished. The compositor needs prox/power

+state handling and free-run detection; a present loop that "succeeds" at 5000 fps is


See `spikes/s3-distortion-truth/FINDINGS.md`. Eyes-in warp check pending (pre-M1). |

Eyes-in PASS on enlyzeam: pre-warped grid rectilinear through lens both eyes, CA stable, v-orientation + eye assignment confirmed. See `spikes/s3-distortion-truth/FINDINGS.md`. **Spike ladder complete 3/3.** |


The file C:\Users\decid\Documents\projects\sauna\PLAN.md has been updated successfully. (file state is current in your context — no need to Read it back)

# Sauna — v1 Plan

Output of the design interview closed 2026-06-09. Language: `CONTEXT.md`. Facts and risk
register: `reference/BASELINE.md`. Architecture decision: `docs/adr/0001`.

## v1 in one sentence

A standalone Windows+NVIDIA app that reads the Tundra IMU for 3DOF pose, captures the desktop's
monitors, composites them as head-tracked virtual screens, warps per-eye using the per-unit
calibration, and presents to the Beyond in Vulkan direct mode — no SteamVR, no lighthouses, no
firmware changes.

## Locked decisions

| # | Decision | Notes |
|---|---|---|
| 1 | v1 experience = virtual screen(s) via our own compositor, direct mode on stock EDID | ADR-0001 (proposed; gated on spike S2) |
| 2 | Windows+NVIDIA first, present-backend seam | *(amended by S2)* Windows backend = D3D12+NVAPI DirectMode; `VK_EXT_acquire_drm_display` = Steam Deck rung later; Vulkan render core still viable via shared-handle interop |
| 3 | Per-unit calibration via native Watchman HID config read | port from vendored libsurvive; JSON file-import kept as dev scaffold |
| 4 | Own minimal AHRS (Mahony-style) for 3DOF | config IMU mount frame + biases; recenter UX owns yaw drift; magnetometer = bonus if S1 finds one |
| 5 | Content = multi-monitor desktop capture | Windows.Graphics.Capture; layout mirrors OS monitor arrangement; PipeWire backend later |
| 6 | Frame-source abstraction from day one | capture / remote-stream / test-pattern; only capture implemented in v1 — keeps the streaming-bridge stretch additive |

UX defaults: proximity-sensor display sleep when doffed + idle timeout (burn-in safety is ours
once SteamVR is out of the loop); conservative persistence + brightness defaults; 75 Hz default
with 90 Hz opt-in flag; recenter on a configurable global hotkey; settings = plain desktop window
(visible in-headset via capture).

## Architecture (components)

- **Device layer** — Tundra HID `28DE:2300` MI_00 (IMU stream + config read); MCU HID `35BD:0101`
  (display power, per-eye panel-on, persistence, brightness, proximity, EDID/refresh).
- **Tracking** — Watchman packet parse → bias/scale correction → AHRS → head pose; recenter.
- **Frame sources** — trait per decision 6; v1 backend: Windows.Graphics.Capture per monitor.
- **Compositor** — scene of virtual screens (OS layout); per-eye render from `intrinsics`,
  `eye_to_head` canting, IPD; distortion pass (per-channel poly3 + `grow_for_undistort`);
  `display_color_mult`.
- **Present** — per-platform backend behind one interface: Windows = D3D12 + NVAPI DirectMode
  (proven, S2); Linux = Vulkan + DRM lease (unproven rung). Fallback: extended-mode SBS fullscreen.
- **App shell** — tray + settings window, hotkeys, safety policy.

## Spike ladder (run before architecture code; in this order)

| Spike | Question | Pass criterion |
|---|---|---|
| **S1** ✅ PASS 2026-06-10 | Does the Tundra stream IMU with Steam never run? | Streams unconditionally — 993.8 Hz unique samples, no wake needed, SteamVR never ran since boot. 4096 LSB/g re-confirmed; sliding 3-sample window (dedupe by timecode+seq); no mag on MI_00; gyro scale still unverified (→ M2). See `spikes/s1-imu-no-steam/FINDINGS.md`. |
| **S2** ✅ PASS 2026-06-10 | Can our own process acquire + continuously present in direct mode? | PASS via **NVAPI/D3D12** (75.07 fps native 5088×2544, zero errors; 10-min soak logged). Vulkan winrt rung DEAD on consumer Windows — specialized displays edition-gated. Windows backend = D3D12+NVAPI DM (NDA lib, referenced not vendored); Linux rung unchanged (VK DRM). See `spikes/s2-vulkan-direct/FINDINGS.md`. |
| **S3** ✅ PASS 2026-06-09 | Which direction do the production POLY3 coeffs run? | PASS — `DISTORT_POLY3` is the **direct** polynomial `d = 1+k1r²+k2r⁴+k3r⁶` (not Monado's reciprocal), output rescale `0.5/(1+grow)`, **no r² clamp** (`undistort_r2_cutoff` unused by `ComputeDistortion`). Evaluator matches ground truth to 0.0002 px max (65×65×3ch×2 eyes, unit LHR-599F3B91). Bonus: driver folds canting into asymmetric `GetProjectionRaw` (eye_to_head reported identity; `parallel_render_cameras: true`), IPD translation = user setting not config default. See `spikes/s3-distortion-truth/FINDINGS.md`. Eyes-in warp check pending (pre-M1). |

## Build order after spikes

1. **M1 first light** — S1+S2 glued: head-locked test pattern in-headset from a cold boot.
2. **M2 tracked + warped** — AHRS pose + distortion/canting/IPD pipeline: one virtual screen
   fixed in space, fusion-correct binocular view.
3. **M3 product shape** — multi-monitor capture + OS layout, recenter, prox/idle safety,
   settings UI, native calibration read replacing dev import.
4. **M4 hardening** — pacing (capture Hz vs panel Hz), color correctness, install story.

## Out of scope for v1

SteamVR driver mode; Linux/Steam Deck port (first post-v1 target); streaming bridge (seam only);
6DOF; linkbox-less (hardware adapter, separate track); IddCx virtual display driver.

-| **S3** ✅ PASS 2026-06-09 | Which direction do the production POLY3 coeffs run? | PASS — `DISTORT_POLY3` is the **direct** polynomial `d = 1+k1r²+k2r⁴+k3r⁶` (not Monado's reciprocal), output rescale `0.5/(1+grow)`, **no r² clamp** (`undistort_r2_cutoff` unused by `ComputeDistortion`). Evaluator matches ground truth to 0.0002 px max (65×65×3ch×2 eyes, unit LHR-599F3B91). Bonus: driver folds canting into asymmetric `GetProjectionRaw` (eye_to_head reported identity; `parallel_render_cameras: true`), IPD translation = user setting not config default. See `spikes/s3-distortion-truth/FINDINGS.md`. Eyes-in warp check pending (pre-M1). |

+| **S3** ✅ PASS 2026-06-09 | Which direction do the production POLY3 coeffs run? | PASS — `DISTORT_POLY3` is the **direct** polynomial `d = 1+k1r²+k2r⁴+k3r⁶` (not Monado's reciprocal), output rescale `0.5/(1+grow)`, **no r² clamp** (`undistort_r2_cutoff` unused by `ComputeDistortion`). Evaluator matches ground truth to 0.0002 px max (65×65×3ch×2 eyes, unit LHR-599F3B91). Bonus: driver folds canting into asymmetric `GetProjectionRaw` (eye_to_head reported identity; `parallel_render_cameras: true`), IPD translation = user setting not config default. Eyes-in PASS on enlyzeam: pre-warped grid rectilinear through lens both eyes, CA stable, v-orientation + eye assignment confirmed. See `spikes/s3-distortion-truth/FINDINGS.md`. **Spike ladder complete 3/3.** |


3. yes, 4. yes. back on 2: there is color fringing, but it's only where the lines break alignment from the pixel grid. pretty sure it's strictly because there's no antialiasing applied to the image. -…


PowerShell

Check gitignore


# SPT live-agent transient state (commune drop files)
.claude/

# bulky spike capture data (stats.json + environment.txt are committed)
spikes/**/raw_reports.bin
spikes/**/samples.csv

__pycache__/
spikes/**/external/
spikes/**/build/