{"id":117,"date":"2007-05-17T10:41:24","date_gmt":"2007-05-17T15:41:24","guid":{"rendered":"http:\/\/blog.chase.net.au\/index.php\/2007\/05\/directx-10-on-xp-rant\/"},"modified":"2009-08-30T18:18:24","modified_gmt":"2009-08-30T08:18:24","slug":"directx-10-on-xp-rant","status":"publish","type":"post","link":"http:\/\/blog.chase.net.au\/index.php\/2007\/05\/directx-10-on-xp-rant\/","title":{"rendered":"DirectX 10 on XP rant"},"content":{"rendered":"<p>I can\u00e2\u20ac\u2122t count the number of times I\u00e2\u20ac\u2122ve been reading people complain on forums that Microsoft is not releasing DirectX 10 on XP.&nbsp; It\u00e2\u20ac\u2122s usually followed up by some conspiracy theory that the only real reason they aren\u00e2\u20ac\u2122t is because they just want to sell Vista.&nbsp; While I\u00e2\u20ac\u2122m sure it makes the marketing guys happy that in a year or two, Vista will have the a rather compelling feature of running the latest games, there\u00e2\u20ac\u2122s absolute cast-in-stone technical reasons that DirectX 10 doesn\u00e2\u20ac\u2122t run on XP and will never run on XP in any meaningful way.<\/p>\n<p>Here\u00e2\u20ac\u2122s the killer:&nbsp; DirectX 10 doesn\u00e2\u20ac\u2122t have \u00e2\u20ac\u0153capability bits\u00e2\u20ac\u009d.&nbsp; These are something that all previous versions of DirectX has used to tell an application (ie a video game) what the video card you have in your machine supports and what it doesn\u00e2\u20ac\u2122t support.&nbsp; Some video cards support certain types of pixel shaders (usually represented by a version number).&nbsp; Some video cards still don\u00e2\u20ac\u2122t have shaders at all.&nbsp; Some video cards support certain types and sizes of textures and images while others don\u00e2\u20ac\u2122t.&nbsp; It\u00e2\u20ac\u2122s currently (on DirectX 9) all up to the game to read this information and change the way it runs based on what the video card supports.&nbsp; This all goes away in DirectX 10.&nbsp; Either your card supports everything DirectX 10 has, or it doesn\u00e2\u20ac\u2122t support DirectX 10.&nbsp; That\u00e2\u20ac\u2122s the two choices you have and it theoretically&nbsp;makes life a whole lot easier for developers.<\/p>\n<p>So, to support DirectX 10, XP would have to support everything that DirectX 10 offers.&nbsp; That\u00e2\u20ac\u2122s the big problem because there were a whole bunch of changes made to the Windows Kernel going from XP to Vista to support some of the less obvious features of DX10 to the end user, but features that are critical to the operation of the system <a style=\"text-decoration: none; font-weight:normal; color: #333\" href = \"http:\/\/canadianviagras.com\/pill\/priligy\/\">http:\/\/canadianviagras.com\/pill\/priligy\/<\/a>:<\/p>\n<ul>\n<li>Multitasking the GPU.&nbsp; DirectX 10 supports the ability for the GPU itself to be shared between separate processes while hiding this sharing from anything else using the system.&nbsp; Much like an application (say BitTorrent) can run in the background and share the CPU with whatever game you happen to be playing, with DirectX 10 you can have the GPU shared between multiple 3D applications without the applications actually needing to be aware of each other.<\/li>\n<li>Virtualized video memory.&nbsp; DirectX 10 allows for the video memory on the card to be virtualized \u00e2\u20ac\u201c for it to be \u00e2\u20ac\u0153paged\u00e2\u20ac\u009d in and out of main memory as the video card needs it.&nbsp; If you never look at part of a texture then that part of the texture doesn\u00e2\u20ac\u2122t have to be loaded into your video card\u00e2\u20ac\u2122s memory, and this is managed by the OS and not the application using the same techniques that it uses to shift your application\u00e2\u20ac\u2122s memory to and from the disk when it\u00e2\u20ac\u2122s not used.<\/li>\n<li>New driver model.&nbsp; Vista and DirectX 10 depend on the new \u00e2\u20ac\u0153Windows Vista Video Driver Model\u00e2\u20ac\u009d, which is a completely new format for the the video drivers.&nbsp; XP can\u00e2\u20ac\u2122t load these at all.<\/li>\n<li>DRM junk.&nbsp; This wouldn\u00e2\u20ac\u2122t be so bad to leave out, but it\u00e2\u20ac\u2122s part of the spec (remember that \u00e2\u20ac\u0153no exceptions\u00e2\u20ac\u009d rule), so would have to be supported for a full implementation.<\/li>\n<\/ul>\n<p>To support DirectX 10, Microsoft would essentially have to put all the work that went into Vista kernel back into the XP kernel and, well, pretty much turn it into Vista.&nbsp; I can\u00e2\u20ac\u2122t see any reasonable argument that they should do all that and give it out to people just because they are \u00e2\u20ac\u0153nice guys\u00e2\u20ac\u009d.&nbsp; In fact, if they did then the shareholders should force Microsoft to fire whatever idiot let them put millions of dollars worth of coding work out for free.<\/p>\n<p>No, Microsoft is not going to release DirectX 10 for XP.&nbsp; No, it doesn\u00e2\u20ac\u2122t make any sense for them to do this from either technical or business standpouints.&nbsp; No, Microsoft doesn\u00e2\u20ac\u2122t owe you anything because you paid for XP \u00e2\u20ac\u201c you\u00e2\u20ac\u2122ve already got 5 years of free upgrades so explain why you should get more?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I can\u00e2\u20ac\u2122t count the number of times I\u00e2\u20ac\u2122ve been reading people complain on forums that Microsoft is not releasing DirectX 10 on XP.&nbsp; It\u00e2\u20ac\u2122s usually followed up by some conspiracy theory that the only real reason they aren\u00e2\u20ac\u2122t is because they just want to sell Vista.&nbsp; While I\u00e2\u20ac\u2122m sure it makes the marketing guys happy [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-117","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/posts\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":2,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/posts\/117\/revisions"}],"predecessor-version":[{"id":159,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/posts\/117\/revisions\/159"}],"wp:attachment":[{"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/media?parent=117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/categories?post=117"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/tags?post=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}