3 ms·
The engine only copied pixels from fast main RAM to slow VGA RAM when they changed value, so using flat shading for most of the objects was a necessity for perf
by sehugg 2y ago
The engine only copied pixels from fast main RAM to slow VGA RAM when they changed value, so using flat shading for most of the objects was a necessity for performance. IIRC all of the planes used Gouraud shading.
- 01HNNWZ0MV43FF 2y ago"Slow video RAM". Wild!
- mjg59 2y agoVideo ram is still slow if you're accessing it from the CPU! Doing software 3D didn't really let you make use of whatever (limited) acceleration video adapters had at the time, which were mostly aimed at accelerated lines and moving rectangles around (you know, things that are useful if you're Windows). That meant the CPU was having to calculate everything and then push pixels over the bus. This was why people were willing to use things like the VESA Local Bus, basically an extension of the 486 bus usually used to drive a graphics card and starting at a heady 100MB/sec. Terrible idea (it got faster as your CPU bus got faster, and if your card couldn't deal with that you'd have to underclock your CPU), but until graphics hardware started offering operations that matches what game developers wanted, the number of pixels you could push over that bus per second was genuinely a limiting factor.
- astrange 2y agoDid it have double buffering, or did you have to update the screen while it wasn't scanning out that part?
- fabiensanglard 2y agoMy understanding is that the double buffering was done in RAM (instead of VRAM). He did it by keeping the two last frames in EMS/XMS, calculating the delta, and copying only the parts that had changed from RAM to VRAM during VBLANK. Source: https://fabiensanglard.net/stunt_island/#:~:text=I%20always%20rendered%20to%20fast%20memory%20and%20kept%20the%20previous%20frame%3B https://fabiensanglard.net/stunt_island/#:~:text=I%20always%...
- mwcampbell 2y agoIs there still slow video RAM on machines with unified memory, like Apple Silicon Macs?