› Foros › Multiplataforma › General
cercata escribió:Te olvidas de lo dijo que Carmack:
"Consoles run 2x or so better than equal PC hardware, but it isn’t just API in the way, focus a single spec also matters"
https://twitter.com/id_aa_carmack/status/50277106856370176
O sea, que usando DX11 mismamente, si desarrollas algo SOLO para tu PC, pensando en la arquitectura de tu CPU y GPU, sacaras bastante mas rendimiento que si haces algo genérico.
Vamos, que el paradigma de las consolas hasta ahora era "Close To Metal" + "Single Specs"
Microsoft es el camino que busca con DX12, pero luego sus exclusivos de ONE los optimiza a saco, los Forza de ONE petarderian en un PC de la misma potencia.
josemurcia escribió:Pero vamos, que esto no quiere decir que no puedan optimizar para una plataforma concreta, simplemente que al trabajar sobre un determinado nivel de abstracción que compartiría con el resto de plataformas y siendo un arquitectura estándar no habría una versión única y exclusiva para una consola, sino más bien una "configuración" gráfica específica, como pasa en PC.
papatuelo escribió:Curioso cuando menos, ahora resulta que las consolas no se programan a bajo nivel.
Obviamente cuando se hablaba de el impacto de DX12 en solo una de las consolas todas se programaban a bajo nivel.
Creo que @naxeras sabe de lo que hablo, xq tanto él como yo hemos compartido siempre la misma opinión.
En ese sentido, a estás alturas y cuando ya son viejas nuevas, podéis ecuchar la entrevista que hizo a Brad Wardell Inner Cicle, por aquel entonces por supuesto se dijo que era un montón de tonterías sin fundamento de un patan bocachancla. Quzá a día de hoy os cueste menos digerirla xq habla de esto.
Moraydron escribió:@josemurcia durante estos 2 años que hemos estado viendo que contradice lo dicho por Carmack?Como una 750Ti da mejor rendimiento en juegos que desde el principio se anunciaron para pc y luego empezaron las version next-gen y que encima salian para 5 plataformas?Pero si precisamente eso es todo lo contrario a lo que dice carmack,como te vas a centrar en unas specs concretas si haces una version para hard abierto y 4 para distintos tipos de hard cerrado.
cercata escribió:Moraydron escribió:@josemurcia durante estos 2 años que hemos estado viendo que contradice lo dicho por Carmack?Como una 750Ti da mejor rendimiento en juegos que desde el principio se anunciaron para pc y luego empezaron las version next-gen y que encima salian para 5 plataformas?Pero si precisamente eso es todo lo contrario a lo que dice carmack,como te vas a centrar en unas specs concretas si haces una version para hard abierto y 4 para distintos tipos de hard cerrado.
+1
Carmack lo que dice es el limite a donde se puede llegar, pero en estos 2 años en los juegos multis no se han molestado en llegar a ese limite.
David Ricardo escribió:También es verdad que esa cita de carmack era de cuando las consolas tenían procesadores powerpc y alguna cosa rara. Ahora llevan cpu x64 y gráfica AMD estándar, así que son más apropiadas para hacer un porteo rápido sin matarse a optimizar.
cercata escribió:David Ricardo escribió:También es verdad que esa cita de carmack era de cuando las consolas tenían procesadores powerpc y alguna cosa rara. Ahora llevan cpu x64 y gráfica AMD estándar, así que son más apropiadas para hacer un porteo rápido sin matarse a optimizar.
Para mi sigue siendo valida, por lo menos a los que CPU se refiere. Si se cuantos cores va a haber disponibles, y que tamaño de cache tiene cada uno, puedo organizar las tareas de forma mucho mas eficiente, y que haya muchos mas aciertos de cache. Y eso dispara el rendimiento ...
Respecto a GPU no conozco, pero supongo que pasará lo mismo
naxeras escribió:Yo estoy de acuerdo con @cercata en que efectivamente incluso la CPU de las consolas se puede optimizar, ya se puede ver en el paper de naughty dog como optimizan para la CPU en concreto, aprovechando la caché al maximo, y como esquivan instrucciones que son costosas por tener que leer de caches distintas, esto efectivamente en PC no se hace, por eso se debería necesitar más potencia para contrarrestar.
@papatuelo, estoy totalmente de acuerdo contigo que ahora mismo los multis no se están aprovechando del close to metal, solo hay que ver que un PC con similares caracteristicas a PS4 da mejores resultados, incluso con esa tarjeta que es de gama baja y no dispone de ventajas de las consolas como la memoria unificada.
¿Los exclusivos?, pues depende, pero es de suponer que se hace algo más.
En cuanto a si el PC lastra la consola, eso nunca, la potencia de las consolas son las que lastran el PC, si PS4 o ONE tuvieran una 970 ahora mismo estariamos viendo juegos mejores, pero que saquen una 980ti no va a cambiar que el sistema base siga siendo la consola.
¿Porque llevamos 2 años sin que se note? no por que es necesario el port a PC..., sino por el aumento de costes que conlleva cuando realmente no va a hacer que el juego venda más, y aun así poco a poco las consolas irán rindiendo mejor que un PC equivalente ya que las secuelas y demás es trabajo echo que se puede aprovechar ese tiempo extra para optimizar.
Si cuando acabe la generación la ultima hornada de juegos multi sigue rindiendo mejor en una 750ti que en consolas la verdad es que esta gen nos la han dado con queso.
Un Saludo.
naxeras escribió:Si cuando acabe la generación la ultima hornada de juegos multi sigue rindiendo mejor en una 750ti que en consolas la verdad es que esta gen nos la han dado con queso.
papatuelo escribió:Ps4 ha demostrado que puede usar los shader asincronos desde el día 1, xq no se han usado???
Porque no interesaban para el desarrollo de multis que iban a salir bajo DX11.
Asi que en cierto modo si se han lastrado las consolas.
naxeras escribió:papatuelo escribió:Ps4 ha demostrado que puede usar los shader asincronos desde el día 1, xq no se han usado???
Porque no interesaban para el desarrollo de multis que iban a salir bajo DX11.
Asi que en cierto modo si se han lastrado las consolas.
Pues esa no es la conclusión a la que yo llego viendo el rendimiento de la famosa demo de Brad Wardell bajo DX12 con shaders asincronos.
El juego funciona igual con ellos que sin ellos DX11, es verdad que rinde mejor con ellos, ok, pero si ellos funciona igual, es decir suponiendo un sistema optimizado pasariamos a la famosa 750ti en PC, y no creo que en consola se dejara de usar porque haya que subir los requisitos en PC.eto
Si no se han usado más es por tema de costes y san se acabó.
El port del Batman Arkam knight porque va mal en PC? (aparte porque los de iron galaxy tienen el talento que tienen y los recursos que les dieron), exacto, la técnica de streaming utilizada bebe de la memoria unificada, rediseñar eso lleva tiempo y talento ya que leer y escribir copiando memoria (como hizo iron) tiene una penalizacion de rendimiento... ¿Acaso roksteady dejo de aprovechar la memoria unificada porque sabia que complica el port a pc? pues no. Su unico error es no dedicar mas recursos al port y ahi es donde queria llegar.
El poco uso del close to metal o tecnicas especificas es debido unica y exclusivamente al COSTE.
Un Saludo.
papatuelo escribió:Donde has visto tu el uso de shader asincronos en DX11???
David Ricardo escribió:Cuando empiecen a hacer los juegos en DX12 y Vulkan con Async compute, la 750ti va a hacer chof, porque las gráficas Nvidia actuales no valen para eso. Entonces habrá otra gráfica de 4 duros pero de AMD que le dé pal pelo a las consolas.
naxeras escribió:papatuelo escribió:Donde has visto tu el uso de shader asincronos en DX11???
No, no, no se usan, yo no he dicho semejante burrada.
Lo que he dicho es que el juego funciona igual en DX11 que en DX12, es decir es igual, mismos efectos enemigos y demás.
En DX12 al aprovecharlo pues rinde mejor, esta claro, pero repito lo que he comentado, a ningún estudio le temblaria la mano para subir los requisitos, no veo que el PC lo lastre para nada.
Si Second Son se pasara a PC pues subirian los requisitos, pero el port es posible y no creo que los costes sean tan grandes de usarlos o no usarlos cuando un estudio pequeño con el de Brad tiene 2 versiones de la demo funcionando.
Un Saludo.David Ricardo escribió:Cuando empiecen a hacer los juegos en DX12 y Vulkan con Async compute, la 750ti va a hacer chof, porque las gráficas Nvidia actuales no valen para eso. Entonces habrá otra gráfica de 4 duros pero de AMD que le dé pal pelo a las consolas.
Yo prefiero no adelantar acontecimientos y ser cauto.
Lo que tengo claro es que esta generación el modelo de negocio ha cambiado (lo que yo llamo el efecto Wii).
Antes te vendian un hard muy superior a precio mucho menor que el de coste, esto se compensaba con el dinero que gana Sony y MS por licencia de publicación de cada juego, por no hablar del online que se cobraba en el caso de MS.
Hoy en día te veden un hardware con precio igual o superior al de coste (el hard de la casa no es el PVP de un PC similar) y los juegos siguen estando igual de caros que siempre y te cobran el online tranquilamente.
El usuario ha perdido, y es lo malo de esta gen, solo espero que el efecto WiiU y el efecto XBOXONE hagan que la próxima generación sea similar a lo que vivimos con XBOX360.
Un Saludo.
papatuelo escribió:Ps4 ha demostrado que puede usar los shader asincronos desde el día 1, xq no se han usado???
Porque no interesaban para el desarrollo de multis que iban a salir bajo DX11.
Asi que en cierto modo si se han lastrado las consolas.
josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
elneocs escribió:josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
Es que presisamente era con Mantle (ni idea si tiene el mismo modo de operar el Shader). El cambio de verdad viene a que sera DX12 y muy probablemente Vulkan las que lo estandarizen (npi como escribir esta ultima palabra ).
La cuota de mercado ue ocupaba mantle es de risa comparada con la futura version del DX.
papatuelo escribió:josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
Por esa regla de tres, ¿para que van a saltar a Vulkan o DX12 si el rendimiento que saca Nvidia es el mismo que en DX11?
josemurcia escribió:elneocs escribió:josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
Es que presisamente era con Mantle (ni idea si tiene el mismo modo de operar el Shader). El cambio de verdad viene a que sera DX12 y muy probablemente Vulkan las que lo estandarizen (npi como escribir esta ultima palabra ).
La cuota de mercado ue ocupaba mantle es de risa comparada con la futura version del DX.
La cuota de mercado en los que merece usar async compute es la misma con Mantle que con DX12 y con Vulkan.
josemurcia escribió:elneocs escribió:josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
Es que presisamente era con Mantle (ni idea si tiene el mismo modo de operar el Shader). El cambio de verdad viene a que sera DX12 y muy probablemente Vulkan las que lo estandarizen (npi como escribir esta ultima palabra ).
La cuota de mercado ue ocupaba mantle es de risa comparada con la futura version del DX.
La cuota de mercado en los que merece usar async compute es la misma con Mantle que con DX12 y con Vulkan.papatuelo escribió:josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
Por esa regla de tres, ¿para que van a saltar a Vulkan o DX12 si el rendimiento que saca Nvidia es el mismo que en DX11?
¿Quién ha dicho que el rendimiento en NVIDIA es el mismo? Es el mismo en el único benchmark real que hay, eso no es representativo de lo que se podrá hacer.
papatuelo escribió:Por esa regla de tres, quién ha dicho que el rendimiento de Nvidia con Shader asincronos es malo... Eso también sale del único benchmark real que hay, eso no es representativo de lo que puede hacer.
Eres muy dado a contradecirte tu solo.
josemurcia escribió:papatuelo escribió:Por esa regla de tres, quién ha dicho que el rendimiento de Nvidia con Shader asincronos es malo... Eso también sale del único benchmark real que hay, eso no es representativo de lo que puede hacer.
Eres muy dado a contradecirte tu solo.
El rendimiento de NVIDIA con los shaders asíncronos tiene una explicación detrás y está documentado, no mezcles churras con merinas.
papatuelo escribió:En serio, ¿serías tan amable de enlazarme a esa explicación?
No será la de Kollock, ¿no?
TL;DR
AMDs and Nvidias architectures are fundamentally different when it comes to command handling.
What do they have in common?
Both AMD and Nvidia are supporting concurrent execution of compute shaders in addition to workload from the graphics queue at least since Ferm/GCN 1.0.
All architectures from Nvidia have a "Work Distributor" unit for this purpose, which can handle a number of concurrent (outgoing) command streams. The level of concurrency varies between 6 and 32 command streams, depending on the specific chip.
With AMD, the actual distribution is handled by the ACE (Asynchronous Compute Engine) units. Each ACE unit can handle 64 command streams, the HWS (Hardware Scheduler) can even handle up to 128 command streams each.
Where do they differ?
Since GCN 1.0, AMDs cards had dedicated command queues for compute and graphics commands. Both the GCP (Graphics Command Processor) and the ACE can communicate to handle global barriers and to synchronize queues. This feature is present on every single GCN card. All compute queues exposed by the driver are mapped 1:1 onto hardware queues and can be executed asynchronously, that means without any hardwired order, excluding explicit synchronization points.
With Nvidia, newer cards (GK110, GK208, GMXXX) have a (probably programmable) "Grid Management Unit" in front of the "Work Distributor" which can aggregate commands from multiple queues, including dynamic scheduling and alike, prior to dispatching the workload onto the "Work Distributor".
The "Work Distributor" can only handle a single source of commands, and therefore requires that all queues are mangled into a single queue first, either by the "Grid Management Unit" or by the driver.
This "Grid Management Unit" is currently used to provide a feature called "Hyper-Q" in addition to handling the primary command queue. This feature is similar to the compute queues handled by the ACEs in AMD GPUs in that it can handle a number of truly asynchronous queues, but it lacks certain features such as the support for synchronization points.
What is the result?
So the current state with Nvidia hardware is that all queues used in DX12 are mangled into a single into a single queue in software, whereby the driver has to be rather smart at interleaving commands to maximize the occupation of the "Work Distributor". Ultimately this means that concurrent shaders can finish out of order and new compute shaders can fill the gaps, but execution can only start in the order originally decided by the driver.
Overloading the queues or complex dependency graphs can cause a quite significant CPU load with Nvidia hardware, up to the point where the use of Async shaders even decreases utilization.
AMDs hardware is working as expected, all compute queues are executed fully independently, except for explicit synchronization points.
josemurcia escribió:papatuelo escribió:En serio, ¿serías tan amable de enlazarme a esa explicación?
No será la de Kollock, ¿no?
En este hilo tienes mucha información al respecto:
https://forum.beyond3d.com/threads/dx12 ... ute.57188/
Como resumen:TL;DR
AMDs and Nvidias architectures are fundamentally different when it comes to command handling.
What do they have in common?
Both AMD and Nvidia are supporting concurrent execution of compute shaders in addition to workload from the graphics queue at least since Ferm/GCN 1.0.
All architectures from Nvidia have a "Work Distributor" unit for this purpose, which can handle a number of concurrent (outgoing) command streams. The level of concurrency varies between 6 and 32 command streams, depending on the specific chip.
With AMD, the actual distribution is handled by the ACE (Asynchronous Compute Engine) units. Each ACE unit can handle 64 command streams, the HWS (Hardware Scheduler) can even handle up to 128 command streams each.
Where do they differ?
Since GCN 1.0, AMDs cards had dedicated command queues for compute and graphics commands. Both the GCP (Graphics Command Processor) and the ACE can communicate to handle global barriers and to synchronize queues. This feature is present on every single GCN card. All compute queues exposed by the driver are mapped 1:1 onto hardware queues and can be executed asynchronously, that means without any hardwired order, excluding explicit synchronization points.
With Nvidia, newer cards (GK110, GK208, GMXXX) have a (probably programmable) "Grid Management Unit" in front of the "Work Distributor" which can aggregate commands from multiple queues, including dynamic scheduling and alike, prior to dispatching the workload onto the "Work Distributor".
The "Work Distributor" can only handle a single source of commands, and therefore requires that all queues are mangled into a single queue first, either by the "Grid Management Unit" or by the driver.
This "Grid Management Unit" is currently used to provide a feature called "Hyper-Q" in addition to handling the primary command queue. This feature is similar to the compute queues handled by the ACEs in AMD GPUs in that it can handle a number of truly asynchronous queues, but it lacks certain features such as the support for synchronization points.
What is the result?
So the current state with Nvidia hardware is that all queues used in DX12 are mangled into a single into a single queue in software, whereby the driver has to be rather smart at interleaving commands to maximize the occupation of the "Work Distributor". Ultimately this means that concurrent shaders can finish out of order and new compute shaders can fill the gaps, but execution can only start in the order originally decided by the driver.
Overloading the queues or complex dependency graphs can cause a quite significant CPU load with Nvidia hardware, up to the point where the use of Async shaders even decreases utilization.
AMDs hardware is working as expected, all compute queues are executed fully independently, except for explicit synchronization points.
https://forum.beyond3d.com/posts/1872750/
josemurcia escribió:Vamos, que has ignorado la información que te he puesto para acabar hablándome de que no somos unos mindundis y pasar una noticia de elmundo que no tiene nada que ver con lo que estamos hablando, ok.
Recently, NVIDIA has been under a lot of pressure after the results of the first DirectX 12 benchmark clearly favored AMD. There have been reports that NVIDIA’s existing GPU architecture has problems with Async Compute, though our own Usman cleared up that it is indeed possible to use it.
Now, another report seems to condemn NVIDIA’s choices for Maxwell. Tech Report’s David Kanter said in a video podcast that people who work at Oculus have mentioned how preemption context switching, a very important feature especially in VR scenarios, can be really bad on NVIDIA cards.
naxeras escribió:David Ricardo escribió:Cuando empiecen a hacer los juegos en DX12 y Vulkan con Async compute, la 750ti va a hacer chof, porque las gráficas Nvidia actuales no valen para eso. Entonces habrá otra gráfica de 4 duros pero de AMD que le dé pal pelo a las consolas.
Yo prefiero no adelantar acontecimientos y ser cauto.
Lo que tengo claro es que esta generación el modelo de negocio ha cambiado (lo que yo llamo el efecto Wii).
Antes te vendian un hard muy superior a precio mucho menor que el de coste, esto se compensaba con el dinero que gana Sony y MS por licencia de publicación de cada juego, por no hablar del online que se cobraba en el caso de MS.
Hoy en día te veden un hardware con precio igual o superior al de coste (el hard de la casa no es el PVP de un PC similar) y los juegos siguen estando igual de caros que siempre y te cobran el online tranquilamente.
El usuario ha perdido, y es lo malo de esta gen, solo espero que el efecto WiiU y el efecto XBOXONE hagan que la próxima generación sea similar a lo que vivimos con XBOX360.
Un Saludo.
kxalvictor escribió:y digo yo...no cerraron un hilo bien parecido a este, donde escribían los que escribís en este, diciendo lo que decís en este?
papatuelo escribió:Por esa regla de tres, quién ha dicho que el rendimiento de Nvidia con Shader asincronos es malo... Eso también sale del único benchmark real que hay, eso no es representativo de lo que puede hacer.
josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
cercata escribió:No aporta beneficio, pero funciona, y en otras plataformas aporta un beneficio enorme. Si fuese DEV los usaría. El tiempo nos sacará de dudas.
josemurcia escribió:¿Dónde está ese beneficio enorme? No he visto todavía ningún benchmark con y sin shaders asíncronos.
Porque AMD lo vende como que se puede conseguir un 25% de mejora en sus GPUs en el mejor de los casos, que ya sabemos en lo que suele acabar.
cercata escribió:josemurcia escribió:¿Dónde está ese beneficio enorme? No he visto todavía ningún benchmark con y sin shaders asíncronos.
Porque AMD lo vende como que se puede conseguir un 25% de mejora en sus GPUs en el mejor de los casos, que ya sabemos en lo que suele acabar.
Pues del Benchmarck de Oxyde, que en DX12 con AMD hay una mejora de rendimiento del 80%. A falta de otros benchmarks ...
josemurcia escribió:Una mejora del 80% respecto a DX12 sin async shaders?
cercata escribió:papatuelo escribió:Por esa regla de tres, quién ha dicho que el rendimiento de Nvidia con Shader asincronos es malo... Eso también sale del único benchmark real que hay, eso no es representativo de lo que puede hacer.
A parte del benchmarck de Oxyde Games, luego también dijeron algo parecido los de Oculus ... a mi lo que mas preocupa es que NVIDIA respondió con milongas primero, y luego con silencio.josemurcia escribió:Los shaders asíncronos se pueden utilizar desde hace 2 años en PC con Mantle, y no es que la situación vaya a cambiar mucho con DX12 y Vulkan, ya que en gráficas NVIDIA parece que no suponen ningún beneficio por su arquitectura.
No aporta beneficio, pero funciona, y en otras plataformas aporta un beneficio enorme. Yo si fuese DEV los usaría. El tiempo nos sacará de dudas.
There is a lot of data here but at least a handful of results that piqued my interest. First, the performance of the Global Illumination pass is consistently faster on the GeForce GTX GPUs when compared to the similar segment Radeon. The GTX 980 Ti is more than 2x faster than the Fury X in that particular step, for example, though AMD's Fiji GPU has the edge when we look at standard shadow mapping and direct lighting.
One of the key benefits of DirectX 12 is that it provides benefits to a wide variety of games constructed in different ways. Games such as Ashes were designed to showcase extremely high numbers of objects on the screen (and correspondingly exceedingly high draw calls). These are highly CPU bound and receive large FPS improvement from the massive reduction in CPU overhead and multi-threading, especially in the most demanding parts of the scene and with high-end hardware.
Fable Legends pushes the envelope of what is possible in graphics rendering. It is also particularly representative of most modern AAA titles in that performance typically scales with the power of the GPU. The CPU overhead in these games is typically less of a factor, and, because the rendering in the benchmark is multithreaded, it should scale reasonably well with the number of cores available. On a decent CPU with 4-8 cores @ ~3.5GHz, we expect you to be GPU-bound even on a high-end GPU.