Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.


Go Back   Vista Forums > Misc Newsgroups > Avalon

RB

Vista - What's Part of WPF is Native to Vista?

 
 
03-22-2006   #1
Keith Hill [MVP]


 
 

What's Part of WPF is Native to Vista?

I'm confused here a bit. At the 2003 PDC it was all pretty clear. But now
that WPF is going to be made available on XP and is not even installed by
default on Vista CTP, what is it in Vista that is driving Aero Glass? Isn't
(wasn't) that part of Avalon/WPF? Can anybody explain what pieces are
native to Vista and what's part of WPF?

--
Keith



My System SpecsSystem Spec
03-22-2006   #2
Drew Marsh


 
 

Re: What's Part of WPF is Native to Vista?

Keith Hill wrote:

> I'm confused here a bit. At the 2003 PDC it was all pretty clear.
> But now that WPF is going to be made available on XP and is not even
> installed by default on Vista CTP, what is it in Vista that is driving
> Aero Glass? Isn't (wasn't) that part of Avalon/WPF? Can anybody
> explain what pieces are native to Vista and what's part of WPF?


There is an abstraction layer that sits between the managed APIs and the
core OS/DirectX called PresentationCore.dll. This is a Win32 DLL and it's
APIs are not documented, nor are they intended to be used by third parties.
However, the desktop window manager[1] uses this very same DLL to provide
all of the features of the Aero UX like the animated windows, the transparency,
the drop shadows and the fancy Windows Flip3D.

HTH,
Drew

[1] http://blogs.msdn.com/greg_schechter...05/544314.aspx

___________________________________
Drew Marsh
Chief Software Architect
Mimeo.com, Inc. - http://www.mimeo.com
Microsoft C# / WPF MVP
Weblog - http://blog.hackedbrain.com/


My System SpecsSystem Spec
03-22-2006   #3
Jordan Parker [MSFT]


 
 

Re: What's Part of WPF is Native to Vista?

You mean milcore.dll, not PresentationCore.dll. PC.dll is part of the
managed API and talks to milcore.dll like the window manager does.

Jordan

> Keith Hill wrote:
>
>> I'm confused here a bit. At the 2003 PDC it was all pretty clear.
>> But now that WPF is going to be made available on XP and is not even
>> installed by default on Vista CTP, what is it in Vista that is driving
>> Aero Glass? Isn't (wasn't) that part of Avalon/WPF? Can anybody
>> explain what pieces are native to Vista and what's part of WPF?

>
> There is an abstraction layer that sits between the managed APIs and the
> core OS/DirectX called PresentationCore.dll. This is a Win32 DLL and it's
> APIs are not documented, nor are they intended to be used by third
> parties. However, the desktop window manager[1] uses this very same DLL to
> provide all of the features of the Aero UX like the animated windows, the
> transparency, the drop shadows and the fancy Windows Flip3D.
>
> HTH,
> Drew
>
> [1] http://blogs.msdn.com/greg_schechter...05/544314.aspx
>
> ___________________________________
> Drew Marsh
> Chief Software Architect
> Mimeo.com, Inc. - http://www.mimeo.com
> Microsoft C# / WPF MVP
> Weblog - http://blog.hackedbrain.com/
>
>



My System SpecsSystem Spec
03-22-2006   #4
Keith Hill [MVP]


 
 

Re: What's Part of WPF is Native to Vista?

"Drew Marsh" <drub0y@hotmail.no.spamming.com> wrote in message
news:f01844f1edc718c81b5da7968e08@msnews.microsoft.com...
> Jordan Parker wrote:
>
>> You mean milcore.dll, not PresentationCore.dll. PC.dll is part of the
>> managed API and talks to milcore.dll like the window manager does.

>
> Duh, yes... sorry. Thank you for the correction.
> So many pieces to the puzzle hard to keep them all straight sometimes.


Tell me about it. :-) Thanks that did help.

--
Keith


My System SpecsSystem Spec
03-22-2006   #5
Rob Relyea [MSFT]


 
 

Re: What's Part of WPF is Native to Vista?

Keith-

MilCore.dll is part of the Windows Vista Feb CTP. It is an unmanaged dll.
It is our low level rendering code that uses Direct3D to get substantially
advanced rendering capabilities.
The Desktop Window Manager (DWM) writes to MilCore.dll to render the
desktop.
See Greg Schecter's blog post about DWM:
http://blogs.msdn.com/greg_schechter...05/544314.aspx (and the
follow up posts as well)

In Windows Vista Feb CTP, WinFX is not installed by default.
When you do install it, the primary assemblies for basic WPF applications
are:
PresentationFramework.dll - FrameworkElementControls, Shapes, Panels,
Application, etc...
PresentationCore.dll - UIElement (which provide LIFE - Layout, Input,
Focus, Eventing), Media primitives (Brushes, Drawings, etc...)
WindowsBase.dll - DependencyObject
As Jordan wrote earlier, PresentationCore.dll is the managed dll that
communicates with milcore.dll

By the time Windows Vista ships, WinFX will be installed by default.

So all of WPF is available to developers targetting Windows Vista.

Thx, Rob Relyea
WPF, PM
http://longhornblogs.com/rrelyea


"Keith Hill [MVP]" <r_keith_hill@no.spam.thank.u.hotmail.com> wrote in
message news:eVuxDsYTGHA.5108@TK2MSFTNGP11.phx.gbl...
> "Drew Marsh" <drub0y@hotmail.no.spamming.com> wrote in message
> news:f01844f1edc718c81b5da7968e08@msnews.microsoft.com...
>> Jordan Parker wrote:
>>
>>> You mean milcore.dll, not PresentationCore.dll. PC.dll is part of the
>>> managed API and talks to milcore.dll like the window manager does.

>>
>> Duh, yes... sorry. Thank you for the correction.
>> So many pieces to the puzzle hard to keep them all straight sometimes.

>
> Tell me about it. :-) Thanks that did help.
>
> --
> Keith
>



My System SpecsSystem Spec
03-24-2006   #6
Keith Hill [MVP]


 
 

Re: What's Part of WPF is Native to Vista?

"Rob Relyea [MSFT]" <Rob.Relyea@microsoft.nospam.com> wrote in message
news:OMdo$qbTGHA.3192@TK2MSFTNGP09.phx.gbl...
> Keith-
>
> MilCore.dll is part of the Windows Vista Feb CTP. It is an unmanaged dll.
> It is our low level rendering code that uses Direct3D to get substantially
> advanced rendering capabilities.
> The Desktop Window Manager (DWM) writes to MilCore.dll to render the
> desktop.
> See Greg Schecter's blog post about DWM:
> http://blogs.msdn.com/greg_schechter...05/544314.aspx (and
> the follow up posts as well)
>


So what is WPF using underneath on XP?? Is it milcore.dll? Or does it
thunk to GDI/GDI+?

--
Keith


My System SpecsSystem Spec
03-24-2006   #7
Pablo Fernicola [MS]


 
 

Re: What's Part of WPF is Native to Vista?

No usage of GDI/GDI+ anywhere. We use milcore (and Direct3D underneath, if
we are hardware accelerating).

-Pablo

"Keith Hill [MVP]" <r_keith_hill@no.spam.thank.u.hotmail.com> wrote in
message news:eDNNn6uTGHA.224@TK2MSFTNGP10.phx.gbl...
> "Rob Relyea [MSFT]" <Rob.Relyea@microsoft.nospam.com> wrote in message
> news:OMdo$qbTGHA.3192@TK2MSFTNGP09.phx.gbl...
>> Keith-
>>
>> MilCore.dll is part of the Windows Vista Feb CTP. It is an unmanaged
>> dll.
>> It is our low level rendering code that uses Direct3D to get
>> substantially advanced rendering capabilities.
>> The Desktop Window Manager (DWM) writes to MilCore.dll to render the
>> desktop.
>> See Greg Schecter's blog post about DWM:
>> http://blogs.msdn.com/greg_schechter...05/544314.aspx (and
>> the follow up posts as well)
>>

>
> So what is WPF using underneath on XP?? Is it milcore.dll? Or does it
> thunk to GDI/GDI+?
>
> --
> Keith
>



My System SpecsSystem Spec
03-24-2006   #8
Keith Hill [MVP]


 
 

Re: What's Part of WPF is Native to Vista?

"Pablo Fernicola [MS]" <pablo@fernicola.org> wrote in message
news:O3iobrvTGHA.2444@TK2MSFTNGP14.phx.gbl...
> No usage of GDI/GDI+ anywhere. We use milcore (and Direct3D underneath,


OK. So WPF will install milcore.dll on non-VISTA systems as well as
Direct3D (if it isn't alread installed), right?

> if we are hardware accelerating).


And if the system has a generic motherboard video controller (like a lot of
business PCs) that doesn't support hardware acceleration? I seem to recall
mention of software emulation in this case?

Thanks a bunch for helping out here. I'm working on an internal brown bag
and wanted to get this all straight in my head before I tried to explain it.
:-)

--
Keith


My System SpecsSystem Spec
03-24-2006   #9
Guilherme Magalhães [MVP]


 
 

Re: What's Part of WPF is Native to Vista?

If milcore.dll uses DirectX why it's so slow even on fast machines?

The FPS are very very slow. I've been using Expression Interactive Designer
and it's very slow when dealing with draging stuff around. It looks like if
was been rendered using GDI.

The windows used by milcore.dll renders using DirectDraw? Using
OpenGL/Direct3d isn't a better option?

TIA!

--
Guilhere Magalhães - .NET CF MVP
www.guilherme.co.uk


"Keith Hill [MVP]" <r_keith_hill@no.spam.thank.u.hotmail.com> wrote in
message news:%23mBJJj2TGHA.1708@TK2MSFTNGP14.phx.gbl...
> "Pablo Fernicola [MS]" <pablo@fernicola.org> wrote in message
> news:O3iobrvTGHA.2444@TK2MSFTNGP14.phx.gbl...
>> No usage of GDI/GDI+ anywhere. We use milcore (and Direct3D underneath,

>
> OK. So WPF will install milcore.dll on non-VISTA systems as well as
> Direct3D (if it isn't alread installed), right?
>
>> if we are hardware accelerating).

>
> And if the system has a generic motherboard video controller (like a lot
> of business PCs) that doesn't support hardware acceleration? I seem to
> recall mention of software emulation in this case?
>
> Thanks a bunch for helping out here. I'm working on an internal brown bag
> and wanted to get this all straight in my head before I tried to explain
> it. :-)
>
> --
> Keith
>



My System SpecsSystem Spec
03-24-2006   #10
Drew Marsh


 
 

Re: What's Part of WPF is Native to Vista?

Guilherme Magalhaes wrote:

> If milcore.dll uses DirectX why it's so slow even on fast machines?
>
> The FPS are very very slow. I've been using Expression Interactive
> Designer and it's very slow when dealing with draging stuff around. It
> looks like if was been rendered using GDI.
>
> The windows used by milcore.dll renders using DirectDraw? Using
> OpenGL/Direct3d isn't a better option?


Put a break point anywhere in your WPF application and when you hit it, type
the following in the VS2005 immediate window: RenderCapability.Tier

What value do you get back?

Cheers,
Drew


My System SpecsSystem Spec
 

RB


Thread Tools


Similar Threads for: What's Part of WPF is Native to Vista?
Thread Forum
Vista Native Game Problem Gaming
Vista Will Not Permanently Keep Native Resolution Vista performance & maintenance
Sites for Vista native themes Vista General
Vista native resolution Vista hardware & devices
Vista and Native Mode... Vista installation & setup


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd