Diferencias entre Direct X 8 y Direct X 9 y entre shaders 1.4 y 2.0 - ¿ y open GL ?
-
a costa que me maten algunos ;), quiero decir que estoy de acuerdo con pako. TAAAAAAN buenos son los PS 2.0 y VS que antes no lo podian hacer? venga ya. Esto es una guerra entre las tarjetas, Dx9 y los programadores mediocres, que no pueden hacer que una tarjeta que tiene 2 meses de vida de 22fps… Vale que las ATI son mas rapidas, pero estamos hablando de 2 tarjetas tope de gama, y solo una da la cara.
Creo que los los 1.4 si se podia hacer pero no querian hacerlo, creo que esto es otra movida para comprarnos una tarjeta de la leche y un peaso ordenador para poder jugar a un juego decentemente.
Despues de ver todos estos despropositos, creo que me quedare con mi 8500, jugare con DX8.1 y seguro seguro que podre jugar mejor que con un 9800PRO(de las que las 400 que vale no me la pienso comprar) y divertirme tambien igual. Que una tarjeta de 2 meses tenga problemas es vergonzoso. -
Garfield dijo
TAAAAAAN buenos son los PS 2.0 y VS que antes no lo podian hacer? venga ya.
Ese es precisamente el motivo por el que puse esta rama para ver si realmente es tan importante los pixel shader 2.0 o no
Ya se verá más adelante cuando las webs hagan comparativas de imagenes y de que es lo que se ve con Direct X 9 y lo que se ve con Direct X 8
Y yo creo que antes lo podían hacer pero no querían, y ahora al ver que pueden conseguir mejores efectos con las 2.0 ya no usan las 1.4 a no ser que sea para hacerlo compatible con Direct X8.
–-------------------------------------------------------------------
HellEsa tabla la tengo yo en una revista y no la iba a poner pero ya que tu la has puesto yo voy a poner el artículo completo, que es muy interesante.
-
Tampoco se trata de que ahora los desarrolladores tenga presiones para programar en Dx9, digamos que ha sido casualidad.
Simplemente se trata de que juegos muy punteros han coincidido con la posibilidad de utilizar las Dx9, seguramente todos ellos ya usaran las Dx8 y pasar a las 9 no ha supuesto demasiado esfuerzo.
Quizas si las Dx9 hubieran salido hace 6 meses ninguno de estos juegos las usaria.
-
Yo no he dicho que se presione a los programadores pero hay algo que se llama incentivo economico que puede hacer cambiar de idea a alguien y si antes solo tenían planeado hacer el juego en Direct X 8, ahora con esa ayuda economica, les puede interesar modificar algo el juego para que incluya efectos de Direct X 9
No digo que "ayuden" a todos los programadores, solo les basta con ayudar a unos cuantos
YA SOLO FALTAN 6 minutos para el AQUAMARK 3 a las 16:00
-
Presiones, incentivos, bonificaciones, como lo quieras llamar. Pienso que aparte de eso ha sido mas que nada casualidad.
-
A mi estos temas de versiones de DirectX, shaders etc me parece todo una vergüenza.
Sinceramente, estoy muy cansado de que cada generación de gráficas y/o DX nos prometan efectos nunca vistos y a más velocidad que la anterior. A la hora de la verdad nanai de la china, si nos fijamos bien la generación DX9 viene a suponer 'efectos cinemáticos a alta velocidad' 'iluminación acojonante' 'modelos super detallados'. Miramos la generación DX7 y, oiga, PERO SI ES LO MISMO, CARAJO, nos están vendiendo lo mismo que nos vienen prometiendo una y otra vez. Y a veces uno se lleva las manos a la cabeza al ver la más flamante VGA pegar unos tirones de espanto en un supuestamente superavanzado juego aplicando un simple efecto de humo o transparencia… ¿a quién no le ha pasado?
Sólo hay que ver la enorme diferencia entre las demos tecnológicas de NVIDIA o ATi y la mayoría de juegos, tanto en velocidad como en calidad. Sin ir más lejos, la demo 'Chameleon' de las GF3 o la 'Wolfman' de las GF4... ¿qué juegos presentan esos niveles de detalle? Comprendo que se trata de códigos altamente optimizados, pero joder, luego uno ve juegos con cada churro de polígonos por ahí a 20 fps que se sonroja vamos...
Se suponía que las GF3 con su motor de geometría programable iban a ser la panacea y poco tiempo después nos sacan el 'cineFX' de las narices para que, a la hora de la verdad, ningún juego dé la calidad esperada (y prometida) nisiquiera con una GF3. Y ahora parece que tengamos que flipar porque el Half Life 2 vaya a ir a 60 FPS en toda una Radeon 9800 Pro, de verguenza.
Y es que es mucho más cómodo esperar que MS vaya 'encapsulando' funcionalidad (a costa de rendimiento) en sucesivas versiones de DX y que los fabricantes de gráficas lo plasmen en silicio (de forma más o menos eficiente) que currarse algo de código. Entiendo que DX9 permita dibujar del tirón, por ejemplo, una encina o un alcornoque con una función tipo dx_draw_tree(tree_type) xD o un dinosaurio entero pero joder, seguro que con una versión anterior también es posible, aunque sea a costa de algo más de trabajo. Pues con los efectos igual, es muy cómodo hacerlo todo a base de DX y lo peor es que ni por esas termino de ver un juego que me impacte lo más mínimo desde hace años...
Cierto es que con el tiempo que dura el desarrollo de un juego o motor actual, desde que se comienza a programar hasta que se termina se habrá pasado por lo menos por 2 versiones de DX y 3 generaciones de VGAs y el resultado de todo esto no es muy bueno: códigos genéricos altamente ineficientes, desaprovechamiento de las ventajas particulares de determinadas VGAs en favor de un 'mínimo común denominador' aceptable, interminables sucesiones de drivers, incompatibilidades, parches etc...
Hablo principalmente de NVIDIA porque me resulta más familiar, pero vamos, que todo es bastante extrapolable a ATi y demás (por desgracia, casi nadie más).
Podría tirarme 2 horas comentando el tema, porque sinceramente merece profundas reflexiones, pero mejor corto ya
Salu2
-
Pero que bien habla, narices:risitas:
¿Pero al final de quien es la culpa, del fabricante que la saca o del usuario que se ve en la necesidad de comprarla?
Nosotros hemos disctido durante mas de 100 post si es recomendable una mala grafica Dx9 antes que una buena Dx8 y ni con las pruebas de que no merece la pena nos lo creemos, pues nada, seguiremos como borregos creyendo que necesitamos gastarnos 500€ cada año para jugar.
Y con respecto a lo que tu dices, pues solo hay que mirar las consolas, duran 5 años y cada juego es visualmente mas impactante que el anterior mientras que el hardware no cambia. Y tampoco hay diferencias de tiempo de desarrollo.
Yo siempre pongo el mismo ejemplo, los juegos de id. Seguramente se puedan optimizar mas pero un juego cuyo motor se sigue usando 3 años despues para desarrollar el mismo con calidad mas que buena es un ejemplo de optimizacion. Y sin embargo cuando salen no hay maquina que tire de ellos.
Y sobre eso de las Dx, lo peor es que cada nueva version de estas bibliotecas require, comparativamente, mas potencia que la anterior.
-
Acabo de ver el Aquamark 3 que tiene varios test interesantes, y he visto algunas de las nuevas características. Y dado que me va a una media de 5 FPS he podido ver con todo detalle todas las texturas e iluminación y me pregunto
¿ cómo se verá este benchmark en una tarjeta Direct X 8?
Dejando de lado el que vaya más rápido, ya que el motivo de esta rama es saber las diferencias en la calidad visual y el nº de efectos visibles entre ambas tecnologías
Para esto es necesario activar el SVIST que es donde se ve QUE cosas son hechas con los pixel shader 2.0 y que cosas son con los 1.4 o sin shaders. Pero esto solo se puede activar en la versión profesional.
–------------------------------------------------------------
Nemes1s
Llevas razón y lo has explicado muy bien.
Es verdad que hasta ahora nos han vendido marketing y nos prometían muchas cosas y nos ponian unas demos estupendas con alta calidad pero luego esto no era aplicable directamente a los juegos, y si bien algo sí que se notaba pero en ningún caso llegaba a lo que decían que se podía llegar a ver con las nuevas tecnologías.
Y es verdad que los programadores parece que no se quieren esforzar mucho y esperan a que sea fácil aplicar una fución mediante nuevo hardware y nuevas funciones del Direct X que realmente programarlo bien y sin necesidad de tantas cosas técnicas.
Cierto es que con el tiempo que dura el desarrollo de un juego o motor actual, desde que se comienza a programar hasta que se termina se habrá pasado por lo menos por 2 versiones de DX y 3 generaciones de VGAs y el resultado de todo esto no es muy bueno: códigos genéricos altamente ineficientes, desaprovechamiento de las ventajas particulares de determinadas VGAs en favor de un 'mínimo común denominador' aceptable, interminables sucesiones de drivers, incompatibilidades, parches etc…
Claro que el tiempo que tardan en desarrollar un juego influye muuucho, mirad sino el duke nukem forever , que al parecer ya le han cambiado 3 veces el motor del juego porque tardan mucho en hacerlo y se queda anticuado para cuando deciden sacarlo. Y parece que en honor a su nombre no se va a acabar nunca si siguen esperando a las nuevas tecnologías y mejores gráficos.
Y además de las diferentes generaciones de gráficas que hay en el desarrollo de un juego hay que tener en cuenta la gran diferencia de rendimiento entre las tarjetas gáficas y la gran variedad y gama que hay, ya que NO pueden programar un juego muy espectacular con todo lo mejor y que sea exclusivamente para las tarjetas de gama alta de última generación y que sea imprescindible una tarjeta de estas para jugar.
Y como tienen que medir el rendimiento y que el juego sea minimamente jugable en una amplia gama de tarjetas para asi poder vender mas y qque funcione en una amplia y variada gama de PCs que también varian mucho de velocidad entre 500 Mhz y 3000 Mhz entonces la opción es NO hacer un juego muy complicado con muchos poligonos y muchos efectos.
En los PCS hay muchisimas variables diferentes , de hardware, de software, etc. y eso es un gran problema
LAS CONSOLAS DE JUEGO
Pakohuelva dijo
Y con respecto a lo que tu dices, pues solo hay que mirar las consolas, duran 5 años y cada juego es visualmente mas impactante que el anterior mientras que el hardware no cambia. Y tampoco hay diferencias de tiempo de desarrollo.
Efectivamente, ¿ cuál es la diferencia? pues muy simple que las consolas NO CAMBIAN el hardware, ni el software, ni nada, TODOS tienen EXACTAMENTE la misma consola , o sea todas tiene el mismo hardware con las mismas posibilidades y no hay ni drivers nuevos, ni gráficas nuevas, ni nuevas CPU , ni lleva windows, ni ningún tipo de ampliación de nada, ni nuevo nada, durante la vida de la consola no se cambia NADA lo cual influye en que durante la producción del juego no se tienen que preocupar por si será o no compatible y si va a funcionar bien y funcionará a una velocidad aceptable.
Entonces los programadores de juegos saben lo que tienen y que todos tienen lo mismo, y que nadie les va a dar nuevas funciones o nuevas librerias. Tienen lo que tiene la consola y tienen que aprovecharlo lo mas posible. Y por eso pueden sacar u juego con TODAS las tecnologías y efectos diponibles que posea el chip gráfico y que evidentemente el CPU y la RAM que lleva la consola le permita moverlo con fluidez.
Y los programadores se las tiene que ingeniar y esforzar para cada vez programar mejor y más eficientemente para aprovechar más las capacidades de la consola.
Mucha veces veces dan ganas realmente de que si quieres jugar lo mejor es una consola aunque los juegos son muy caros y más aún que los de PC.
-
SpaceRay, el caso de la consola no es tan diferente como parece, solo hay que mirar la Xbox que es un Pc a todos los efectos.
Si estas usando las bibliotecas Dx en cualquier version y estas programando en x86 el programa funcionara en todos los equipos, es decir, tendrias una consola.
La diferencia esta en que la consola tiene menos recursos, menos micro, memoria, etc y tienes que ajustarlo todo, no puedes irte de loco poniendo texturas enormes o desperdiciando la memoria. En el caso del PC como si no anda en un PIII andara en un P4 pues no te preocupas de economizar recursos y ese es el problema.
-
Ya he encontrado algo de lo que quería sobre esta rama una comparativa entre pixel shader 1.4 y pixel shader 2.0
Para ver esta comparativa mirad la imagen de arriba de ATI y no la de Nvidia debajo, ya que la de Nvidia se ve peor y con defectos.
Aqui podeis ver una imagen del tomb raider con pixel shader 1.4 , la iluminación es menos realista, y los bordes de las paredes son muy marcados, y las luces en el suelo se ven todas iguales, las texturas se ven más planas, y se ve que Lara NO TIENE SOMBRA :sisi:
Pixel Shader 1.4 –> http://www.gamersdepot.com/hardware/video_cards/ati_vs_nvidia/dx9_rel50/shot4.htm
Ahora mirad estas imagenes de exactamente el mismo lugar pero con los pixels shader 2.0 activados
Pixel Shader 2.0 –>http://www.gamersdepot.com/hardware/video_cards/ati_vs_nvidia/dx9_rel50/shot3.htm
Aqui se ve como Lara SI tiene sombra, los bordes de las paredes NO se ven, la iluminación es más real y NO es uniforme, y realmente ilumina donde es necesario por efecto de las luces en el techo.
Las paredes aparecen con algo más de textura, y más marcada , mirar en el extremo de abajo izquierdo.
La textura del suelo se ve mejor con los 2.0
–-----------------------------------------------
Estas fotos las he sacado de aqui ---> http://www.gamersdepot.com/hardware/video_cards/ati_vs_nvidia/dx9_rel50/002.htm
–-----------------------------------------------
Como podeis SI que hay diferencia entre usar los pixel shader 1.4 y los 2.0, ya que como se ha dicho en las webs y se ha comentado en las noticias , los pixel/vertex 2.0 dan una calidad de imagen más realista y permite una mayor cantidad de efctos que refleja mejor el entorno de un juego y es más agradable visualmente.
Ahora me gustaría que hicieran una comparativa como esta pero con el Half Life 2 que seguró que se verán aún más diferencias
-
Esta claro que Los 2.0 hacen cosas diferentes a los 1.4 pero lo uqe yo he dicho es que con los 1.4 bien usados tambien se pueden conseguir efectos igualmente buenos.
El problema esta en que no merece la pena exprimir los 1.4 teniendo los 2.0. Para que te vas a comer el taro pensando como hecer algo con los 1.4 cuando con los 2.0 lo haces inmediantamente.
Por eso vamos a encontrar difeerncia entre los 1.4 y los 2, porque los progrmadores no van a exprimir los priemros.
Quizas el doom III sea diferente, pero ya veremos.
-
El problema esta en que no merece la pena exprimir los 1.4 teniendo los 2.0. Para que te vas a comer el taro pensando como hecer algo con los 1.4 cuando con los 2.0 lo haces inmediantamente.
Por eso vamos a encontrar difeerncia entre los 1.4 y los 2, porque los progrmadores no van a exprimir los priemros.
Esto es precisamente lo que yo intento explicar y hay gente que no lo entiende
los shaders 1.4 del DX8 NO se van a usar en lo posible si pueden usar los 2.0 que lo pueden hacer mejor y más rápido
Y he visto que alguien decía que no iban a usar los 2.0 hasta que no exprimieran los 1.4 , pues NO estoy de acuerdo.
Porque ya lo he visto en varias entrevistas de Jhon Carmack, gabe newell de valve y otros más que han hablado y dicen que es verdad que NO se han aprovechado los direct X 8 todo lo que se podía y que ha sido usado menos de lo que realmente se podría haber usado, ahora se está usando más, pero dicen que realmente ya van a pasar y saltar directamente al Direct X 9 y van a exprimir estos DX 9 que les ofrece más facilidad y muchas más opciones y efectos.
-
Pero es no es asi, que no se han usado como se deberian es cierto, sin embargo el 90% de las graficas que hay en el mercado son Dx8 o anteriores por lo que a los desarrolladores no les conviene usar los Dx9 en vez de los Dx8, usaran los Dx8 y ademas los DX9.
Es por esto que comrparse una Dx9 no es tan imprescindible como tu sugieres, los Dx8 aunque no aprovechados al maximo si que se usan intensamente mientras que los Dx9 no, pero lo peor de todo es que en Dx9 las tarejtas no mueven dignamente los juegos.
-
sin embargo el 90% de las graficas que hay en el mercado son Dx8 o anteriores por lo que a los desarrolladores no les conviene usar los Dx9 en vez de los Dx8, usaran los Dx8 y ademas los DX9.
Pues no estoy de acuerdo ya que he leido dos entrevistas diferentes con dos desarrolladores de software de empresas importantes y famosas que dicen que ya hay las suficientes tarjetas DX 9 como para poder empezar a lanzar juegos con DX 9 y que sean rentables y por eso en prevision de esto ya llevan un tiempo preparando los juegos con DX 9 para que se vean mejor y poder lanzarlos ahora.
No te puedo poner los links de las entrevistas porque no me acuerdo donde están , pero esta claro que hay muchas mas DX9 que un 10%
pero lo peor de todo es que en Dx9 las tarejtas no mueven dignamente los juegos.
Esto es SOLO verdad en las gamas bajas como en la FX 5200, o también en las FX 5600
No me puedes decir que en una Radeon 9600 los juegos DX 9 van mal y no van dignamente
Y SI, ahora los juegos usan mucho más DX 8 que antes y además encima de esto ahora se empieza a usar el DX 9, y no me refiero que ahora se empiece a programar en DX 9, sino que ahora se empieza a ver los resultados reales de los juegos DX 9, ya que ya llevan bastante tiempo preparando y programando los juegos DX 9 en previsión de publicarlos ahora.
-
No si cuando se te mete una cosa en la cabeza…
De momento no hay ningun juego Dx9 en el mercado y el unico que lo usa es el Tomb Raider, estan anunciados en HL2 y el Aquamark ese, con lo que en total tendremos 3 juegos para estas navidades, con suerte, y en ningun caso son Dx9, solo usan Dx9 en algunas funciones.
Teniendo en cuenta que desde el año pasado por estas fechas estan las R300 que son Dx9 creo que ya ha pasado un tiempo suficiente como para que hubiese algo mas.
Al final de año habran podido salir ¿20 juegos? y solo 3 usaran parcialmente Dx9, ¿merece la pena?.
Y sobr elo de mover, la 9600PRO en un 3Ghz en HL2 y Tomb Raider da unos valores inferiores a 50fps, no creo que a eso se le pueda llamar dignamente.