3 ms·
Vaguely relatedly: I used to design graphics accelerators for Macs (back in the 90s) we got our best performance by spending time making writing 0s (or rather s
by Taniwha 5y ago
Vaguely relatedly: I used to design graphics accelerators for Macs (back in the 90s) we got our best performance by spending time making writing 0s (or rather solid fills) really really fast (1.5Gb/s which was lot back then) - why? because as always whatever you'd do in hardware, the software guys would piss away - for example sometimes excel would erase the background 8 times before it ever wrote a black pixel - there was little point in speeding up those black (interesting, useful) pixels when speeding up the background white ones being written over and over on top of themselves was such a win
- psykotic 5y agoIn a similar vein, all non-tiled GPUs do some form of lossless framebuffer compression purely as a bandwidth optimization (it doesn't save on DRAM footprint because that would mess too much on the fly with the memory layout and you'd need to allocate for the worst case anyway). The simplest case is indeed fast clears (to any color/depth/stencil value) but it also works at a finer grain. It's essential for MSAA where a single pixel on your display is resolved from up to 16 subpixel samples which most of the time are strongly correlated. E.g. 1 constant color, or 2 constant colors separated by a line (from a triangle edge). And not just color but depth: with a 16x MSAA pixel covered by a single triangle you have 16 distinct depth values but they are all coplanar, so you can compress them losslessly by just storing the plane equation's coefficients.
- Taniwha 5y agoWell that's sort of a different point - what I was more generally trying to point out is that sometimes you need to optimise for stupid stuff (and win bigly) ... because people actually do stupid things