Smart pointers instead of GC?
Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Tue Feb 4 03:33:05 PST 2014
On Tuesday, 4 February 2014 at 07:15:17 UTC, Adam Wilson wrote:
> On Mon, 03 Feb 2014 23:05:35 -0800, Eric Suen
> <eric.suen.tech at gmail.com> wrote:
>
>>
>> "Ola Fosheim Gr?stad" <ola.fosheim.grostad+dlang at gmail.com>">
>>> 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.
More information about the Digitalmars-d
mailing list