On Tuesday, 4 February 2014 at 07:15:17 UTC, Adam Wilson wrote:
On Mon, 03 Feb 2014 23:05:35 -0800, Eric Suen <[email protected]> wrote:


"Ola Fosheim Gr?stad" <[email protected]>">

So, Microsoft does not think that GC is suitable for real time interactive graphics. And they are right.

And they are right." is only your opinion. you don't know the real reason
behind MS's decision. some resource need release ASAP, so you

Actually the reason is that DirectX is a specialized Native COM-Like API that is NOT compatible with normal COM and therefore not compatible with .NET COM Interop. Milcore is a

Quoting
http://msdn.microsoft.com/en-us/library/ms750441(v=vs.110).aspx :

«Milcore is written in unmanaged code in order to enable tight integration with DirectX. All display in WPF is done through the DirectX engine, allowing for efficient hardware and software rendering. WPF also required fine control over memory and execution. The composition engine in milcore is extremely performance sensitive, and required giving up many advantages of the CLR to gain performance.»

Please note that Microsoft knows their stuff: «WPF also required fine control over memory and execution.» and «required giving up many advantages of the CLR to gain performance».

WPF maintains a retained mode shadow-tree of the composition elements of the scene graph to get more responsive applications. i.e. to avoid having client code blocking rendering:

«There is a very important architectural detail to notice here – the entire tree of visuals and drawing instructions is cached. In graphics terms, WPF uses a retained rendering system. This enables the system to repaint at high refresh rates without the composition system blocking on callbacks to user code. This helps prevent the appearance of an unresponsive application.»

But… I don't think it was a good idea to go for full back-to-front rendering.

Reply via email to