• entries
    422
  • comments
    1540
  • views
    488859

The new graphical landscape

Sign in to follow this  

228 views

So we've recently had the Professional Developers Conference and now we've got the November DirectX SDK release.

A number of the announcements made between those two events I was already familiar with courtesy of my MVP status (thanks to those in MS willing to share [smile]). A while back it became apparent to me that the landscape for graphics on Windows was shifting, as much with a number of tangible technologies as well as a general emphasis on graphics and multimedia within the Windows eco-system. Windows Vista has a GPU-accelerated and GPU-shiny UI and WPF allows for equally shiny effects and capabilities as a welcome departure from pretty much same-old-same-old UI design over the last 15 years.

So I got doodling on a big join-the-dots puzzle of all these new technologies, platforms and use cases. Now that the dots are publicly visible I figured it was only fair to publish the lines I'd drawn between them [grin]

To start with, the domain elements:



The key thing I want to convey with the above diagram is the six main levels. Each of these are comprised of a number of pieces, but to consider it as a stack (a suitably popular term) seems reasonable to me. Where it gets messy is in drawing the lines between each level.

Note, the eagle-eyed amongst you will spot SlimDX and MDX at the 2nd level. These aren't official (in the sense that MDX is now effectively dead) but I feel they warrant inclusion as they are valid paths between the top (ISV software) and bottom (IHV hardware).

In the meantime I highly recommend reading this (D3D) and this (D2D) presentation and if you've got a couple of hours to kill, watch them here and here respectively.
Sign in to follow this  


4 Comments


Recommended Comments

hmm... I'm pondering about a 7th level in the diagram being "application runtime" or something similar. Basically to differentiate between native and managed code - it makes for a pretty clean deliniation between the current 1st and 2nd levels.

Thoughts?

Share this comment


Link to comment
oh, also note that for now I'm only paying attention to the desktop space and conveniently ignoring server and mobile!

Share this comment


Link to comment

Here are my thoughts, remember you asked for them [wink]

I think the operating systems are a bit out of place. Maybe it'd be nicer to use some background for the diagram indicating which technologies are available on which operating systems. At first glance the diagram seems structured much like this anyway, with the right-hand side of the higher levels being available in XP.

As for the managed stuff, I wouldn't consider SlimDX (or good ol' MDX) an application runtime API any more than vanilla DX. It's true that they build on DX, but it's just a thin wrapper to give .NET access to vanilla DX. XNA on the other hand comes with its content pipeline & some application infrastructure stuff, so it would fit this label better.

I'll be looking at those links first before I make any more ill-informed comments as I did on your entry on Direct2D (sorry 'bout that [smile]), but is WARP10 at its correct place? Back in the day I read some stuff that you can register software rasterizers to the DX9 runtime, so I'd have figured WARP10 would actually replace the HAL device transparently when you want to use it. I'm not sure how that would fit in the diagram, but I'm curious if it works this way or not.

Share this comment


Link to comment
Quote:
Here are my thoughts, remember you asked for them
I did indeed - thanks [smile]

Quote:
I think the operating systems are a bit out of place. Maybe it'd be nicer to use some background for the diagram indicating which technologies are available on which operating systems.
I can see your point, but the slightly difficult and confusing part of creating this diagram is to merge the actual technical differences AND the user-visible differences. I want this diagram to say "using technology _ any user with _ can run my code" or, "I have _ and can therefore use _"...

Quote:
with the right-hand side of the higher levels being available in XP
The ordering Left-to-Right is coincidental for now, but I do intend to associate them in this way eventually!

Quote:
I wouldn't consider SlimDX (or good ol' MDX) an application runtime API any more than vanilla DX
Again, I see your point but I chose to include them simply because they are the first port of call for a number of applications. Whilst they offer limited to no new features themselves they do open doors to certain classes of applications.

Quote:
is WARP10 at its correct place?
No! [smile] Likewise for 10-level-9. They sit at the right level in the diagram but are really subsets of the 10.0/10.1 level rather than as peers...


Cheers,
Jack

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now