[APIs Next Gen] El advenimiento del like CGI.

1, 2, 3, 4
Es increíble el daño que ha hecho forocoches, desde que la generación telecirco aprendió a usar internet EOL se volvió un nido de "expertos" a los que le sobra soberbia y les falta conocimientos y modestia.

Sobre el tema de las APIs pues poco faltará para salir de dudas, pero con este ambiente pues como que lo mas sensato es cerrar el hilo y si eso discutirlo en alguna otra comunidad, pero en español no conozco ninguna.
Yo creo que después de 2 mensajes de moderación sobre el tema, queda mas que claro cual es el topic del hilo.

Todas esas insinuaciones sobran, así que a partir de aquí, si alguien vuelve con el tema habrá que tirar de infracciones y baneos, porque esta visto que de otra forma no sirve absolutamente de nada.
Buenas gente. Al leer el hilo la pregunta q me viene a la cabeza es, de q trata el hilo? [+risas] . Es decir, q se está discutiendo?. Cuales serán los beneficios de DirectX 12?. Beneficios de las nuevas APIs que están por llegar?. Se está discutiendo de APIs de consolas?. Puede q hoy esté más espeso de lo normal pero no me queda demasiado claro jeje.

Un saludo.
Polyteres escribió:Buenas gente. Al leer el hilo la pregunta q me viene a la cabeza es, de q trata el hilo? [+risas] . Es decir, q se está discutiendo?. Cuales serán los beneficios de DirectX 12?. Beneficios de las nuevas APIs que están por llegar?. Se está discutiendo de APIs de consolas?. Puede q hoy esté más espeso de lo normal pero no me queda demasiado claro jeje.

Un saludo.

Beneficios de usar las nuevas apis para el desarrollo de juegos. La cita del primer post es de esta entrevista a Brad Wardell (en inglés):
DirectX 11 vs. DirectX 12 oversimplified

Unlike previous versions of DirectX, the difference between the new DirectX and previous generations are obvious enough that they can be explained in charts (and maybe someone with some visual design skill can do this).

This article is an extreme oversimplification. If someone wants to send me a chart to put in this article, I’ll update.

Your CPU and your GPU

Since the start of the PC, we have had the PC and the GPU (or at least, the “video card”).

Up until DirectX 9, the CPU, being 1 core in those days, would talk to the GPU through the “main” thread.

DirectX 10 improved things a bit by allowing multiple cores send jobs to the GPU. This was nice but the pipeline to the GPU was still serialized. Thus, you still ended up with 1 CPU core talking to 1 GPU core.

It’s not about getting close to the hardware

Every time I hear someone say “but X allows you to get close to the hardware” I want to shake them. None of this has to do with getting close to the hardware. It’s all about the cores. Getting “closer” to the hardware is relatively meaningless at this point. It’s almost as bad as those people who think we should be injecting assembly language into our source code. We’re way beyond that.

It’s all about the cores

Last Fall, Nvidia released the Geforce GTX 970. It has 5.2 BILLION transistors on it. It already supports DirectX 12. Right now. It has thousands of cores in it. And with DirectX 11, I can talk to exactly 1 of them at a time.

Meanwhile, your PC might have 4, 8 or more CPU cores on it. And exactly 1 of them at a time can talk to the GPU.

Let’s take a pause here. I want you to think about that for a moment. Think about how limiting that is. Think about how limiting that has been for game developers. How long has your computer been multi-core?

But DirectX 12? In theory, all your cores can talk to the GPU simultaneously. Mantle already does this and the results are spectacular. In fact, most benchmarks that have been talked about have been understated because they seem unbelievable. I’m been part of (non-NDA) meetings where we’ve discussed having to low-ball performance gains to being “only” 40%. The reality is, as in, the real-world, non-benchmark results I’ve seen from Mantle (and presumable DirectX 12 when it’s ready) are far beyond this. The reasons are obvious.

To to summarize:

DirectX 11: Your CPU communicates to the GPU 1 core to 1 core at a time. It is still a big boost over DirectX 9 where only 1 dedicated thread was allowed to talk to the GPU but it’s still only scratching the surface.

DirectX 12: Every core can talk to the GPU at the same time and, depending on the driver, I could theoretically start taking control and talking to all those cores.

That’s basically the difference. Oversimplified to be sure but it’s why everyone is so excited about this.

The GPU wars will really take off as each vendor will now be able to come up with some amazing tools to offload work onto GPUs.

Not just about games

Cloud computing is, ironically, going to be the biggest beneficiary of DirectX 12. That sounds unintuitive but the fact is, there’s nothing stopping a DirectX 12 enabled machine from fully running VMs on these video cards. Ask your IT manager which they’d rather do? Pop in a new video card or replace the whole box. Right now, this isn’t doable because cloud services don’t even have video cards in them typically (I’m looking at you Azure. I can’t use you for offloading Metamaps!)

It’s not magic

DirectX 12 won’t make your PC or XBox One magically faster.

First off, the developer has to write their game so that they’re interacting with the GPU through multiple cores simultaneously. Most games, even today, are still written so that only 1 core is dedicated to interacting with the GPU.

Second, this only benefits you if your game is CPU bound. Most games are. In fact, I’m not sure I’ve ever seen a modern Nvidia card get GPU bound (if anyone can think of an example, please leave it in the comments).

Third, if you’re a XBox One fan, don’t assume this will give the XBO superiority. By the time games come out that use this, you can be assured that Sony will have an answer.

Rapid adoption

There is no doubt in my mind that support for Mantle/DirectX12/xxxx will be rapid because the benefits are both obvious and easy to explain, even to non-technical people. Giving a presentation on the power of Oxide’s new Nitrous 3D engine is easy thanks to the demos but it’s even easier because it’s obvious why it’s so much more capable than anything out there.

If I am making a game that needs thousands of movie-level CGI elements on today’s hardware, I need to be able to walk a non-technical person through what Nitrous is doing differently. The first game to use it should be announced before GDC and in theory, will be the very first native DirectX 12 and Mantle and xxxx game (i.e. written from scratch for those platforms).

A new way of looking at things: Don’t read this because what is read can’t be unread

DirectX 12/etc. will ruin older movies and game effects a little bit. It has for me. Let me give you a straight forward example:

Last warning:

Seriously.

Okay. One of the most obvious limitations games have due to the 1 core to 1 core interaction are light sources. Creating a light source is “expensive” but easily done on today’s hardware. Creating dozens of light sources simultaneously on screen at once is basically not doable unless you have Mantle or DirectX 12. Guess how many light sources most engines support right now? 20? 10? Try 4. Four. Which is fine for a relatively static scene. But it obviously means we’re a long long way from having true “photo realism”.

So your game might have lots of lasers and explosions and such, but only (at most) a few of them are actually real light sources (and 3 of them are typically reserved lighting the scene).

As my son likes to say: You may not know that the lights are fake but your brain knows.



You’ll never watch this battle the same again.



Or this. Wow, those must be magical explosions, they don’t cast shadows…Or maybe it’s a CGI scene..

And once you realize that, you’ll never look at an older CGI movie or a game the same because you’ll see blaster shots and little explosions in a scene and realize they’re not causing shadows or lighting anything in the scene. You subconsciously knew the scene was “fake”. You knew it was filled with CGI but you may not have been able to explain why. Force lightning or a wizard spell that isn’t casting light or shadows on the scene may not be consciously noticeable but believe me, you’re aware of it (modern CGI fixes this btw but our games are still stuck at a handful).

Why I’ve been covering this

Before DirectX 12, I had never really talked about graphics APIs. That’s because I found them depressing. My claim to fame (code-wise) is multithreading AI programming. I wrote the first commercial multithreaded game back in the 90s and I’ve been a big advocate of multithreading since. GalCiv for Windows was the first game to make use of Intel hyperthreading.

Stardock’s games are traditionally famous for good AI. It’s certainly not because I’m a great programmer. It’s because I have always tossed everything from path finding to AI strategy onto threads. The turn time in say Sorcerer King with > 1000 units running around is typically less than 2 seconds. And those are monsters fighting battles with magical spells and lots of pathfinding. That’s all because I can throw all this work onto multiple threads that are now on multiple cores. In essence, I’m cheating. So next time you’re playing a strategy game where you’re waiting 2 minutes between turns, you know why.

But the graphics side? Depressing.



That magical spell is having no affect on the lighting or shadows. You may not notice it consciously but your brain does (DirectX 9). A DirectX 10/11 game would be able to give that spell a point light but as you can see, it’s a stream of light which is a different animal.

You don’t need an expert

Assuming you’re remotely technical, the change from DirectX 11 to DirectX 12/Mantle changes are obvious enough that you should be able to imagine the benefits. If before only 1 core could send jobs to your GPU but now you could have all your cores send jobs at the same time, you can imagine what kinds of things can become possible. Your theoretical improvement in performance is (N-1)X100% where N is how many cores you have. That’s not what you’ll really get. No one writes perfect parallelized code and no GPU is at 0% saturation. But you get the idea.

GDC

Pay very very close attention to GDC this year. Even if you’re an OpenGL fan. NVidia, AMD, Microsoft, Intel and Sony have a unified goal. Something is about to happen. Something wonderful.

En teoría las nuevas apis permitirían a todos los núcleos de la cpu interactuar con todos los núcleos de la GPU simultáneamente, aprovechando así mejor el hardware y sacando mejores resultados. Lo que no sé es hasta qué punto esto es aplicable a consolas. Quiero decir, el que sólo un núcleo de la cpu pueda hablar con otro núcleo de la gpu de cada vez es una limitación de DirectX11, pero yo no sé si en consolas esto es así.

En principio este cambio se pensaba que podía ser cosa de directx y one y aportarle una ventaja, pero en este mismo texto dice Brad Wardell que para cuando Microsoft implemente estas mejoras, Sony tendrá implementadas otras equivalentes. Eso es lo que papatuelo llama "kalise para todos".
EL bueno de Papatuelo que viene a Multi con volúmenes de Kant cuando aquí no se puede ir mas allá de Bob Esponja.
Polyteres escribió:Buenas gente. Al leer el hilo la pregunta q me viene a la cabeza es, de q trata el hilo? [+risas] . Es decir, q se está discutiendo?. Cuales serán los beneficios de DirectX 12?. Beneficios de las nuevas APIs que están por llegar?. Se está discutiendo de APIs de consolas?. Puede q hoy esté más espeso de lo normal pero no me queda demasiado claro jeje.

Un saludo.



No te preocupes, si no lo entiendes o te parece absurdi no es nesario q participes. Los foros funcionan asi, nadie te va a poner una falta de asistencia.
papatuelo escribió:
Polyteres escribió:Buenas gente. Al leer el hilo la pregunta q me viene a la cabeza es, de q trata el hilo? [+risas] . Es decir, q se está discutiendo?. Cuales serán los beneficios de DirectX 12?. Beneficios de las nuevas APIs que están por llegar?. Se está discutiendo de APIs de consolas?. Puede q hoy esté más espeso de lo normal pero no me queda demasiado claro jeje.

Un saludo.



No te preocupes, si no lo entiendes o te parece absurdi no es nesario q participes. Los foros funcionan asi, nadie te va a poner una falta de asistencia.

No ha dicho que le parezca absurdo, sólo que no sabe cuál es el tema del post. Te habría llevado menos pulsaciones de teclado escribir "nuevas apis y desarrollo de juegos" que lo que pusiste.

Parece que te decepcione que no haya el mal rollo o las broncas que esperabas. Quizá los usuarios de multi no sean tan malos como los pintan.
eloskuro está baneado del subforo por "flames"
volver al hilo gentucilla.

El topic es [APIs Next Gen]

Se puede hablar de API´s de todo tipo de PC y consolas a partir de Mantle 1.0, o por lo menos es lo que la lógica nos dice.
David Ricardo escribió:
papatuelo escribió:
Polyteres escribió:Buenas gente. Al leer el hilo la pregunta q me viene a la cabeza es, de q trata el hilo? [+risas] . Es decir, q se está discutiendo?. Cuales serán los beneficios de DirectX 12?. Beneficios de las nuevas APIs que están por llegar?. Se está discutiendo de APIs de consolas?. Puede q hoy esté más espeso de lo normal pero no me queda demasiado claro jeje.



Sencillamente en el primer post pone todo lo q pregunta.

No te preocupes, si no lo entiendes o te parece absurdi no es nesario q participes. Los foros funcionan asi, nadie te va a poner una falta de asistencia.

No ha dicho que le parezca absurdo, sólo que no sabe cuál es el tema del post. Te habría llevado menos pulsaciones de teclado escribir "nuevas apis y desarrollo de juegos" que lo que pusiste.

Parece que te decepcione que no haya el mal rollo o las broncas que esperabas. Quizá los usuarios de multi no sean tan malos como los pintan.
Un saludo.


Es q lo q pregunta esta en el primer hilo. Ademas de q el ya ha hablado largo y tendido del tema como para preguntar ahora eso.
Y este hilo? Menudos huevos papatuelo ;)

La verdad que si el hilo no se llena de mierda, es un hilo muy interesante. Es una liberación para hablar de ciertas cosas que en el otro hilo no se pueden hablar.

Aunque me gustaría que se añadiera tambien los nuevos motores de juego que imagino que empezaran a llegar el proximo año.
Sin ser en absoluto un experto en el tema, tampoco entiendo muy bien en que puede ayudar una API de PC a las consolas, cuando estas ya están siendo programadas a bajo nivel y además tienen una evolución constante en este aspecto. Ya se ha podido ver la evolución de One durante el año pasado y en PS4 las mejoras de The Order usando el último SDK.
Entiendo que DX12 puede estar bien para portear fácilmente indies o títulos "de clase media", pero no acabo de verlo para AAAs que pretendan exprimir la máquina.
Mapache Power escribió:Sin ser en absoluto un experto en el tema, tampoco entiendo muy bien en que puede ayudar una API de PC a las consolas, cuando estas ya están siendo programadas a bajo nivel y además tienen una evolución constante en este aspecto. Ya se ha podido ver la evolución de One durante el año pasado y en PS4 las mejoras de The Order usando el último SDK.
Entiendo que DX12 puede estar bien para portear fácilmente indies o títulos "de clase media", pero no acabo de verlo para AAAs que pretendan exprimir la máquina.

La api de pc no ayuda en nada a las consolas, pero es que la propia api de xbox one tendrá una nueva versión con nuevas capacidades que también forman parte de directx12. Si encuentran una nueva manera de trabajar que permite sacar petróleo del hardware, quizá esta se pueda aplicar tanto a PC como a One.

De hecho, el nombre Xbox es una abreviatura de DirectX Box, que era el nombre que tenía el proyecto original.
Mapache Power escribió:Sin ser en absoluto un experto en el tema, tampoco entiendo muy bien en que puede ayudar una API de PC a las consolas, cuando estas ya están siendo programadas a bajo nivel y además tienen una evolución constante en este aspecto. Ya se ha podido ver la evolución de One durante el año pasado y en PS4 las mejoras de The Order usando el último SDK.
Entiendo que DX12 puede estar bien para portear fácilmente indies o títulos "de clase media", pero no acabo de verlo para AAAs que pretendan exprimir la máquina.

¿Qué upgrade ha tenido The Order?
@David Ricardo
Esto si tiene más lógica.

Lo de DirectX Box lo desconocia. Hoy me acostaré sabiendo algo más XD


josemurcia escribió:¿Qué upgrade ha tenido The Order?


http://www.meristation.com/playstation-4/noticias/the-order-llegara-con-graficos-mejorados/1872611/2035438
Mapache Power escribió:
josemurcia escribió:¿Qué upgrade ha tenido The Order?


http://www.meristation.com/playstation-4/noticias/the-order-llegara-con-graficos-mejorados/1872611/2035438

¿Es coña no? The Order no se ha visto así de mal nunca, los videos del e3 pasado ya se veían como estas supuestas builds de 2015.

Imagen
http://youtu.be/FVSfjmB2yi0?t=8m3s

¿Y nos quieren vender que el juego en 2014 se veía así?
Imagen
Eso ya ni idea, no se de que momento en concreto han sacado las imágenes del antes.
Según dijeron los de Ready at Dawn en mayo respecto al retraso de the order a 2015, los motivos eran mantener una alta calidad en todo el juego, sin altibajos o zonas que se ven peor, y conseguir que las transiciones entre escenas sean todas fluidas y que no se note cuando está cargando, etc...
eloskuro está baneado del subforo por "flames"
David Ricardo escribió:Según dijeron los de Ready at Dawn en mayo respecto al retraso de the order a 2015, los motivos eran mantener una alta calidad en todo el juego, sin altibajos o zonas que se ven peor, y conseguir que las transiciones entre escenas sean todas fluidas y que no se note cuando está cargando, etc...

Tengo confianza en ready at dawn. Seguro que les sale un juego majo.

Pero siguiendo con el hilo... Creo que DX12 si que supondrá mejoras en juegos para xbox one, como cualuqier mejora en la OpenGL lo aprovechará sony para meterle mas chicha a su propia API.

Esta es una suposición mia, pero me dá que las proximas tarjetas trataran de quitar esa ociosidad a las CU´s, fomentarán mas si cabe el gpgpu . Se aproximan lo que podriamos denominar PC 2.0 con HSA. El mundo de los numeros grnadilocuentes se está terminando y se está volvioendo caduco. Ahora hay que tener sistemas balanceados y que no pierdan comba en ningun instante.

Las API tienen que estar preparadas para ello, y es lo que vamos a presenciar estos años.
eloskuro escribió:... El mundo de los numeros grnadilocuentes se está terminando y se está volvioendo caduco. Ahora hay que tener sistemas balanceados y que no pierdan comba en ningun instante.
...

Imagen
eloskuro está baneado del subforo por "flames"
O_o
eloskuro escribió:
David Ricardo escribió:Según dijeron los de Ready at Dawn en mayo respecto al retraso de the order a 2015, los motivos eran mantener una alta calidad en todo el juego, sin altibajos o zonas que se ven peor, y conseguir que las transiciones entre escenas sean todas fluidas y que no se note cuando está cargando, etc...

Tengo confianza en ready at dawn. Seguro que les sale un juego majo.

Pero siguiendo con el hilo... Creo que DX12 si que supondrá mejoras en juegos para xbox one, como cualuqier mejora en la OpenGL lo aprovechará sony para meterle mas chicha a su propia API.

Esta es una suposición mia, pero me dá que las proximas tarjetas trataran de quitar esa ociosidad a las CU´s, fomentarán mas si cabe el gpgpu . Se aproximan lo que podriamos denominar PC 2.0 con HSA. El mundo de los numeros grnadilocuentes se está terminando y se está volvioendo caduco. Ahora hay que tener sistemas balanceados y que no pierdan comba en ningun instante.

Las API tienen que estar preparadas para ello, y es lo que vamos a presenciar estos años.

Se aproxima la mejora de la programación multiGPU y multiCPU sobretodo en PC, cuanto más grandes sean los números seguirán teniendo mejor rendimiento, así que de caduco nada, a menos que alguno de los componentes sea tan débil que lo limíte y a ello lo llames desbalanceo.
Por volver el tema al hilo, hay una cosa que no me cuadra de la cita original, y es la parte del "CPU bound" ("juegos limitados por la CPU"), que dice que hoy en día son la mayoría y en PC no hay problemas con las gráficas.

Cuadra si partimos de la base de que los juegos multiplataforma se programan con la base de las consolas. Las consolas, con sus limitadas CPU, crean un límite artificial al juego en su versión PC. Cuestiones como la IA se suelen delegar en la CPU y no se suelen diseñar dos IAs...

Si se refiere intrínsecamente a que la CPU limita los juegos, en general y por el mismo motivo, no es cierto. Las CPUs actuales están infrautilizadas; véanse comparativas entre i5 vs i7, donde llega un punto que un aumento en el "escalafón" no se traduce en ninguna mejora del rendimiento.
eloskuro está baneado del subforo por "flames"
wabo escribió:Por volver el tema al hilo, hay una cosa que no me cuadra de la cita original, y es la parte del "CPU bound" ("juegos limitados por la CPU"), que dice que hoy en día son la mayoría y en PC no hay problemas con las gráficas.

Cuadra si partimos de la base de que los juegos multiplataforma se programan con la base de las consolas. Las consolas, con sus limitadas CPU, crean un límite artificial al juego en su versión PC. Cuestiones como la IA se suelen delegar en la CPU y no se suelen diseñar dos IAs...

Si se refiere intrínsecamente a que la CPU limita los juegos, en general y por el mismo motivo, no es cierto. Las CPUs actuales están infrautilizadas; véanse comparativas entre i5 vs i7, donde llega un punto que un aumento en el "escalafón" no se traduce en ninguna mejora del rendimiento.



Ni tanto ni tan calvo. El mundo PC es muy denso. Hay gente con buenas graficas pero CPU´s normalitas a los que tambien les ocurre el CPU bound.

O tambien ordenadores con GPU´s normalitas y CPUS con muchos cores totalmente desaprovechados.

No todo el mudno tiene dinero para cambiarsde de una vez el PC. Hay mucha gente que determina cambiar la GPU o cambiar placa y cpu y dejar la GPU antigüa.

Toda ayuda para que se aprovechen la mayor parte de recursos de tu hardware es bienvenida por parte de los ingenieros de las API.

Los mas beneficiados serán los de nuevo hard, como siempre, pero esta vez tmb tendrá su impacto en hard multicore


-----


Mantle 2.0, la siguiente version contara con algunas adiciones para disminuir aun mas la CPU dependencia como son:

* Pixel Synchronization, efectos de iluminación y transparencia aplicados a objetos y sustancias.
* Bindless Resources, mayor eficiencia en la ejecución de tareas en el GPU.

Tambien esta version nueva seria la primera en usarse en los otros productos SoC de AMD basados en arquitectura ARM, que econsidera AMD para esas fechas ya esten en el mercado de tablets, reproductores multimedia y smartphones. Se espera que Mantle 2.0 se libere a finales del 2015, mas o menos por las mismas fechas que se publique Direct3D_12 [DX12] por parte de microsoft y posiblememte tambien este disponible Khronos OpenGL 5.0 para PCs y OpenGL ES 4.0 para SoCs ARM yderivados [que incluiria a los de AMD, nVidia, Mediatek, Qualcomm, etc.].

http://www.techradar.com/us/news/computing/pc/amd-s-richard-huddy-on-the-state-of-pc-graphics-mantle-2-and-apus-1255575


Mantle 1.0
Imagen

(Minimos fps)
wabo escribió:Por volver el tema al hilo, hay una cosa que no me cuadra de la cita original, y es la parte del "CPU bound" ("juegos limitados por la CPU"), que dice que hoy en día son la mayoría y en PC no hay problemas con las gráficas.

Cuadra si partimos de la base de que los juegos multiplataforma se programan con la base de las consolas. Las consolas, con sus limitadas CPU, crean un límite artificial al juego en su versión PC. Cuestiones como la IA se suelen delegar en la CPU y no se suelen diseñar dos IAs...

Si se refiere intrínsecamente a que la CPU limita los juegos, en general y por el mismo motivo, no es cierto. Las CPUs actuales están infrautilizadas; véanse comparativas entre i5 vs i7, donde llega un punto que un aumento en el "escalafón" no se traduce en ninguna mejora del rendimiento.

Exacto. De todas maneras la forma de atenuar el primer paradigma es trasladar tareas de CPU a la GPU mediante GPGPU. Son ganas y esfuerzo el que supone trasladar algoritmos enteros de CPU a GPU. El segundo es un mal menor y endémico al primero.
Buenas gente. @papatuelo vaya recibimiento chico jaja, yo tb me alegro de volver a leerte [+risas] . La pregunta iba totalmente en serio, y creo q queda suficientemente claro en mi mensaje. Ni sorna ni ironía, no me quedaba muy claro ni el título del hilo ni el primer mensaje del mismo y el resto de mensajes tampoco ayudaban, pero ya me ha quedado claro.

Con respecto al artículo estoy de acuerdo con lo q dice @wabo. Ahora el ejemplo q puse del perrete y el palo cuando hablábamos de Assasins Creed: Unity vendría perfecto [carcajad] . En un entorno cerrado como es una consola, un juego no debería ser ni GPU-bound ni CPU-bound, puesto q conoces al milímetro (o deberías) las posibilidades y limitaciones de tu hardware y debes saber hasta donde puedes llegar. Por otra parte si tu juego es CPU-bound, y además holgadamente, esto implica q tu GPU estará parada y tendrá tiempos ociosos, por lo q no estás maximizando el uso del componente principial que utilizas para generar gráficos. Si esto ocurre y aumentas la carga gráfica pura de la GPU (por ejemplo aumentas la resolución, usas filtros con mayor calidad...), tu framerate no se resentirá hasta que "consigas" ser GPU-bound y sea la CPU la q tenga q esperar a la GPU, por lo q estos aumentos serían "gratis".

Imagen

Lo deseable es q nadie espere a nadie (GPU-CPU), y q esté todo equilibrado. La mejora de rendimiento que prometen estas nuevas APIs se va a notar si tu juego es CPU-bound.

Dicho lo cual y entrando más a fondo en el topic del hilo. Todas las APIs que se avecinan parece q van a seguir un planteamiento similar, dar mucha mas "responsabilidad" a la aplicación y por tanto poder aligerar la carga del driver y de esta forma poder eliminar el overhead asociado. El sistema de comunicación con la GPU se va a realizar mediante colas y listas de comandos, donde será la aplicación la q tendrá que controlar el acceso compartido a los recursos y por tanto será la responsable de la sincronización. Podrá haber mas de una y más de dos colas de distintos tipos (en Mantle tienes 3 tipos: graficos, compute, DMA), donde cada hebra podrá grabar comandos de forma concurrente y asíncrona en un command buffer que posteriormente serán colocados en estas colas. Se mejorará mucho la computación asíncrona y el acceso más directo al hardware.

Todas estas cosas se venían pidiendo en PC desde hace mucho tiempo, usar un estilo similar (salvando las distancias) al q se puede encontrar en las APIs de consolas. De lo poco q se ha podido ver de DirectX12 y Mantle, me gusta mucho la propuesta de esta última, muy clara e intuitiva, y creo q DirectX12 seguirá un camino muy similar.

De DirectX12 hay intersante información aquí:

https://software.intel.com/en-us/blogs/author/1048217

De Mantle a mi me han gustado bastante estos 3:

http://www.slideshare.net/DevCentralAMD ... m_search=4
http://www.slideshare.net/DICEStudio/ma ... ?related=1
http://www.slideshare.net/DevCentralAMD ... ?related=1

Por otro lado poco o nada se sabe de OpenGL NG, tan solo promesas que espero no se queden en el tintero como pasó con la versión 3.0. La unificación de escritorio y móvil es un hecho (por fin), la limpieza de la API de arriba abajo dejando de ser compatible hacia atrás es necesaria...veremos hasta donde es capaz de llegar. Tengo esperanzas en esta nueva versión pero después del chasco que supuso OpenGL 3.0 soy muy cauto y escéptico con el grupo Khronos.

Por otro lado hay otra API de bajo nivel actualmente en el mercado que pasa desapercibida q es Metal de Apple que usa conceptos muy similares a los anteriormente descritos.

Con respecto a las APIs de consolas, estás siempre serán mucho más "close-to-metal" de lo q una API de PC puede ni siquiera llegar a soñar. Tan solo hay q echarle un vistazo al SDK filtrado de XboxOne.

Para terminar me gustaría romper una lanza a favor de las APIs actuales. Hay cosas muy muy chulas que se pueden hacer ahora mismo y q ayudan a reducir o incluso a eliminar completamente el overhead. Por ejemplo Indirect Draw te permite "generar" comandos de render en un compute shader que posteriormente serán ejecutados por la GPU, o preprocesar las llamadas meterlas en un buffer y q sea la GPU la q coja ese buffer y dibuje los comandos sin q la CPU intervenga. El año pasado en la GDC Nvidia, AMD e Intel se sacaron de la manga este paper muy interesante sobre el tema:

http://www.slideshare.net/CassEveritt/a ... r-overhead

Un saludo.
Tampoco hay demasiado que discutir, hay unos datos que han dado gente de la industria que se supone en conocimiento, y se supone que almenos hay que dar el beneficio de la duda ante lo que se afirma.

Son cosas que en breve se demostraran si son ciertas o no, solo hay que esperar. El hilo deberia ser para aportar informacion a la cuestion, desde el punto de visto multiplataforma
Pues esperemos que OpenGL se ponga las pilas. No es plan que la API que se puede usar libremente en cualquier plataforma se que desfasada.

Una pregunta, para iluminación voxelizada, ¿se usa computación o render?. En caso de no usar texturas para definir las propiedades del objeto, y usar valores únicos (cantidad y valor de reflexión, especularidad, etc.), podría hacerse mediante computación si no me equivoco.
@Polyteres, leyendo tu mensaje me da la impresión de que no era ninguna tontería lo que argumentamos muchos de que, si la gpu de ps4 tenía suficiente potencia para rular Unity a 1080p, el hecho de que el juego fuese GPU bound no debería de haber sido impedimento para tener mayor resolución puesto que eso no afectaría negativamente a la carga de la cpu que era la culpable de los problemas de framerate. ¿Estás de acuerdo?
Pero es que AC Unity no es una demo gráfica. Seguramente cuando se toparon con el CPU-bound delegaron cosas a la GPGPU por lo que les quedó menos disponible. Si no probablemente tendrías el juego a 1080p pero a 20 fps. Es todo un conjunto.
darksch escribió:Pero es que AC Unity no es una demo gráfica. Seguramente cuando se toparon con el CPU-bound delegaron cosas a la GPGPU por lo que les quedó menos disponible. Si no probablemente tendrías el juego a 1080p pero a 20 fps. Es todo un conjunto.

Si hubiesen delegado tantas cosas a GPGPU que agotasen los recursos libres de la GPU y esta ya no tuviera que esperar por la CPU, el juego por definición ya no sería CPU Bound. Ya sería un juego balanceado para aprovechar todo el sistema. Y eso no es lo que dijeron los de Ubi soft.
darksch escribió:Pero es que AC Unity no es una demo gráfica. Seguramente cuando se toparon con el CPU-bound delegaron cosas a la GPGPU por lo que les quedó menos disponible. Si no probablemente tendrías el juego a 1080p pero a 20 fps. Es todo un conjunto.

No creo que delegaran mucho en la GPGPU viendo como se mueve en las dos next gen. Según el supuesto de que delegaron cosas a GPGPU hasta que fue GPU+CPU bound la versión de X1 debería ir bastante peor. Y en el caso de que sólo hicieran algunas tareas mediante GPGPU, tenían un margen grande para aumentar resolución en Ps4 sin incidir en el rendimiento del juego (al ser CPU bound). Tiene más pinta de un tordo primerizo.
Habrá cosas que puedas delegar y otras que no por la forma de funcionar GPGPU. Aún sin estar aprovechada al 100% la parte de GPU, puedes estar limitado aún por CPU. Y esa parte ser insuficiente para subir. Realmente es muy raro encontrarse con un programa que aproveche 100/100 perfectamente balanceado CPU/GPU.

Según el supuesto de que delegaron cosas a GPGPU hasta que fue GPU+CPU bound la versión de X1 debería ir bastante peor

¿Por?.
darksch escribió:Pero es que AC Unity no es una demo gráfica. Seguramente cuando se toparon con el CPU-bound delegaron cosas a la GPGPU por lo que les quedó menos disponible. Si no probablemente tendrías el juego a 1080p pero a 20 fps. Es todo un conjunto.


Viendo el estado de desarrollo con el que salio el juego, yo tengo mis dudas de lo real que es ese cpu-bound. Paralelizaron correctamente lo paralelizable a nivel de cpu para usar los cores disponibles de manera optima? que un i3 sarnoso con 4 hilos se mee en algunos sitios en un amd high end con 6 threads da a pensar que la paralelizacion deja mucho que desear.
darksch escribió:Habrá cosas que puedas delegar y otras que no por la forma de funcionar GPGPU. Aún sin estar aprovechada al 100% la parte de GPU, puedes estar limitado aún por CPU. Y esa parte ser insuficiente para subir. Realmente es muy raro encontrarse con un programa que aproveche 100/100 perfectamente balanceado CPU/GPU.

Según el supuesto de que delegaron cosas a GPGPU hasta que fue GPU+CPU bound la versión de X1 debería ir bastante peor

¿Por?.

Por la GPU de X1, bastante inferior a la de Ps4.
J_Ark escribió:
darksch escribió:Habrá cosas que puedas delegar y otras que no por la forma de funcionar GPGPU. Aún sin estar aprovechada al 100% la parte de GPU, puedes estar limitado aún por CPU. Y esa parte ser insuficiente para subir. Realmente es muy raro encontrarse con un programa que aproveche 100/100 perfectamente balanceado CPU/GPU.

Según el supuesto de que delegaron cosas a GPGPU hasta que fue GPU+CPU bound la versión de X1 debería ir bastante peor

¿Por?.

Por la GPU de X1, bastante inferior a la de Ps4.

Ah, vale. Ya veo a que han venido algunos a transformar el hilo.

Nada seguid a lo vuestro, a seguir disfrutando de ese 50% mor powah [carcajad]
Dudo que Ubi se matara mucho la cabeza con la GPGPU viendo los resultados que predicaban y en lo que han quedado en el juego final.

Imagen
http://twvideo01.ubm-us.net/o1/vault/gd ... Vaisse.pdf
darksch escribió:Ah, vale. Ya veo a que han venido algunos a transformar el hilo.

Nada seguid a lo vuestro, a seguir disfrutando de ese 50% mor powah [carcajad]

Es lo que dijeron los de Ubi. Mira el gráfico que acaban de colgar. Si el juego es cpu bound, es normal que vaya mejor en One. Pero si usasen GPGPU intensivamente como tú dices, debería ir bastante mejor en PS4. Por eso digo que no deben haber usado mucho GPGPU y, ya que va a ir a tirones, mejor que los de a 1080p que no a 900p, no? Si, como parece, no están exprimiendo la GPU, peor no va a ir.
darksch escribió:
J_Ark escribió:Por la GPU de X1, bastante inferior a la de Ps4.

Ah, vale. Ya veo a que han venido algunos a transformar el hilo.

Nada seguid a lo vuestro, a seguir disfrutando de ese 50% mor powah [carcajad]

Sí tiene más CUs, más shaders, más ACEs, más texture units, más ROPs,... en resumen más espacio en chip para meter más chicha por culpa del tamaño comido por la ESRAM. ¿Como puede ser que todo Internet tenga claro esto y siga habiendo gente que se niega a creerlo? Si fueran chips de diferentes compañías aún, pero proveniendo ambas del mismo fabricante en el mismo periodo de tiempo o_O
Nada nada, a seguir trayendo la misma mierda en TODOS los hilos de EOL. Y seguid con la imagencita de los test de Ubisoft, que no es un caso real (memoria compartida, falta de optimización en X1 que les preguntaron y ni respondieron, falta de API en X1 para hacer dicho test en condiciones usando el compilador a pelo, etc.). El día que saquen demos (no de juegos) habrá muchos que hasta las pagarán y todo.
darksch escribió:Nada nada, a seguir trayendo la misma mierda en TODOS los hilos de EOL. Y seguid con la imagencita de los test de Ubisoft, que no es un caso real (memoria compartida, falta de optimización en X1 que les preguntaron y ni respondieron, falta de API en X1 para hacer dicho test en condiciones usando el compilador a pelo, etc.). El día que saquen demos (no de juegos) habrá muchos que hasta las pagarán y todo.

No hay ninguna norma que impida hablar de hard en multi y si esta se estableciera y fuera el primer foro de ese tamaño en hacerlo por culpa de la intransigencia de algunos usuarios sería bastante triste :(
J_Ark escribió:Sí tiene más CUs, más shaders, más ACEs, más texture units, más ROPs,... en resumen más espacio en chip para meter más chicha por culpa del tamaño comido por la ESRAM. ¿Como puede ser que todo Internet tenga claro esto y siga habiendo gente que se niega a creerlo? Si fueran chips de diferentes compañías aún, pero proveniendo ambas del mismo fabricante en el mismo periodo de tiempo o_O

Está claro que hay gente que piensa distinto y la posición desde moderación en EOL es respetarlo hasta el punto de que está prohibido hablar de hardware en multi porque se lia. Por eso, mejor dejar de lado el hablar de obviedades de hardware. Habla de apis y desarrollo de juegos, que es de lo que trata el post, y no te preocupes que, para quien quiera verlo, quedará bastante clara cual es la realidad. Quien no quiera verlo, no lo va a ver nunca por muchos "numeritos" que le enseñes.

Edit: @j_ark es triste, pero es así. No se puede hablar de hardware en multi. Asúmelo y juega dentro de las limitaciones que tienes.
Es ONE la que todavía tiene que demostrar que es igual o más potente que PS4, no nosotros demostrar que no lo es.

A ver si ahora comentar los resultados reales que hay sobre la mesa va a ser traer mierda y las pajas de Misterxmedia no.
josemurcia escribió:Es ONE la que todavía tiene que demostrar que es igual o más potente que PS4, no nosotros demostrar que no lo es.

A ver si ahora comentar los resultados reales que hay sobre la mesa va a ser traer mierda y las pajas de Misterxmedia no.


Deja el tema,como ha comentado David Ricardo,por mucho que lo intentemos,algunos no aceptaran la realidad en la vida.

Un saludo.
David Ricardo escribió:
J_Ark escribió:Sí tiene más CUs, más shaders, más ACEs, más texture units, más ROPs,... en resumen más espacio en chip para meter más chicha por culpa del tamaño comido por la ESRAM. ¿Como puede ser que todo Internet tenga claro esto y siga habiendo gente que se niega a creerlo? Si fueran chips de diferentes compañías aún, pero proveniendo ambas del mismo fabricante en el mismo periodo de tiempo o_O

Está claro que hay gente que piensa distinto y la posición desde moderación en EOL es respetarlo hasta el punto de que está prohibido hablar de hardware en multi porque se lia. Por eso, mejor dejar de lado el hablar de obviedades de hardware. Habla de apis y desarrollo de juegos, que es de lo que trata el post, y no te preocupes que, para quien quiera verlo, quedará bastante clara cual es la realidad. Quien no quiera verlo, no lo va a ver nunca por muchos "numeritos" que le enseñes.

Edit: @j_ark es triste, pero es así. No se puede hablar de hardware en multi. Asúmelo y juega dentro de las limitaciones que tienes.

Ojoas, va en serio? Creía que se limitaba al hilo de comparativa de juegos multi. Porque una cosa es que la contribución de un usuario en multi se limite en 9/10 mensajes tocar los cojones diciendo A es más potente que B, pero que se impida hablar de hard en todo multi me parece la ostia. Además tampoco lo veo chincheteado.
[APIs Next Gen]

No creo que ponga hardware de consolas, y creo que con next gen significa las nuevas apis, no las consolas.

Que siempre sois los mismos que venis a joder los hilos, a flamear y a console wars.
Nuhar escribió:[APIs Next Gen]

No creo que ponga hardware de consolas, y creo que con next gen significa las nuevas apis, no las consolas.

Que siempre sois los mismos que venis a joder los hilos, a flamear y a console wars.

Wut? Se ha generado un pequeño offtopic con un juego en cuestión y han venido los de siempre, si, los que se hacen los ofendidos a flamear. Es más, hasta que no han comenzado a decir "ya están metiendo mierda, flamear, os odio a todos" me parecía una conversación la mar de normal y que se puede disfrutar en cualquier foro.

Que 5 usuarios coaccionen el contenido de un foro tan importante como este es de chiste xD
Se puede hablar de lo que va a beneficiar una api nueva a una consola sin la irresistible necesidad de echar mierda a otras plataformas y menos a usuarios.

A ver si podemos tener un buen hilo para comentar cosas.

Alguien tiene algun enlace sobre mejoras del opengl o rumores o algo? Estoy totalmwnte perdido en este tema.
Nuhar escribió:Se puede hablar de lo que va a beneficiar una api nueva a una consola sin la irresistible necesidad de echar mierda a otras plataformas y menos a usuarios.

A ver si podemos tener un buen hilo para comentar cosas.

Alguien tiene algun enlace sobre mejoras del opengl o rumores o algo? Estoy totalmwnte perdido en este tema.

Se puede hablar de cualquier cosa que tenga que ver con el tema y se pueden generar los offtopics normales en cualquier foro mientras no monopolicen el tema. No eres el moderador. Lo de los insultos a usuarios y echar mierda a las plataformas estoy de acuerdo.
J_Ark escribió:Ojoas, va en serio? Creía que se limitaba al hilo de comparativa de juegos multi. Porque una cosa es que la contribución de un usuario en multi se limite en 9/10 mensajes tocar los cojones diciendo A es más potente que B, pero que se impida hablar de hard en todo multi me parece la ostia. Además tampoco lo veo chincheteado.

Tienes el post de "hoygan que consola es mejor debería cambiar la mía" chincheteado que básicamente viene a decir que no se pueden hacer versus de consolas. Tampoco haría falta, esto se asemeja a la jurisprudencia de los tribunales. Siempre que se crea un post para hablar de hardware de consolas se cierra, así que aunque no haya una norma concreta que lo diga, sabes que no se puede porque si creas un post de hardware te lo van a chapar.

Edit: por mi parte fin del offtopic.
David Ricardo escribió:
J_Ark escribió:Ojoas, va en serio? Creía que se limitaba al hilo de comparativa de juegos multi. Porque una cosa es que la contribución de un usuario en multi se limite en 9/10 mensajes tocar los cojones diciendo A es más potente que B, pero que se impida hablar de hard en todo multi me parece la ostia. Además tampoco lo veo chincheteado.

Tienes el post de "hoygan que consola es mejor debería cambiar la mía" chincheteado que básicamente viene a decir que no se pueden hacer versus de consolas. Tampoco haría falta, esto se asemeja a la jurisprudencia de los tribunales. Siempre que se crea un post para hablar de hardware de consolas se cierra, así que aunque no haya una norma concreta que lo diga, sabes que no se puede porque si creas un post de hardware te lo van a chapar.

Edit: por mi parte fin del offtopic.

Según ese post tampoco se pueden hacer versus de los juegos, así que esa lógica jurisprudencil no me vale. Pero bueno, no lo he mirado pero los 5 de siempre se habrán cebado a reportarme, cuando se pase algún mod lo clarificará. Y si, mejor dejar el offtopic. Si lo se no intento explicarme, vaya página ha quedado en el hilo por una chorrada como un piano xD
189 respuestas
1, 2, 3, 4