What is an exchange chain
The origin of exchange chains ?
In game drawing, the rendering speed is very fast, and it can be drawn before the display is updated (that is, the picture is displayed midway). In this way, the screen will display the unfinished picture, There may be flickering situations (because the background is cleared and the new pattern is not fully drawn, leaving a large blank space to be displayed directly. When the new pattern is displayed, it will be cleared to white again, causing a flickering phenomenon). At this point, it is necessary to use exchange chain technology to solve this problem.
How to solve the problem of screen flicker? What is the principle of exchange chain ?
Usually, two color caches are used in games, one is the main cache (forward cache) and the other is the auxiliary cache (backward cache). We draw the drawing process in the auxiliary cache and display the drawn result (which becomes the main cache) on the screen. Switching the cache in the game so that one is used for writing and the other is used for displaying output can eliminate this problem. So the main cache is displayed on the screen, while the auxiliary cache is used for updating the next frame. In computer graphics, this ping-pong technique is called double caching (also known as page flipping). A swap chain can have multiple such caches, and D3D flips between these cache pages.
What is the meaning of exchange chain in Direct3D ?
The exchange chain in Direct3D is a collection of rendering targets in the device. Each device has at least one exchange chain, and multiple exchange chains can be created by multiple devices. A rendering target can have a color cache that has already been rendered and displayed on the screen, a depth cache (mentioned later), a template cache (mentioned later), and so on.