Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Games have redrawn everything on every frame for decades, certainly since GPUs became a thing. Memory speed is definitely not a concern. 2D windowing systems used to only redraw "dirty rectangles" but that changed when they moved to GPU compositing as well.

On the other hand, of course, CPUs do have a complex system of several levels of caches, but that's not primarily because of (lack of) memory bandwidth but memory latency.



> 2D windowing systems used to only redraw "dirty rectangles" but that changed when they moved to GPU compositing as well.

For Win32 and X11 at least the damaged region (or "invalid region") approach is still there and AFAIK recently (as in a few months ago) the modesetting driver for Xorg added the ability to use the damage regions when "TearFree" is enabled (this does server-side composition to avoid tearing - it is disabled by default) to only update the of the screen that changed instead of the entire screen.

Also i remember reading some time ago about some monitors being able to use partial frame data (the monitor "shadows" the frame) so that they can support faster updates.

I think the concept can also help with slow display tech like e-ink devices.


All modern web browsers still do tiling (at the compositing layer level). It's the only way to handle large layers and scrolling efficiently.

Some also implement partial redraw into the tiles to handle things like cursors blinking to avoid having to redraw the entire tile.


Games started redrawing everything because once you have a camera that rotates in 3D, the pixel reuse drops a lot vs one that pans over a 2D plane.


More like after shaders became a thing, and it hardly matters when it is an application runnning on the GPU that is responsible for actually drawing.

However it is still an issue if one wants to achive maximum performance, and it is done by only sending the vertices and textures to the GPU that are actually going to be visible.


Some modern game UI still use dirty draw tech.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: