Flicker (screen) - Software Artifacts

Software Artifacts

Flicker, a flashing effect displeasing to the eye, often occurs through flaws in software, with no hardware faults involved. Flicker in software is caused by a computer program's failure to consistently maintain its graphical state. For example, the practice of blanking an area directly in the frame buffer, then drawing 'on top' of it, makes it possible for the blank region to appear momentarily onscreen.

When it is not feasible to set each pixel only once, double buffering can be used. The method involves creating an off-screen drawing surface, drawing to it, and then copying it all at once to the screen. While this technique cuts down on software flicker, it can also be very inefficient.

Flicker is also used intentionally by developers on low-end systems to create the illusion of more objects or colors/shades than are actually possible on the system, or as a speedy way of simulating transparency. While typically thought of as a mark of older systems like 16-bit game consoles, the flicker technique continues to be used on new systems, such as the temporal dithering used to fake true color on most new LCD monitors.

Video hardware outside the monitor can also cause flicker through many different timing and resolution related artifacts such as screen tearing, z-fighting and aliasing.

Read more about this topic:  Flicker (screen)