4 ms·
FWIW, filling a screen with monospaced pixel-font text (plus colors and stuff) takes single-digit microseconds on a modern GPU once everything is in on-device m
by aappleby 5y ago
FWIW, filling a screen with monospaced pixel-font text (plus colors and stuff) takes single-digit microseconds on a modern GPU once everything is in on-device memory. Fancier fonts or distance-field-based antialiasing is a few times that.
All the rest of the time is bookkeeping and memory transfers.
- jdashg 5y agoFilling 8MB (32bpp 1080p) in 10us would be 800GB/s, or 6400gbps. An RTX 3090 has 19.5gbps of on-device bandwidth. GPUs are FAST, but frame data is BIG.
- jiggawatts 5y agoThis is exactly Casey's point, and something I've been ranting about a lot myself: Programmers these days have mental models of performance that are often "off" by three orders of magnitude or more! To clarify: Not a factor of three, but incorrect by thousands. My older RTX 2080 Ti has main memory bandwidth (not on-chip cache bandwidth!) of 616 gigabytes per second. The more modern 3080 Ti has 912 gibabytes per second. Let that sink in: ONE TERABYTE PER SECOND! They really are that fast. My old work machine has a GTX 980, and even that has 225 GB/s of bandwidth. It's a 7 year old card! Let's use that to make things fair and realistic. I have a 4K screen plugged into it, so the frame buffer is 31 MB. That works out to 7,282 frames per second, or 137 microseconds per frame. The GPU hardware is not the issue here. It's entirely possible to do it in microseconds even on very old hardware.