WPF has come into our lives for many years. (Writing this sentence makes me think of "I don't do Big brother for many years". Personally think that in UI practice, users need an easy-to-use, more gorgeous interface. These two should be the most basic and important purposes. And for developers it is the easiest way to develop the most beautiful interface, and efficiency can not be too bad. Is it too much to ask? In addition to some web development and special applications, few development groups are equipped with separate art, at least for now! Based on your current understanding of WPF, it feels like WPF is really powerful in some of these areas.
Objectively speaking, the Vista operating system does bring us unparalleled visual effects. I have a deep experience, in nearly 2 months of time every day is under the development of Vista, home to see the XP system, has always been a bit uncomfortable feeling.
WPF can be considered a feature of MS using the original. NET Framework, plus the product of DIREXTX. From the WPF component in the following illustration, we can see that the bottom layer is still some kernel APIs. (The following two photos are from the Internet.) )
The components shown in red are the core of WPF. Milcore is an unmanaged component that interacts with DirectX, and unmanaged code can bring us more efficient processing and better interaction with DIREXTX. All of the display of WPF is done by Dirext. A very important function of milcore is the composition engine, which requires high efficiency, and its specific effects are described later. So Milcore gave up some of the CLR's features in exchange for efficiency. The other two red components are based on the CLR, using the. NET advantage.
As for the role of the User32 component, what I now know is that in some of the WPF scenarios, User32 is used for some compatibility, including DWM (Desktop window Management). DWM can also write a lot of content, interested friends can look at the SDK documentation.
In addition to our concern about the basic structure of WPF, what is more important is what the WPF provides, please look at the following figure:
Each yellow block in the diagram is a type of media. This means that WPF can handle almost all media types: bitmaps, 3D, audio, video, text, and so on. With WPF, it integrates the current gdi/gdi+, D3d/opengl, and Multimedia DShow, among others. Everything is an equivalent object, regardless of 3D or 2D, or text.
The animate block in the structure diagram runs through the entire structure, because in WPF we can animate all the visual content. This is a very expected function. Animate below we see the composition engine again, which is mentioned above in the Milcore component. In the development process, our interface element function has many kinds, for instance picture, video and so on, finally displays to the window content may think is only a picture (accurately is surface). The function of this engine is to synthesize these images and video elements for final submission display.
How to feel is a pile of nonsense! I am ready, everyone's tomatoes, eggs not stingy, although miscellaneous it!