{"id":25,"date":"2007-10-17T15:50:06","date_gmt":"2007-10-17T13:50:06","guid":{"rendered":"http:\/\/onsoftware.softonic.com\/directx-10-el-api-grafico-del-futuro\/"},"modified":"2025-06-13T06:54:14","modified_gmt":"2025-06-13T04:54:14","slug":"diferencias-directx-9-directx-10","status":"publish","type":"post","link":"https:\/\/cms-articles.softonic.io\/es\/diferencias-directx-9-directx-10\/","title":{"rendered":"De DirectX 9 a DirectX 10, un viaje de calidad"},"content":{"rendered":"<p><a href=\"https:\/\/articles-images.sftcdn.net\/wp-content\/uploads\/sites\/2\/2007\/10\/news230106_3dujourgif.jpg\"><\/a><\/p>\n<p style=\"text-align: center\"><a href=\"https:\/\/articles-images.sftcdn.net\/wp-content\/uploads\/sites\/2\/2007\/10\/news230106_3dujourgif.jpg\"><img decoding=\"async\" src=\"https:\/\/articles-images.sftcdn.net\/wp-content\/uploads\/sites\/2\/2007\/10\/news230106_3dujourgif.jpg\" \/><\/a><\/p>\n<p>DirectX 10 es la nueva API de Microsoft para juegos que acabar\u00e1 convirti\u00e9ndose en el est\u00e1ndar para PC o, al menos, esa es la intenci\u00f3n de Microsoft. Es una herramienta potente, desde luego, pero tambi\u00e9n es potente el ordenador necesario para conseguir que &#8220;ande&#8221;. Y si adem\u00e1s quieres que corra, hoy por hoy hay que soltar una cantidad de dinero importante para conseguirlo.<\/p>\n<p>A\u00fan as\u00ed, se trata de una API que demuestra como un mismo juego puede ser totalmente diferente dependiendo la versi\u00f3n de DirectX que utilices. Y el m\u00e1ximo exponente de este tema es Crysis, el juego de acci\u00f3n de los creadores de Far Cry. Con este ejemplo, intentar\u00e9 aclarar y resumir las diferencias que hay entre la versi\u00f3n 9 y 10 de DirectX y como puede cambiar la forma de ver los juegos.<!--more--><\/p>\n<p>Lo primero, y m\u00e1s obvio, que hay que decir es que <strong>DirectX 10  s\u00f3lo funciona con Windows Vista<\/strong>, el nuevo sistema operativo de Microsoft. Pero, adem\u00e1s hay dos detalles m\u00e1s. En primer lugar, <strong>no funciona con todas las tarjetas gr\u00e1ficas<\/strong>, ahora mismo s\u00f3lo con la \u00faltima generaci\u00f3n de nVidia (8xxx) y las tarjetas ATI m\u00e1s recientes.<\/p>\n<p>Lo segundo es que si tenemos ambas cosas, no disfrutaremos de ello en juegos que utilicen DirectX 9, principalmente porque DirectX 10 conserva el nombre b\u00e1sicamente para que no nos confundamos. En realidad, esta \u00faltima versi\u00f3n no es compatible con anteriores versiones de DirectX. Por eso, Windows Vista emula DirectX 9 en la mayor\u00eda de juegos del mercado.<\/p>\n<p>\u00bfPor qu\u00e9 se plante\u00f3 entonces Microsoft crear una API completamente nueva para el sistema operativo? Por algo muy simple y a la vez muy complejo: las <strong>limitaciones <\/strong>de DirectX 9.<\/p>\n<p>Y es que la gran limitaci\u00f3n de DX9 es el \u201cObject Overhead\u201d, que en palabras m\u00e1s simples, significa que DirectX 9 utilizaba ciclos de nuestra CPU para hacer renders antes de ser enviados a la GPU. Cuando se renderiza un juego, la aplicaci\u00f3n primero debe llamar al API y luego el API llama al driver antes de poder llegar a la GPU. Todas estas llamadas son manejadas por la CPU y eso conlleva que se cree un importante cuello de botella.<\/p>\n<p>Debido a estos problemas iniciales, Microsoft se dio cuenta de que era necesario crear limitaciones de objetos y, ahora mismo, la cantidad m\u00e1xima de objetos en cada frame es de aproximadamente 500 objetos. El resultado es que casi siempre los desarrolladores deben balancear cuidadosamente el juego, para que este no se \u201ccuelgue en medio de una partida\u201d.<\/p>\n<p>Un ejemplo bastante claro es la creaci\u00f3n de un bosque. Si prestas atenci\u00f3n en un bosque ver\u00e1s que un mismo \u00e1rbol se repite infinidad de veces y en diferentes perspectivas y tama\u00f1os para dar la impresi\u00f3n de que son muchos. Este es uno de los recursos que los programadores utilizan para poner mas cantidad de objetos en un mismo frame, tratando de mostrar un paisaje lo m\u00e1s realista posible. As\u00ed DirectX 10 elimina esta limitaci\u00f3n y es posible, por ejemplo, introducir miles de \u00e1rboles diferentes como muestra Crysis.<\/p>\n<p>Con la desaparici\u00f3n de este problema, adem\u00e1s <strong>se reduce nada m\u00e1s y nada menos que a la mitad el tiempo de ejecuci\u00f3n de un proceso<\/strong>. Con DirectX 10 se podr\u00e1n realizar c\u00e1lculos de f\u00edsica en los GPU, aumentando dr\u00e1sticamente la calidad de lo que podemos ver en pantalla.<\/p>\n<p>La diferencia se aprecia en la siguiente pantalla de Flight Simulator X:<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/articles-images.sftcdn.net\/wp-content\/uploads\/sites\/2\/2007\/10\/fsxdx9-10v.jpg\" \/><\/p>\n<p>Microsoft tambi\u00e9n dio algunas de las caracter\u00edsticas principales:<\/p>\n<ul>\n<li><strong>Llamadas a la API m\u00e1s eficientes<\/strong>: (hasta un 10%) y menos frecuentes (se evitan muchas llamadas para cambiar renderstates y similares): Reduciendo este n\u00famero se aligera la carga de CPU sobre la parte gr\u00e1fica de la aplicaci\u00f3n, lo que permite aprovechar mejor ambos sistemas.<\/li>\n<li><strong>Shader Model 4.0.<\/strong>: Se aumenta el n\u00famero en general (l\u00edmite de registros, de render targets, de bytes en el vertex buffer\u2026). Adem\u00e1s, se permite el acceso a texturas sin restricciones desde cualquier tipo de shader (en el SM3.0, se pod\u00eda acceder a texturas en el Vertex Shader, pero de forma poco eficiente y restringida).<\/li>\n<li><strong>Geometry Shader<\/strong>: Este shader se coloca entre el Vertex y el Pixel Shader, y tiene una caracter\u00edstica que no tienen los otros dos: Puede aumentar o disminuir el n\u00famero de elementos que pasan a la siguiente fase. Incluso puede acceder a memoria del sistema, para guardar o cargar elementos. Te\u00f3ricamente, esto permitir\u00eda crear geometr\u00eda de forma procedimental, o hacer LOD de geometr\u00eda en tiempo real, cosas as\u00ed.<\/li>\n<\/ul>\n<p>En resumidas cuentas, y dejando aparte las caracter\u00edsticas t\u00e9cnicas y m\u00e1s complejas de DirectX 10 \u2013s\u00f3lo est\u00e1n algunas de las m\u00e1s importantes-, esta <strong>nueva API ofrece un cambio sustancial <\/strong>ya que la calidad que podremos ver en juegos como Crysis es realmente espectacular. Y es que hasta la llegada de las nuevas consolas, parec\u00eda que el PC era el nuevo rey en materia gr\u00e1fica del videojuego. Ahora, con esta nueva API y el juego adecuado el PC puede superar de nuevo a las consolas de \u00faltima generaci\u00f3n.<\/p>\n<p>Os dejo con un par de v\u00eddeos de Crysis muy espectaculares y que me han llamado especialmente la atenci\u00f3n porque nos muestran dos escenas del juego. En los primeros segundos de cada v\u00eddeo vemos el juego como ser\u00eda en DirectX 9 y despu\u00e9s en DirectX 10.<\/p>\n<p class=\"flash\">[gametrailers 19968]<\/p>\n<p align=\"left\">Como se puede observar, hay muchos m\u00e1s efectos visuales, aunque lo m\u00e1s impactante es el efecto f\u00edsico -otra de las particularidades de DirectX 10- que permite cambiar la orientaci\u00f3n de llamas y humo simplemente con el aire<\/p>\n<p class=\"flash\">[gametrailers 19966]<\/p>\n<p align=\"left\">En este puedes observar que todo el sombreado cambia y que el n\u00famero de part\u00edculas ha aumentado dr\u00e1sticamente, as\u00ed como efectos colaterales y f\u00edsicos del juego.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>DirectX 10 es la nueva API de Microsoft para juegos que acabar\u00e1 convirti\u00e9ndose en el est\u00e1ndar para PC o, al menos, esa es la intenci\u00f3n de Microsoft. Es una herramienta potente, desde luego, pero tambi\u00e9n es potente el ordenador necesario para conseguir que &#8220;ande&#8221;. Y si adem\u00e1s quieres que corra, hoy por hoy hay que &hellip; <a href=\"https:\/\/cms-articles.softonic.io\/es\/diferencias-directx-9-directx-10\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;De DirectX 9 a DirectX 10, un viaje de calidad&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1009,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","wpcf-pageviews":0},"categories":[],"tags":[9936],"usertag":[],"vertical":[],"content-category":[],"class_list":["post-25","post","type-post","status-publish","format-standard","hentry","tag-app-subdomain-redirectiondirectx"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/posts\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/users\/1009"}],"replies":[{"embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":1,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/posts\/25\/revisions"}],"predecessor-version":[{"id":386817,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/posts\/25\/revisions\/386817"}],"wp:attachment":[{"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/media?parent=25"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/categories?post=25"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/tags?post=25"},{"taxonomy":"usertag","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/usertag?post=25"},{"taxonomy":"vertical","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/vertical?post=25"},{"taxonomy":"content-category","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/es\/wp-json\/wp\/v2\/content-category?post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}