diff --git a/docs/architecture.md b/docs/architecture.md index 21d2a0d..ecc455a 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -57,11 +57,11 @@ For comparing while the client runs (development): be taken, and gives up on a renderer process that stops taking them (the client's renderer carries on). - The renderer process reproduces IMVU's Direct3D 9 setup (`renderer/shaders/fixed_function.hlsl`), particles included (point sprites, drawn as instanced squares), with a pipeline per combination of states. -- Speed: on the development VM (software rendering) a room frame takes 8 to 60 ms to draw; the time from the - client finishing a frame to ours being presented averages about 60 ms. The renderer process draws only the - newest frame when it falls behind, and keeps at most one frame queued. Over Remote Desktop, the half drawn by the - renderer process (another process's window, composited by Windows) visibly trails the client's half by more - than that; that delay comes after presenting, and is to be checked on a real graphics card and display. +- Speed: on a PC with a graphics card, a room frame takes about 2 ms to draw (some 430 draws), and the time from + the client finishing a frame to ours being presented is about 3 ms: the halves can't be told apart, even while + the camera moves. On the development VM (software rendering, over Remote Desktop) drawing takes 8 to 60 ms, and + the right half visibly trails, mostly from compositing another process's window over Remote Desktop. The + renderer process draws only the newest frame when it falls behind, and keeps at most one frame queued. Next: render targets (offscreen frames are skipped), the renderer process drawing the whole view in place of the client's renderer, and one renderer process for all of a client's views.