assemblyscreencpulow-levelgraphic

How does a computer draw the screen?


How does a computer draw anything to the screen at the lowest level (nothing about external libraries like X11)? Are there supposed to be assembly commands that do this? How exactly does the CPU control what appears on the screen?


Solution

  • Typically there is an area of memory called frame buffer in your video card. Writing a value there means to establish the color value of a pixel.

    You can consider a frame buffer like a 2D array, where each bit represent a pixel on the screen. To represent colors are used different levels of buffer. Today a common frame buffer has 24 levels (8 for each RGB color component) and allows the definition of 2^24 possible colors.

    Nowadays generally the access to the frame buffer occurs through the GPU for performance reasons: even if it is possible for the CPU to perform this task, it is quite expensive.