Question

I'm took a class in Human Computer Interaction, and the professor put in comparison Windows Forms' rendering model with the one used in the modern browsers and in WPF. He called them respectively "paint model" and "retention model". I didn't really get the difference when he explained it and now I tried to google it but nothing has come up. Could someone explain me the diffence between these two rendering models?

Was it helpful?

Solution

This is a guess, as neither terms are standard.

Windows Forms uses GDI for display. What this means is that if the window is covered by another window and then uncovered, WinForms redraws the covered section by rerunning the code to render the screen. Effectively each time part of the window needs to be redrawn it is repainted, over and over again.

WPF and some modern browsers use a rendering pipeline, similar to games, for display in their window. This pipeline is based on a state-machine. The program sets up the state of it's display, and then the render is performed based on that state. I'm guessing what your professor meant by "retention" in that the state is retained, and then re-rendered when needed.

The WPF renderer is DirectX while some browsers use OpenGL. For more info about the OpenGL "state machine" see this answer. https://stackoverflow.com/a/15195685

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top