Skip to main content
GameDev.net gamedev.net
🔒 Locked

Diagram of Windows Graphics in 2009

Started by jollyjeffers Jan 31, 2009 at 11:21 AM 26 replies 7.9k views
Original Post
jollyjeffers
jollyjeffers
Afternoon all, Thought I'd share this diagram I drew with you all...
I've written about it in my developer journal a couple of times now, and I was planning on including the above (broken down accordingly) into a whitepaper on the subject. Looks like I've run out of time to actually get anything meaningful written up (if you're interested in a half-finished draft then let me know) but thought the diagram could be useful nonetheless [smile] With last years PDC and the forthcoming Windows 7 developments there are quite a few new graphics technologies available. Not that its hugely complicated, but it proved interesting to see how they all fitted together... Cheers, Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
Mike.Popoloski
Mike.Popoloski
I like the final product. Any chance we can snatch up a copy to integrate into the SlimDX documentation?

(By the way, what made you choose the word "bespoke"? Is that a commonly used word where you live?)
Mike Popoloski | Journal | SlimDX
jollyjeffers
jollyjeffers
Yeah, would be perfect if it could be put to good use in the SlimDX docs. I've got various other diagrams you may well wish to use as well. I'll drop you a mail when I've got some more time (just heading out now!)...

"Bespoke" was used a fair bit in my previous company, they seemed to like it as a slightly posh way of explaining the 'glue' they put between various off-the-shelf software components... what would you've used?


Cheers,
Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
dmatter
dmatter
I like it [smile]
I think it could come in handy too.

I notice there are two arcs from GDI/GDI+ down to CPU, this makes it possible to trace a direct link between Bespoke Software Applications and Actual Graphics Hardware, was that the intention?

Quote:
Original post by Mike.Popoloski
(By the way, what made you choose the word "bespoke"? Is that a commonly used word where you live?)
Hmm, I wouldn't say it's commonly used in day to day conversation, but I expect it is a word that enough people know the meaning of without referring to a dictionary.
Mike.Popoloski
Mike.Popoloski
Quote:
Hmm, I wouldn't say it's commonly used in day to day conversation, but I expect it is a word that enough people know the meaning of without referring to a dictionary.

Maybe it's a UK thing. I consider myself to have a fairly large vocabulary, but I had to go look it up to see what it meant. At first, for a few seconds I even thought it was the name of a company Jack worked for [grin]
Mike Popoloski | Journal | SlimDX
LessBread
LessBread
I thought it was the name of the software company too. If it's not, then it's not needed. "Software Applications" says everything that needs to be said. Imo, "bespoke" is archaic. If you mean to say "custom software applications" than say that instead of using a word that has to be looked up in a dictionary. Otherwise, nice diagram!
"I thought what I'd do was, I'd pretend I was one of those deaf-mutes." - the Laughing Man
Codeka
Codeka
Quote:
Original post by LeGreg
9.0c should point to 9Ex because if you follow all the arrows you seem to be telling that mdx and xna cannot work on vista.


9.0c applications work on Vista. By pointing an arror from 9.0c to 9Ex, you'd be implying that 9.0c was built "on top of" 9Ex, which is not true.
Mathmo
Mathmo
Bespoke makes perfect sense in the context - it fits better than "custom". If you are paying someone to produce a product tailored to your needs, then that is a bespoke product. Surely you would know what I meant, if for example I said that my suit was bespoke? Maybe a UK thing...

However, this is, indeed very OT. Interesting diagram, elucidates slightly the complex way things go.
SiCrane
SiCrane
My only nitpick: the position of Direct2D is a little disorienting, as it's the only box with an arrow going up. I'd move it off to the right a little and move DirectWrite and GDI/GDI+ up a little.
ExcessNeo
ExcessNeo
Quote:
Original post by Codeka
Quote:
Original post by LeGreg
9.0c should point to 9Ex because if you follow all the arrows you seem to be telling that mdx and xna cannot work on vista.


9.0c applications work on Vista. By pointing an arror from 9.0c to 9Ex, you'd be implying that 9.0c was built "on top of" 9Ex, which is not true.


No, by pointing an arrow from 9.0c to 9Ex you would be implying that 9Ex was built on top of 9.0c, which is true.
LessBread
LessBread
Quote:
Original post by Mathmo
Bespoke makes perfect sense in the context - it fits better than "custom". If you are paying someone to produce a product tailored to your needs, then that is a bespoke product. Surely you would know what I meant, if for example I said that my suit was bespoke? Maybe a UK thing...

However, this is, indeed very OT. Interesting diagram, elucidates slightly the complex way things go.


Bespoke must be a UK thing, because I don't recall ever hearing the word before. I had to look it up actually. bespoke

Quote:

be⋅spoke
   /bɪˈspoʊk/ Show Spelled Pronunciation [bi-spohk] Show IPA Pronunciation
–verb
1. a pt. and pp. of bespeak.
–adjective
2. British.
a. (of clothes) made to individual order; custom-made: a bespoke jacket.
b. making or selling such clothes: a bespoke tailor.
3. Older Use. engaged to be married; spoken for.


"If you are paying someone to produce a product tailored to your needs, then that is a bespoke product."

In the US we would call that custom-made, as in the definition cited above.

"Two peoples separated by a common language" [smile]
"I thought what I'd do was, I'd pretend I was one of those deaf-mutes." - the Laughing Man
LeGreg
LeGreg
Quote:
Original post by SiCrane
Quote:
Original post by ExcessNeo
No, by pointing an arrow from 9.0c to 9Ex you would be implying that 9Ex was built on top of 9.0c, which is true.

Nope, Direct3D 9Ex is a separate subsystem from 9.0c. ...Direct3D 9Ex uses a separate API and driver code path than Direct3D 9....


In practice, d3d9.0c calls into the exact same driver entrypoints than a d3d9ex (not talking about xpdm on vista obviously which doesn't support all the new bells and whistle of vista, but wddm on vista). Plus in the case of windowed app running under dce (compositing engine), the runtime will ensure that the legacy d3d9/8/7 apps work well with surface sharing.

So I'm not sure what you mean by separate subsystem. Plus you're nitpicking on something I said when it's obvious that there should be a path from xna to vista, I don't know why anybody is arguing about that :/.

LeGreg
jollyjeffers
jollyjeffers
Quote:
I notice there are two arcs from GDI/GDI+ down to CPU, this makes it possible to trace a direct link between Bespoke Software Applications and Actual Graphics Hardware, was that the intention?
Good catch, thanks! The intention was that GDI/GDI+ can sometimes be hardware accelerated (ISTR XP can hw accelerate but Vista doesn't) but there shouldn't be the horizontal line linking the 'bespoke software' to the GDI/GDI+ part.

Quote:
I had to go look it up to see what it meant. At first, for a few seconds I even thought it was the name of a company Jack worked for
Quote:
Imo, "bespoke" is archaic. If you mean to say "custom software applications" than say that instead of using a word that has to be looked up in a dictionary.
Quote:
"Two peoples separated by a common language"


[lol] You guys crack me up! Must say it reminds me of the retitling of one of the Harry Potter books (as an aside, and difference to Wikipedia, the story I read here in the UK is that American audiences wouldn't know what a "philosopher" was but I suspect that was just the UK press being mean!)

The previous IT Services company I worked for liked the phrase as I think they felt it elevated them above the riff-raff producing mere "custom" software. Once you've been around people using the phrase on a regular basis for long enough you start to use the words/phrases yourself.

Ultimately that box at the top of the diagram mean bespoke/custom/3rd-party/ISV applications. More specifically, NOT Microsoft-provided code.

Quote:
9.0c should point to 9Ex because if you follow all the arrows you seem to be telling that mdx and xna cannot work on vista.
Quote:
By pointing an arror from 9.0c to 9Ex, you'd be implying that 9.0c was built "on top of" 9Ex, which is not true.


Yes, this raises an interesting dilema I had when drawing the diagram. On face value it does say exactly this - 9.0c is not on W7/Vista and neither are the XNA/MDX runtimes further up the tree, which in reality is wrong.

I experimented with the various 're-routing' (e.g. older D3D8/D3D7 API's being re-mapped/emulated via later API's) as well as simply showing every possible combination of route between API/runtime/OS. In the end the clutter and complexity of the diagram detracted from its usability so I dropped it.

The diagram I posted is more a view of how the components run 'natively'. Yes, 9.0c (and earlier) run on Vista/W7 but its native platform was WinXP and XPDM. In my eyes writing 9.0c code on Vista is reasonably equivalent to writing XP code on Vista, even if it is perfectly legal and a perfectly valid choice. It also keeps the diagram clear and concise [smile]

Quote:
the position of Direct2D is a little disorienting, as it's the only box with an arrow going up. I'd move it off to the right a little and move DirectWrite and GDI/GDI+ up a little.
Yup, the problem I originally had was that different orders often had arrows going through the text (e.g. the "Application Programming Interfaces" caption currently immediately above the 'Direct2D' box). I'll have another crack at it though, thanks for the feedback!


Cheers,
Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
LessBread
LessBread
Quote:
Original post by jollyjeffers
Quote:
I had to go look it up to see what it meant. At first, for a few seconds I even thought it was the name of a company Jack worked for
Quote:
Imo, "bespoke" is archaic. If you mean to say "custom software applications" than say that instead of using a word that has to be looked up in a dictionary.
Quote:
"Two peoples separated by a common language"


[lol] You guys crack me up! Must say it reminds me of the retitling of one of the Harry Potter books (as an aside, and difference to Wikipedia, the story I read here in the UK is that American audiences wouldn't know what a "philosopher" was but I suspect that was just the UK press being mean!)

The previous IT Services company I worked for liked the phrase as I think they felt it elevated them above the riff-raff producing mere "custom" software. Once you've been around people using the phrase on a regular basis for long enough you start to use the words/phrases yourself.

Ultimately that box at the top of the diagram mean bespoke/custom/3rd-party/ISV applications. More specifically, NOT Microsoft-provided code.


Yes, well, it makes sense that a person would employ frequently heard words. Conversely, infrequently heard words can result in confusion and "bespoke" isn't a word used in the US. We would use "spoken for" in regards to a woman and "tailor made" or "custom made" in regard to products made to individual order.

"I thought what I'd do was, I'd pretend I was one of those deaf-mutes." - the Laughing Man
Mike.Popoloski
Mike.Popoloski
Quote:
Original post by legalize
I thought SlimDX could talk to a 10.1 device?


I'm actually not entirely sure if we have 10.1 support, but I do know we have fledgling D3D 11 and DirectWrite support, and the current beta of Direct2D has been completely wrapped.
Mike Popoloski | Journal | SlimDX
remigius
remigius

Looking at the diagram, the lines going out from D3D10.1/D3D11 seem to suggest these runtimes have massively varying hardware specs to work with. I know (or rather I've read) that this actually a good thing, since these are device classes with guaranteed fixed feature sets, but somehow the diagram makes D3D9 look a hell of a lot cleaner and more straightforward [smile]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.