XBox One es el único dispositivo a la venta con completo soporte hacia DX12 de forma nativa.
Orbatos_II escribió:XBox One es el único dispositivo a la venta con completo soporte hacia DX12 de forma nativa.
No se decir hasta que punto hay variaciones sobre el diseño original de la serie 7000 de AMD que se ha usado para el desarrollo de la One, pero básicamente es el equivalente a una AMD 7790... punto
Vamos, que diría que mienten a gusto en ese aspecto, porque ese chip es DX-11. Si DX-12 va a funcionar sobre cualquier hardware DX-11... lo hará igualmente sobre PC y sobre la PS4
Humo humo.... y nubes
DaNi_0389 escribió:Orbatos_II escribió:XBox One es el único dispositivo a la venta con completo soporte hacia DX12 de forma nativa.
No se decir hasta que punto hay variaciones sobre el diseño original de la serie 7000 de AMD que se ha usado para el desarrollo de la One, pero básicamente es el equivalente a una AMD 7790... punto
Vamos, que diría que mienten a gusto en ese aspecto, porque ese chip es DX-11. Si DX-12 va a funcionar sobre cualquier hardware DX-11... lo hará igualmente sobre PC y sobre la PS4
Humo humo.... y nubes
La gpu de 360 fue la primera en tener shaders unificados, asi porque no podria ser que la gpu de One fuese la primera en tener soporte completo por hardware DX12.
Por otra parte la gpu de One no es una ''7790''
http://www.3djuegos.com/comunidad-foros/tema/29860552/0/rompiendo-las-reglas-rompiendo-el-mito-el-poder-real-de-xbox-one/
Una foto de un CU de One y PS4, tan solo hay que contar y multiplicar por el numero de CU's (12 y 18 respectivamente)
1536 Shaders tiene la gpu de One por los 896 de la 7790, si que coinciden en el numero de ROPS, 16 para ambas.
DaNi_0389 escribió:Orbatos_II escribió:XBox One es el único dispositivo a la venta con completo soporte hacia DX12 de forma nativa.
No se decir hasta que punto hay variaciones sobre el diseño original de la serie 7000 de AMD que se ha usado para el desarrollo de la One, pero básicamente es el equivalente a una AMD 7790... punto
Vamos, que diría que mienten a gusto en ese aspecto, porque ese chip es DX-11. Si DX-12 va a funcionar sobre cualquier hardware DX-11... lo hará igualmente sobre PC y sobre la PS4
Humo humo.... y nubes
La gpu de 360 fue la primera en tener shaders unificados, asi porque no podria ser que la gpu de One fuese la primera en tener soporte completo por hardware DX12.
Por otra parte la gpu de One no es una ''7790''
http://www.3djuegos.com/comunidad-foros/tema/29860552/0/rompiendo-las-reglas-rompiendo-el-mito-el-poder-real-de-xbox-one/
Una foto de un CU de One y PS4, tan solo hay que contar y multiplicar por el numero de CU's (12 y 18 respectivamente)
1536 Shaders tiene la gpu de One por los 896 de la 7790, si que coinciden en el numero de ROPS, 16 para ambas.
the_gooseman escribió:lo que nos lleva al punto actual. AMD saca mantle para trabajar mas directamente con el hardware (como se hacia antes) y ganar rendimiento, lo que hace que los juegos se vean mejor y vayan mas rápidos con hardware inferior y mas barato, pero claro se supone que estas librerías son tanto para Windows como para Linux y MS ha tenido que correr para presentar las directx 12, que hacen mas o menos lo que mantle, pero mas estandarizado (mantle es solo para AMD)
the_gooseman escribió:Para que sirve que sean compatibles con directx12? Absolutamente para nada! En PC necesitas tener *algo* entre tu como desarrollador y el hardware porque hay infinidad de gráficas, de GPU, de CPU...
the_gooseman escribió:no necesitas unas librerías porque tu mismo puedes optimizar esas librerías para explotar mas el hardware... todo es un entorno cerrado
Tengo mis dudas. Ten en cuenta que las funciones de Directx son implementadas por los drivers del fabricante en una gran medida.
the_gooseman escribió:he puesto cpu para que se entendiera el ejemplo. ahora son todas mas o menos iguales, pero antes tenias cpus diferentes. de todas maneras aunque sean compatibles con x86-x64 hay diferencias, como numero de nucleos, velocidades, buses...
the_gooseman escribió:en los sdk de las consolas estan las librerias para que el programador no se tengan que complicar la vida en hacer cosas simples, pero de esta misma manera, un equipo de desarrollo que quiera exprimir el hardware puede reescribir parte de esas librerias atacando la maquina a bajo nivel. evidentemente no lo van a hacer todos, pero los equipos que mas exploten la maquina lo acabaran haciendo sobre todo cuando avance la generacion
the_gooseman escribió:Tengo mis dudas. Ten en cuenta que las funciones de Directx son implementadas por los drivers del fabricante en una gran medida.
esto no lo he entendido. a que te refieres?
Frankijdc escribió:DaNi_0389 escribió:
La gpu de 360 fue la primera en tener shaders unificados, asi porque no podria ser que la gpu de One fuese la primera en tener soporte completo por hardware DX12.
Por otra parte la gpu de One no es una ''7790''
http://www.3djuegos.com/comunidad-foros/tema/29860552/0/rompiendo-las-reglas-rompiendo-el-mito-el-poder-real-de-xbox-one/
Una foto de un CU de One y PS4, tan solo hay que contar y multiplicar por el numero de CU's (12 y 18 respectivamente)
1536 Shaders tiene la gpu de One por los 896 de la 7790, si que coinciden en el numero de ROPS, 16 para ambas.
Esto no lo acabo de entender.
TRASTARO escribió:El SDK, o herramientas de desarrollo, de Mantle, Direct3D12 y OpenGL4.x precisamente permite al programador optimizar el uso de multihilos, personalizar la prioridad de como se manejaran esos multiples hilos, etc.con lo que el programador no se preocupa tanto del hardware [CPU] sobre el que va a correr el motor del juego
the_gooseman escribió:No estoy de acuerdo, quien mejor conoce el hardware es el mismo fabricante. Y es el que mejor optimizará las api para trabajar de la mejor forma posible.
La unica forma de aprovecharlo mejor sería programar en esamblador algunas partes (pero dudo que se haga).
TRASTARO escribió:Me parece que debes informarte mas sobre lo que pretenden las APIs actuales [mantle muestra la idea] para el aprovechamiento de los recursos del CPU, y en como ayudan los SDKs a que los programadores puedan tomar ventaja de las capacidades multihilo y poder disminuir -preferentemente desaparecer- el cuello de botella CPU-GPU. En OpenGL tambien se esta dando un cambio a ese rumbo, solo que por la falta de formalidad esta algo dispersa la implementacion en los kits de desarrollo.
The basic idea behind multithreading in Direct3D 11 is that you create an immediate device context on the main thread. Then, for each thread on which you’d like to be able to render, you create a deferred context. As you can probably guess from the names, commands executed on the immediate context get executed immediately, but those on the deferred context just get saved off into a command list. You then execute the deferred command lists on the main thread using the immediate device context.
DaNi_0389 escribió:Frankijdc escribió:DaNi_0389 escribió:
La gpu de 360 fue la primera en tener shaders unificados, asi porque no podria ser que la gpu de One fuese la primera en tener soporte completo por hardware DX12.
Por otra parte la gpu de One no es una ''7790''
http://www.3djuegos.com/comunidad-foros/tema/29860552/0/rompiendo-las-reglas-rompiendo-el-mito-el-poder-real-de-xbox-one/
Una foto de un CU de One y PS4, tan solo hay que contar y multiplicar por el numero de CU's (12 y 18 respectivamente)
1536 Shaders tiene la gpu de One por los 896 de la 7790, si que coinciden en el numero de ROPS, 16 para ambas.
Esto no lo acabo de entender.
Que es lo que no entiendes?
amchacon escribió:Yo no he dicho eso que esté trabajando en mejorar la concurrencia, a lo que me refiero esque la API no hace todo eso automatico. El trabajo de los hilos sigue siendo del programador, lo unico que está cambiando son los mecanismos de sincronización:
TRASTARO escribió:
El SDK, o herramientas de desarrollo, de Mantle, Direct3D12 y OpenGL4.x precisamente permite al programador optimizar el uso de multihilos, personalizar la prioridad de como se manejaran esos multiples hilos, etc.
TRASTARO escribió:amchacon escribió:Yo no he dicho eso que esté trabajando en mejorar la concurrencia, a lo que me refiero esque la API no hace todo eso automatico. El trabajo de los hilos sigue siendo del programador, lo unico que está cambiando son los mecanismos de sincronización:
¿Y donde dije que la API por si sola lo haga?, por algo puse:TRASTARO escribió:El SDK, o herramientas de desarrollo, de Mantle, Direct3D12 y OpenGL4.x precisamente permite al programador optimizar el uso de multihilos, personalizar la prioridad de como se manejaran esos multiples hilos, etc.
TRASTARO escribió:Precisamente porque estos nuevos kits de desarrollo le permiten al programador esta tarea, mediante subrutinas e instrucciones nuevas al API para mejorar el procesamiento multihilo, distribuir de la mejor manera que el programador establezca la prioridad de tareas del motor grafico y asi tener el mayor control sobre como trabaja sobre el hardware en que se este ejecutando. Eso es lo mas interesante de Mantle y de D3D12, no solo el API, sino las herramientas y hasta la forma de planear el desarrollo del software.
TRASTARO escribió:Tambien, la misma manera de programar aprovecha la escalaridad, es decir, se ajusta a la cantidad de nucleos del sistema donde se ejecute, con instrucciones como AVX o FMA, ya usadas en los encoders de video, con un ejemplo claro en el encoder x264 que se ajusta a la cantidad de nucleos presentes con un maximo de hasta 16. Asi de esta manera, el encoder saca el maximo provecho multihilo a lo que le permita el procesador usado.
int getNumNucleos(){
SYSTEM_INFO sysinfo;
GetSystemInfo( &sysinfo );
return sysinfo.dwNumberOfProcessors;
}
KailKatarn escribió:Paralelizar las llamadas a dibujo es algo más complejo que coger un frame por cada núcleo del que disponga tu procesador o las últimas instrucciones que le ayudan a ser más rápido en X tareas (que no todas) como son las AVX.