Ahora resulta: Con mantle y direct3D_12 se podra sumar la VRAM del CFX/SLI

Interesante y revelador; de ser cierto cosa que dudo, esto que dice Robert Hallock, jefe de mercadotecnia de AMD. Segun este mercadologo, en configuraciones de varias GPUs en paralelo [CrossFireX o SLI], con la API mantle y direct3D_12 mientras el juego no usen la configuracion AFR [la mas usada estos dias] para repartir el trabajo, el juego vera al conglomerado de GPUs como una sola GPU y la VRAM la vera como la suma de la VRAM en las tarjetas.

Imagen


Considerando dos tarjetas de video en paralelo:

AVR [Alternate Frame Rendering] se refiere a que una GPU renderea toda la imagen del frame 1, 3, 5, etc. [impares], mientras el otro GPU renderea toda la imagen del frame 2, 4, 6, etc. [pares]

SFR [Split Frame Rendering] se refiere a que cada GPU se encarga de renderea la mitad de la pantalla

Mas del render en configuraciones CFX y SLI: http://moddingmx.com/foro/index.php?/to ... rossfirex/


Esto quiere decir, que si usando dos tarjetas de video con 4GB de VRAM y repartiendo el trabajo bajo el concepto SFR, donde cada tarjeta rendere la mitad de la pantalla, para el juego tendriamos una sola tarjeta de video con 8GB de VRAM.

Esto de sumar la VRAM, siendo sinceros, no lo creo viniendo de la gente del departamento de mercadotecnia, porque recordemos lo que paso cuando la previa salida de los procesadores AMD FX, donde las declaraciones de un aumento exponencial del rendimiento era anunciado precisamente por este departamento.

Lo que si creo, y ya estaba contemplado desde los inicios de mantle y finalmente seguro direct3D_12 lo tendra, es que esta API usaria tecnicas de SFR mas avanzadas, donde cada GPU trabajaria sobre la totalidad de la escena a mostrar, pero repartiendose el trabajo, asi una se encargaria de geometrias y texturas y otros calculos, mientras la otra GPU se encargaria de sombreado, efectos de luz/sombra y otros efectos visuales y se encargaria ya de la salida final de la imagen al monitor/televisor/proyector.


hilo_otros-titulos-de-juegos-que-usaran-mantle_2014932_s10
De mi Post del 2 de octubre 2014.
..

The way DirectX11 handles multiple GPUs is “AFR” or Alternate Frame Rendering, which as the name suggests means if you have two comparably powered GPUs they simply take turns rendering frames. This is in many respects the easiest approach to take – and is a great way of making your game CPU bound!]So possibly our Mantle version could show some big improvements when using this method.

However, with the independent control over the GPUs Mantle gives us, we could approach the problem very differently - for example one GPU could be rendering the basic geometry in the scene, while another handles lighting and shadows for the same frame, with the final image composited at the end. This may also provide a route for when GPUs aren’t of a comparable power level – for example an integrated APU motherboard coupled with a desktop GPU. It’s the potential for completely new approaches like this which excites me the most about Mantle and the APIs which will follow it.





http://www.tweaktown.com/news/43347/gef ... index.html
Anthony Garreffa, tweaktown.com escribió:DirectX 12 and Mantle could pave the way for combining VRAM on your GeForce and Radeon GPUs! Finally!

Sure, your flashy new GeForce GTX 980 has 4GB of VRAM, and so does the one next to it in SLI. But while you have a total of 8GB of VRAM between two cards, only one set of VRAM is being used, it's not being combined. That is, for now. Things could change according to a recent tweet from AMD's Robert Hallock.



TweakTown image news/4/3/43347_23_geforce-radeon-gpus-soon-combine-vram-thanks-dx12-mantle.jpg



Hallock teased that with the upcoming APIs in Mantle and DirectX 12, two GPUs in SLI or Crossfire could possibly act as 'one big' GPU. Hallock said: "Mantle is the first graphics API to transcend this behavior and allow that much-needed explicit control. For example, you could do split-frame rendering with each GPU ad its respective framebuffer handling 1/2 of the screen. In this way, the GPUs have extremely minimal information, allowing both GPUs to effectively behave as a single large/faster GPU with a correspondingly large pool of memory".



TweakTown image news/4/3/43347_18_geforce-radeon-gpus-soon-combine-vram-thanks-dx12-mantle.jpg



"Ultimately the point is that gamers believe that two 4GB cards can't possibly give you the 8GB of useful memory", he continued. He added: "That may have been true for the last 25 years of PC gaming, but thats not true with Mantle and its not true with the low overhead APIs that follow in Mantle's footsteps". This isn't confirmation that memory stacking is going to happen, but it's a much better direction to be heading in, that's for sure. Especially with 4K and beyond gaming, VRAM is more important than ever and wasting 4-8GB of VRAM on SLI/Crossfire setups is just silly.




.
Muy interesante gracias, veremos que depara el futuro.
Pues estari muy bien

Espero mucho de directx 12
Podría ser interesante sobre todo para tarjetas con cantidades mas modestas de VRAM en plan 1GB o 2GB en CFX/SLI poderse moverse a resoluciones mas grandes, por que las que tienen 4, 6 u 8gb y no hablemos ya de Tri o quad SLI/CFX... no creo que se note tanto xD
buena noticia, para graficas como la gtx 690 le sentaría muy bien.
seria una gran avance.
No sé si sois conscientes de que para mover un dato de la memoria de una gráfica a la gpu de la otra tiene que pasar por un bus pciexpress, que en comparación con el bus de memoria de una gráfica, es lento, muy lento.

Si la gente se llevaba las manos a la cabeza por los 20GB/s de los últimos 5XXMb de la 970... bueno, que no espere más rendimiento en estos casos.

Como tecnología sobre el papel, está muy bien. Dudo mucho que se lleve con éxito a la práctica.

Saludos
Pollonidas escribió:No sé si sois conscientes de que para mover un dato de la memoria de una gráfica a la gpu de la otra tiene que pasar por un bus pciexpress, que en comparación con el bus de memoria de una gráfica, es lento, muy lento.

Si la gente se llevaba las manos a la cabeza por los 20GB/s de los últimos 5XXMb de la 970... bueno, que no espere más rendimiento en estos casos.

Como tecnología sobre el papel, está muy bien. Dudo mucho que se lleve con éxito a la práctica.

Saludos


Iba a decir algo parecido, pero veo que te has adelantado. En fin... lo que es increíble que algunas cosas funcionen muy bien en un sentido (de la mercadotecnia) pero cuando es en el contrario la gente se queje y diga que es imposible que las cosas funcionen correctamente así. Y lo que es peor, cuando en un caso los anchos de banda, latencias, etc, son mucho peores que en el caso de los "descreídos" (970 y sus 500 MB últimos).
wwwendigo escribió:
Pollonidas escribió:No sé si sois conscientes de que para mover un dato de la memoria de una gráfica a la gpu de la otra tiene que pasar por un bus pciexpress, que en comparación con el bus de memoria de una gráfica, es lento, muy lento.

Si la gente se llevaba las manos a la cabeza por los 20GB/s de los últimos 5XXMb de la 970... bueno, que no espere más rendimiento en estos casos.

Como tecnología sobre el papel, está muy bien. Dudo mucho que se lleve con éxito a la práctica.

Saludos


Iba a decir algo parecido, pero veo que te has adelantado. En fin... lo que es increíble que algunas cosas funcionen muy bien en un sentido (de la mercadotecnia) pero cuando es en el contrario la gente se queje y diga que es imposible que las cosas funcionen correctamente así. Y lo que es peor, cuando en un caso los anchos de banda, latencias, etc, son mucho peores que en el caso de los "descreídos" (970 y sus 500 MB últimos).


Por cierto, hace unos meses me lo preguntaba pero no investigue nada al final; aparte de la evolucion natural del puerto PCI-E que ya va para la cuarta iteracion, ¿hay a futuro un salto a un "futurible" nuevo puerto? Algo asi como del AGP al PCI-E.
Pollonidas escribió:No sé si sois conscientes de que para mover un dato de la memoria de una gráfica a la gpu de la otra tiene que pasar por un bus pciexpress, que en comparación con el bus de memoria de una gráfica, es lento, muy lento.

Si la gente se llevaba las manos a la cabeza por los 20GB/s de los últimos 5XXMb de la 970... bueno, que no espere más rendimiento en estos casos.

Como tecnología sobre el papel, está muy bien. Dudo mucho que se lleve con éxito a la práctica.

Saludos




Eso te ocurrirá en los SLi o CF de 2 tarjetas, pero que pasa con las tarjetas que son duales de por sí como una GTX690 o las AMD295X? pues que les vendría de perlas y se venderían mucho más y mejor para todos aquellos que estuviesen pensando en una solución doble.
Hay un juego que ya soporta esto a través de Mantle,ahora no recuerdo el nombre,pero creo que es de los mas recientes con soporte Mantle
Coño, yo me acuerdo de la epoca que empezo el SLI alla por el 2004-2005 que eso ya se podia hacer, se dividia la pantalla en cuadrados y una grafica renderizaba los pares y la otra los impares o algo asi, cada una con su vram [pos eso]
loco_desk escribió:Coño, yo me acuerdo de la epoca que empezo el SLI alla por el 2004-2005 que eso ya se podia hacer, se dividia la pantalla en cuadrados y una grafica renderizaba los pares y la otra los impares o algo asi, cada una con su vram [pos eso]


eso es la definicion del sli xD pero no se suman, en las graficas duales estaria muy bien que se sumaran
loco_desk escribió:Coño, yo me acuerdo de la epoca que empezo el SLI alla por el 2004-2005 que eso ya se podia hacer, se dividia la pantalla en cuadrados y una grafica renderizaba los pares y la otra los impares o algo asi, cada una con su vram [pos eso]


perdon el offtopic, pero el SLI salio antes del 2000 de hecho se podia tener 2 3dfx Voodoo en SLI

A titulo informativo:

http://es.wikipedia.org/wiki/3dfx#SLI
WiiBoy escribió:
loco_desk escribió:Coño, yo me acuerdo de la epoca que empezo el SLI alla por el 2004-2005 que eso ya se podia hacer, se dividia la pantalla en cuadrados y una grafica renderizaba los pares y la otra los impares o algo asi, cada una con su vram [pos eso]


eso es la definicion del sli xD pero no se suman, en las graficas duales estaria muy bien que se sumaran


Vale, pues entonces creo que era una variante que dividia simplemente la pantalla en 2 y una grafica renderizaba una mitad y la otra la segunda mitad jejeje.
Yo me acuerdo de que existia esa posibilidad, como funcionaba ... ni puta idea xD.
Un saludo ;)
loco_desk escribió:
WiiBoy escribió:
loco_desk escribió:Coño, yo me acuerdo de la epoca que empezo el SLI alla por el 2004-2005 que eso ya se podia hacer, se dividia la pantalla en cuadrados y una grafica renderizaba los pares y la otra los impares o algo asi, cada una con su vram [pos eso]


eso es la definicion del sli xD pero no se suman, en las graficas duales estaria muy bien que se sumaran


Vale, pues entonces creo que era una variante que dividia simplemente la pantalla en 2 y una grafica renderizaba una mitad y la otra la segunda mitad jejeje.
Yo me acuerdo de que existia esa posibilidad, como funcionaba ... ni puta idea xD.
Un saludo ;)


xD que si que es asi, pero que no se suman, si cada grafica tiene 1gb actalmente la cantidad de ram del sli o el crossfire es 1gb, no vas a usar mas de 1gb de textura por que la memoria no se suma

ahora si xd
¿Se supone que con esto ganamos espacio para mayor resolución y texturas, no?

Velocidad no creo, pero lo que pregunto debería.
Probotector escribió:¿Se supone que con esto ganamos espacio para mayor resolución y texturas, no?

Velocidad no creo, pero lo que pregunto debería.


No, no es práctico. Tiene más sentido en entornos de computación o, cuando se pueda implementar un bus muy rápido intermedio, yo qué sé, mínimo pci-e 16X 4.0, poder compartir algunos datos concretos. Pero vamos.... para lo que es rasterizado (patada al diccionario) en tiempo real, va a ser que usar un bus ya de por sí usado para comunicar tarjeta con el sistema, relativamente lento comparado con la VRAM (cualquier tipo de VRAM), va a ser que... no.

Que útil no es, sólo a nivel teórico y con condiciones muy distintas a la actualidad. O en computación donde sí podría tener más utilidad algo así.
A saber entonces ..... XD
Era aquella época en la que NVIDIA quería meter el SLI con calzador y el CoD2 (Best CoD EVER) si activabas el SLI aun sin tener 2 gráficas te aumentaba un 20% el framerate jajajaja.
Un saludo
loco_desk escribió:Coño, yo me acuerdo de la epoca que empezo el SLI alla por el 2004-2005 que eso ya se podia hacer, se dividia la pantalla en cuadrados y una grafica renderizaba los pares y la otra los impares o algo asi, cada una con su vram [pos eso]


nVIdia compro a 3dfx, y con ello toda su propiedad intelecutual, la cual incluia lo de las tarjetas de video en paralelo, ya solo lo que hizo fue evolucionar el concepto. Desde 'el acelerador grafico 3d' Voodoo2 es cuando 3dfx nos deleito con poder poner un par de tarjetas voodoo2 en los puertos PCI, puentear la voodoo2 maestra al sistema de video de la PC y disfrutar de un mayor rendimiento 3d.

Siempre ha habido varias formas de hacer el trabajo en paralelo, aunque las mas usadas son SFR y AFR, y en estos tiempos a predominado AFR.

Pollonidas escribió:No sé si sois conscientes de que para mover un dato de la memoria de una gráfica a la gpu de la otra tiene que pasar por un bus pciexpress, que en comparación con el bus de memoria de una gráfica, es lento, muy lento.


Un tanto ayuda el puente CrossfireX/SLI que hay en las tarjetas para la trasnferencia de datos, pero estamos enfocando de manera incorrecta lo que va a realizar mantle/d3d_12, porque se refiere a una memoria buffer que seria la compartida entre los GPUs, y no a todos los datos.
wwwendigo escribió:
Probotector escribió:¿Se supone que con esto ganamos espacio para mayor resolución y texturas, no?

Velocidad no creo, pero lo que pregunto debería.


No, no es práctico. Tiene más sentido en entornos de computación o, cuando se pueda implementar un bus muy rápido intermedio, yo qué sé, mínimo pci-e 16X 4.0, poder compartir algunos datos concretos. Pero vamos.... para lo que es rasterizado (patada al diccionario) en tiempo real, va a ser que usar un bus ya de por sí usado para comunicar tarjeta con el sistema, relativamente lento comparado con la VRAM (cualquier tipo de VRAM), va a ser que... no.

Que útil no es, sólo a nivel teórico y con condiciones muy distintas a la actualidad. O en computación donde sí podría tener más utilidad algo así.


Pues vaya chufa...
Me replantearía el xrossfire de la hd7790 1gb
Pero parece que no funcionaria con la HD77xx
TRASTARO escribió:Pero parece que no funcionaria con la HD77xx


Debería, pero da igual, no tiene sentido para rasterizado en tiempo real. Aunque quizás y sólo quizás podría implementarse mejor en gráficas lentas (por haber menos diferencia entre acceso a VRAM y a través de pci-e).

Lo que sí se podría facilitar con esto es dividir el trabajo en motores deferred directamente en el motor gráfico de un juego para balancear la carga de trabajo en un mismo frame, y pasar los datos de los render target entre gráficas, más que para carga de texturas y otro tipos de datos para el proceso, más que "resultados" de éstos.
Para el 4 de marzo del 2015, AMD y nVidia ya tienen preparadas novedades sobre Direct3D_12

http://developer.amd.com/community/events/amd-gdc-2015/
AMD escribió:This year marks the introduction of the DirectX® 12 API which is set to revolutionize the way game developers are able to harness the power of their GPUs and CPUs. AMD is at the forefront of this effort and we look forward to sharing this excitement with you!gdc15_logo_small

Join AMD and AMD partners at the 2015 Game Developers Conference® in San Francisco March 2-6 as they provide tips on how to leverage the amazing performance and visuals of AMD GPU, APU and CPU products.

GDC is the world’s largest and longest-running professionals-only game industry event. Don’t miss these presentations as part of an exciting five days of tutorials, bootcamps and roundtable discussions where programmers, artists, producers, game designers, audio professionals, business decision-makers and others involved in the development of interactive games gather to exchange ideas and shape the future of the industry.

** Getting the Most Out of DirectX12
In this talk, AMD and NVIDIA will discuss the new programming model and features of the new API. This is an advanced tutorial, for developers familiar with graphics programming, on how to start developing efficient and effective D3D12 applications straight away, packed with useful tips and insights.

** Visual Effects in Star Citizen™
A detailed look into the visual effects in development for the crowd funded open world space game Star Citizen and its single player military counterpart Squadron 42. This includes the rendering and lighting of volumetric gases for everything from smoke trails and massive explosions to gas-clouds several hundred miles across. Other rendering effects such as our ship damage system and shield rendering solution will also be presented. The intended audience for this tutorial includes graphics programmers who are planning or actively developing Direct3D applications.

** Advancements in Tile-based Compute Rendering
Tiled deferred rendering and Forward+ rendering are becoming increasingly popular as efficient ways to handle the ever increasing numbers of dynamic lights in games. This talk looks at some of the most recent improvements to this approach as well as exploring the idea of clustered rendering. The intended audience for this tutorial includes graphics programmers who are planning or actively developing Direct3D applications.

** Low Latency and Stutter-Free Rendering in VR and Graphics Applications
This talk will provide a detailed explanation of several mechanisms by which graphics engine developers can dramatically reduce both actual and perceived latency and “stuttering” in graphics and virtual reality applications running on modern GPUs such as those powered by the AMD Graphics Core Next (GCN) architecture. Real world examples of optimized AAA content will be discussed and explained, complete with before and after performance metrics. This talk will give developers the tools and understanding required to exploit modern GPU architectures to take their graphics engines to the next level: extremely low latency, stutter-free, liquid smooth graphics at high framerates (90-120Hz and beyond).

** Optimizing Games for Graphics Core Next Architecture using AMD Graphics Tools
AMD provides a range of GPU performance analysis and debugging tools for PC graphics development. In this presentation AMD will demonstrate the latest suite of tools including GPU Shader Analyzer for GCN. With their support for modern graphics API’s on both Windows and Linux, these tools provide seamless workflow integration, can help you identify performance and algorithm issues early in the development cycle, and meet your quality and performance goals. Attendees will learn how the AMD tools presented can be used to determine performance bottleneck, debug issues and visualize GCN assembler from their shaders.

** Augmented Hair in Deus Ex Universe projects: TressFX 3.0
In this talk, engineers from AMD and Eidos detail the TressFX 3.0 solution used in Dawn Engine which will be the cornerstone to the development of the Deus Ex Universe projects at the studio. We show how Eidos graphics engineers built upon TressFX to break new grounds and deliver a realistic and scalable hair solution in the Dawn Engine for PC and consoles. With a focus on game requirements such as artistic control and animation support this talk will cover the practical considerations of a full TressFX pipeline, from authoring to rendering. In addition, for simulation, we address topics such as collisions, shape preservation, stretching, and wind. For rendering, we discuss how to blend strands with traditional hair meshes, antialiasing solutions, and translucency sorting techniques. We will also cover the latest TressFX 3.0 advancements from AMD, including skinning and fur support, an open source Maya plugin, and new rendering options for optimum scalability. Attendees will learn what quality and performance improvements and trade-offs were made in the Dawn engine TressFX implementation that will be used in the studio’s upcoming titles. They will also see what features a full TressFX pipeline needs to support for AAA game development. And they will learn the latest advancements found in TressFX 3.0.

**DirectX 12: A New Meaning for Efficiency and Performance
Direct3D 12 adds key new rendering features such as multiple queues for asynchronous compute and DMA, and the ultra-performance API both eliminates performance bottlenecks and enables new techniques. AMD will talk about the key interactions between the new D3D12 capabilities and AMD hardware and how to get the best from both. This session will include live demos. Attendee will learn more about how to use the D3D12 API and see how the combination of D3D12 and AMD graphics brings console performance and features to the PC.





https://developer.nvidia.com/gdc-2015#S ... veloperDay
nvidia escribió: NVIDIA AT GDC 2015
March 4-6 | San Francisco, CA

2015 is going to be a very exciting year for NVIDIA at GDC. We’ll be showing and talking about the most advanced real time rendering techniques across three platforms, GeForce, SHIELD and our GRID Game Streaming Service.

Imagen





.
Yo confío en que esto sea un gran paso para los jugadores de PC. Ya hace falta, que últimamente está siendo penosa la optimización y desastres de memoria. Sería otra subidita para el PC, y disfrutaríamos de los juegos en condiciones.

Un saludo.
Esa es la idea, y con estos semitalleres conferencdias, pues abordan a los desarrolladores a que empiezen a utilizar estas APIs.
loco_desk escribió:A saber entonces ..... XD
Era aquella época en la que NVIDIA quería meter el SLI con calzador y el CoD2 (Best CoD EVER) si activabas el SLI aun sin tener 2 gráficas te aumentaba un 20% el framerate jajajaja.
Un saludo


Cierto, y también pasaba en CoD4 (2007)
Se podrá sumar siempre y cuando los desarrolladores lo apliquen y se aprovechen de esa nueva característica. Eso es lo que he leído y a poco que sean unos vagos o hagan ports de aquella manera de consolas me da a mi que pocos títulos lo van a implementar, espero equivocarme.
Valkyrjur escribió:Se podrá sumar siempre y cuando los desarrolladores lo apliquen y se aprovechen de esa nueva característica. Eso es lo que he leído y a poco que sean unos vagos o hagan ports de aquella manera de consolas me da a mi que pocos títulos lo van a implementar, espero equivocarme.


O que las maletas llegen de determinado sitio :-|

Es una idea interesante pero en la practica... ya se vera.
elneocs escribió:
Valkyrjur escribió:Se podrá sumar siempre y cuando los desarrolladores lo apliquen y se aprovechen de esa nueva característica. Eso es lo que he leído y a poco que sean unos vagos o hagan ports de aquella manera de consolas me da a mi que pocos títulos lo van a implementar, espero equivocarme.


O que las maletas llegen de determinado sitio :-|

Es una idea interesante pero en la practica... ya se vera.

Si es muy interesante, pero mira, mantle ya lo soportaba y ningún juego que usa mantle aprovecha esta característica ya que los desarroladores no han programado sus juegos para que la usen. Ya veremos si con la salida de directx 12 y la futura nueva versión de mantle se animan.
Que ganas de que lo suelten.
Va a ser un subidón de rendimiento mayor que el de DX9C a DX11
SashaX escribió:Que ganas de que lo suelten.
Va a ser un subidón de rendimiento mayor que el de DX9C a DX11


si lo usan... es decir, va salir el 12 y cuantos juegos de hoy en dia utilizan direct x 11? y 11.1? de este no conozco ninguno...

porque tengamos dx 12 en windows, no significa que use sus ventajas, el juego debe estar programado para ello, como mantle, muy bonito con thief , bf4... pero yo no he visto ningun juego mas que lo utilizase,, ni acU, ni FC4, ni DL, ni DA... los programadores se han vuelto muy vagos, imagino que por cumplir plazos, que es lo que prima aunque salga plagado de bugs.
SashaX escribió:Que ganas de que lo suelten.
Va a ser un subidón de rendimiento mayor que el de DX9C a DX11


Directx9.0c sí que fue un top. Directx 10 y 11 son chuminadas para vender gráficas. Cuatro efectos nuevos y ya.

De directx12 no me espero un aumento de 50% de fps ni loco, pero ojalá me equivoque
neox3 escribió:[
..

porque tengamos dx 12 en windows, no significa que use sus ventajas, el juego debe estar programado para ello, como mantle, muy bonito con thief , bf4... pero yo no he visto ningun juego mas que lo utilizase,, ni acU, ni FC4, ni DL, ni DA... los programadores se han vuelto muy vagos, imagino que por cumplir plazos, que es lo que prima aunque salga plagado de bugs.


Plantas vs Zombies, Sniper Elite 3, Civilisation: Beyond Earth ya usan Mantle.

Imagen
Imagen
Imagen
hilo_otros-titulos-de-juegos-que-usaran-mantle_2014932
neox3 escribió:
SashaX escribió:Que ganas de que lo suelten.
Va a ser un subidón de rendimiento mayor que el de DX9C a DX11


si lo usan... es decir, va salir el 12 y cuantos juegos de hoy en dia utilizan direct x 11? y 11.1? de este no conozco ninguno...

porque tengamos dx 12 en windows, no significa que use sus ventajas, el juego debe estar programado para ello, como mantle, muy bonito con thief , bf4... pero yo no he visto ningun juego mas que lo utilizase,, ni acU, ni FC4, ni DL, ni DA... los programadores se han vuelto muy vagos, imagino que por cumplir plazos, que es lo que prima aunque salga plagado de bugs.


Lo que muchos no saben es que todavía mantle es cerrado. Por lo tanto, por mucho que los programadores quieran, sólo pueden trabajar las empresas inscritas con AMD. Los juegos que indicas no entran dentro de los juegos que suelen tener contratos con AMD, es más, suelen ser de nvidia..

En resumen, que de momento sólo aparecerá mantle en juegos patrocinados por AMD y no en todos. Al final saldrá directx12 y se les pasará el arroz.
AMD desde casi el inicio delcaro sus deseos de hacerla abierta, al menos en cuanto a la programacion ya ha dado el primer paso
Imagen

http://www.amd.com/Documents/Mantle_White_Paper.pdf
Era el paso natural, ¿abierta quiere decir que tambien se beneficiarian los usuarios de Nvidia?. Eso seria lo ideal para que se adaptara a mas juegos ya que seria una buena medida para hacerla crecer.
En una pagina de desarrolladores han abierto un tema preguntando a su comunidad, ¿Que opinan de las nuevas APIs?, y dentro de las respuestas se ve un claro optimismo en su uso.

http://www.gamedev.net/topic/666419-wha ... try5215019

Seabolt escribió:What are your opinions on DX12/Vulkan/Mantle?

Posted 06 March 2015

I'm pretty torn on what to think about it. On one hand being able to write the implementations for a lot of the resource management and command processing allows for a lot of gains, and for a much better management of the rendering across a lot of hardware. Also all the threading support is going to be fantastic.

But on the other hand, accepting that burden will vastly increase the cost to maintain a platform and the amount of time to fully port. I understand that a lot of it can be ported piece by piece, but it seems like the amount of time necessary to even meet the performance of, say, dx12 is on the order of man weeks.

I feel like to fully support these APIs I need to almost abandon the previous APIs support in my engine since the veil is so much thinner, otherwise I'll just end up adding the same amount of abstraction that DX11 does already, kind of defeating the point.

What are your opinions?


phantom escribió:
Depending on how you have designed things the time to port should be pretty low and, importantly, the per-API level of code for the new Vulkan and DX12 paths will be very thin as they look very much the same in terms of API space and functionality.

Older APIs might be a problem, however again this depends on your abstraction levels; if you have coupled to D3D11 or OpenGL's style of doing things too closely at the front end then yes, it'll cause you pain - if your abstraction was light enough then you could possibly treat D3D11 and OpenGL as if they are D3D12 and Vulkan from the outside and do the fiddling internally.
..





Otra parte interesantes es la de 'promit' quien dice ser un ex miembro del equipo de desarrollo de los controladores de nvidia, y habla de que muchos de los programadores de juegos hacen claras violaciones de las reglas de las APIs, usan poco o nada el ambiente multihilo, el cual en las APIs anteriores poco o nada hacian bien, aparte de que el uso de multi-GPUs en todos los casos era deplorable. ambien habla de que las nuevas APIs, lo cual incluye Vulkan resuelve todo o casi todo lo erroneo y problematico del multi-gpu, multi-hilo, etc., pero seguira estadno presente lo de descuidos y violaciones a las reglas de el API usado.


promit escribió:Many years ago, I briefly worked at NVIDIA on the DirectX driver team (internship). This is Vista era, when a lot of people were busy with the DX10 transition, the hardware transition, and the OS/driver model transition. My job was to get games that were broken on Vista, dismantle them from the driver level, and figure out why they were broken. While I am not at all an expert on driver matters (and actually sucked at my job, to be honest), I did learn a lot about what games look like from the perspective of a driver and kernel.

The first lesson is: Nearly every game ships broken. We're talking major AAA titles from vendors who are everyday names in the industry. In some cases, we're talking about blatant violations of API rules - one D3D9 game never even called BeginFrame/EndFrame. Some are mistakes or oversights - one shipped bad shaders that heavily impacted performance on NV drivers. These things were day to day occurrences that went into a bug tracker. Then somebody would go in, find out what the game screwed up, and patch the driver to deal with it. There are lots of optional patches already in the driver that are simply toggled on or off as per-game settings, and then hacks that are more specific to games - up to and including total replacement of the shipping shaders with custom versions by the driver team. Ever wondered why nearly every major game release is accompanied by a matching driver release from AMD and/or NVIDIA? There you go.

The second lesson: The driver is gigantic. Think 1-2 million lines of code dealing with the hardware abstraction layers, plus another million per API supported. The backing function for Clear in D3D 9 was close to a thousand lines of just logic dealing with how exactly to respond to the command. It'd then call out to the correct function to actually modify the buffer in question. The level of complexity internally is enormous and winding, and even inside the driver code it can be tricky to work out how exactly you get to the fast-path behaviors. Additionally the APIs don't do a great job of matching the hardware, which means that even in the best cases the driver is covering up for a LOT of things you don't know about. There are many, many shadow operations and shadow copies of things down there.

The third lesson: It's unthreadable. The IHVs sat down starting from maybe circa 2005, and built tons of multithreading into the driver internally. They had some of the world's best kernel/driver engineers in the world to do it, and literally thousands of full blown real world test cases. They squeezed that system dry, and within the existing drivers and APIs it is impossible to get more than trivial gains out of any application side multithreading. If Futuremark can only get 5% in a trivial test case, the rest of us have no chance.

The fourth lesson: Multi GPU (SLI/CrossfireX) is fucking complicated. You cannot begin to conceive of the number of failure cases that are involved until you see them in person. I suspect that more than half of the total software effort within the IHVs is dedicated strictly to making multi-GPU setups work with existing games. (And I don't even know what the hardware side looks like.) If you've ever tried to independently build an app that uses multi GPU - especially if, god help you, you tried to do it in OpenGL - you may have discovered this insane rabbit hole. There is ONE fast path, and it's the narrowest path of all. Take lessons 1 and 2, and magnify them enormously.


Deep breath.
Ultimately, the new APIs are designed to cure all four of these problems.

* Why are games broken? Because the APIs are complex, and validation varies from decent (D3D 11) to poor (D3D 9) to catastrophic (OpenGL). There are lots of ways to hit slow paths without knowing anything has gone awry, and often the driver writers already know what mistakes you're going to make and are dynamically patching in workarounds for the common cases.

* Maintaining the drivers with the current wide surface area is tricky. Although AMD and NV have the resources to do it, the smaller IHVs (Intel, PowerVR, Qualcomm, etc) simply cannot keep up with the necessary investment. More importantly, explaining to devs the correct way to write their render pipelines has become borderline impossible. There's too many failure cases. it's been understood for quite a few years now that you cannot max out the performance of any given GPU without having someone from NVIDIA or AMD physically grab your game source code, load it on a dev driver, and do a hands-on analysis. These are the vanishingly few people who have actually seen the source to a game, the driver it's running on, and the Windows kernel it's running on, and the full specs for the hardware. Nobody else has that kind of access or engineering ability.

* Threading is just a catastrophe and is being rethought from the ground up. This requires a lot of the abstractions to be stripped away or retooled, because the old ones required too much driver intervention to be properly threadable in the first place.

* Multi-GPU is becoming explicit. For the last ten years, it has been AMD and NV's goal to make multi-GPU setups completely transparent to everybody, and it's become clear that for some subset of developers, this is just making our jobs harder. The driver has to apply imperfect heuristics to guess what the game is doing, and the game in turn has to do peculiar things in order to trigger the right heuristics. Again, for the big games somebody sits down and matches the two manually.

Part of the goal is simply to stop hiding what's actually going on in the software from game programmers. Debugging drivers has never been possible for us, which meant a lot of poking and prodding and experimenting to figure out exactly what it is that is making the render pipeline of a game slow. The IHVs certainly weren't willing to disclose these things publicly either, as they were considered critical to competitive advantage. (Sure they are guys. Sure they are.) So the game is guessing what the driver is doing, the driver is guessing what the game is doing, and the whole mess could be avoided if the drivers just wouldn't work so hard trying to protect us.

So why didn't we do this years ago? Well, there are a lot of politics involved (cough Longs Peak) and some hardware aspects but ultimately what it comes down to is the new models are hard to code for. Microsoft and ARB never wanted to subject us to manually compiling shaders against the correct render states, setting the whole thing invariant, configuring heaps and tables, etc. Segfaulting a GPU isn't a fun experience. You can't trap that in a (user space) debugger. So ... the subtext that a lot of people aren't calling out explicitly is that this round of new APIs has been done in cooperation with the big engines. The Mantle spec is effectively written by Johan Andersson at DICE, and the Khronos Vulkan spec basically pulls Aras P at Unity, Niklas S at Epic, and a couple guys at Valve into the fold.


Three out of those four just made their engines public and free with minimal backend financial obligation.

Now there's nothing wrong with any of that, obviously, and I don't think it's even the big motivating raison d'etre of the new APIs. But there's a very real message that if these APIs are too challenging to work with directly, well the guys who designed the API also happen to run very full featured engines requiring no financial commitments. So that's served to considerably smooth the politics involved in rolling these difficult to work with APIs out to the market.

The last piece to the puzzle is that we ran out of new user-facing hardware features many years ago. Ignoring raw speed, what exactly is the user-visible or dev-visible difference between a GTX 480 and a GTX 980? A few limitations have been lifted (notably in compute) but essentially they're the same thing. MS, for all practical purposes, concluded that DX was a mature, stable technology that required only minor work and mostly disbanded the teams involved. Many of the revisions to GL have been little more than API repairs. (A GTX 480 runs full featured OpenGL 4.5, by the way.) So the reason we're seeing new APIs at all stems fundamentally from Andersson hassling the IHVs until AMD woke up, smelled competitive advantage, and started paying attention. That essentially took a three year lag time from when we got hardware to the point that compute could be directly integrated into the core of a render pipeline, which is considered normal today but was bluntly revolutionary at production scale in 2012. It's a lot of small things adding up to a sea change, with key people pushing on the right people for the right things.

Phew. I'm no longer sure what the point of that rant was, but hopefully it's somehow productive that I wrote it. Ultimately the new APIs are the right step, and they're retroactively useful to old hardware which is great. They will be harder to code. How much harder? Well, that remains to be seen. Personally, my take is that MS and ARB always had the wrong idea. Their idea was to produce a nice, pretty looking front end and deal with all the awful stuff quietly in the background. Yeah it's easy to code against, but it was always a bitch and a half to debug or tune. Nobody ever took that side of the equation into account. What has finally been made clear is that it's okay to have difficult to code APIs, if the end result just works. And that's been my experience so far in retooling: it's a pain in the ass, requires widespread revisions to engine code, forces you to revisit a lot of assumptions, and generally requires a lot of infrastructure before anything works. But once it's up and running, there's no surprises. It works smoothly, you're always on the fast path, anything that IS slow is in your OWN code which can be analyzed by common tools. It's worth it.

refloto un poco ésto

Microsoft Confirms DirectX 12 MIX AMD and Nvidia Multi-GPUs
by Hilbert Hagedoorn on: 03/13/2015 08:38 AM

It's not exactly new enws, but Microsoft actually confirms it at this stage. Microsoft technical support states that DirectX 12 will support “multi-GPU configurations between Nvidia and AMD.” Something we call Asynchronous Multi-GPU Capabilities.

This is shown on a screenshot published over at LinusTechTips. No requirements or further details were listed though. With such a setup you could mix Nvidia and AMD cards in tandem to render your games. There is a massive issue though. Lots of the optimization work for the spreading of workloads is left to the developers – the game studios. The same went for older APIs, though, and DirectX 12 is intended to be much friendlier.F frame buffers (GPU memory) won't necessarily need to be mirrored anymore. In older APIs, in order to benefit from multiple GPUs, you'd have the two work together, each one rendering an alternate frame (AFR). This required both to have all of the texture and geometry data in their frame buffers, meaning that despite having two cards with 4 GB of memory, you'd still only have a 4 GB frame buffer.
Imagen


fuente:
http://www.guru3d.com/news-story/micros ... -gpus.html

edito: ahora solo falta que nvidia quite el capado de physx, tengo una GTX 750 que compré hace tiempo para esos menesteres XD
paconan escribió:refloto un poco ésto

Microsoft Confirms DirectX 12 MIX AMD and Nvidia Multi-GPUs
by Hilbert Hagedoorn on: 03/13/2015 08:38 AM

It's not exactly new enws, but Microsoft actually confirms it at this stage. Microsoft technical support states that DirectX 12 will support “multi-GPU configurations between Nvidia and AMD.” Something we call Asynchronous Multi-GPU Capabilities.

This is shown on a screenshot published over at LinusTechTips. No requirements or further details were listed though. With such a setup you could mix Nvidia and AMD cards in tandem to render your games. There is a massive issue though. Lots of the optimization work for the spreading of workloads is left to the developers – the game studios. The same went for older APIs, though, and DirectX 12 is intended to be much friendlier.F frame buffers (GPU memory) won't necessarily need to be mirrored anymore. In older APIs, in order to benefit from multiple GPUs, you'd have the two work together, each one rendering an alternate frame (AFR). This required both to have all of the texture and geometry data in their frame buffers, meaning that despite having two cards with 4 GB of memory, you'd still only have a 4 GB frame buffer.
Imagen


fuente:
http://www.guru3d.com/news-story/micros ... -gpus.html

edito: ahora solo falta que nvidia quite el capado de physx, tengo una GTX 750 que compré hace tiempo para esos menesteres XD


Nvidia capando por drivers que se pueda hacer tal cosa en 3...2...1....
neox3 escribió:
paconan escribió:refloto un poco ésto

Microsoft Confirms DirectX 12 MIX AMD and Nvidia Multi-GPUs
by Hilbert Hagedoorn on: 03/13/2015 08:38 AM

It's not exactly new enws, but Microsoft actually confirms it at this stage. Microsoft technical support states that DirectX 12 will support “multi-GPU configurations between Nvidia and AMD.” Something we call Asynchronous Multi-GPU Capabilities.

This is shown on a screenshot published over at LinusTechTips. No requirements or further details were listed though. With such a setup you could mix Nvidia and AMD cards in tandem to render your games. There is a massive issue though. Lots of the optimization work for the spreading of workloads is left to the developers – the game studios. The same went for older APIs, though, and DirectX 12 is intended to be much friendlier.F frame buffers (GPU memory) won't necessarily need to be mirrored anymore. In older APIs, in order to benefit from multiple GPUs, you'd have the two work together, each one rendering an alternate frame (AFR). This required both to have all of the texture and geometry data in their frame buffers, meaning that despite having two cards with 4 GB of memory, you'd still only have a 4 GB frame buffer.
Imagen


fuente:
http://www.guru3d.com/news-story/micros ... -gpus.html

edito: ahora solo falta que nvidia quite el capado de physx, tengo una GTX 750 que compré hace tiempo para esos menesteres XD


Nvidia capando por drivers que se pueda hacer tal cosa en 3...2...1....


Y AMD es una santa que ha dejado sin DX12 a todas las anteriores a sus 7770. Si nos ponemos no se salva de la quema ni un fabricante. [angelito]
Eso es porque Mantle/Vulkan/Direct3D12 usan los mismos principios que para funcionar requieren ciertas caracteristicas de la arquitectura del GPU, caracteristicas que esos GPUs radeon anteriores no reunen y por ello es que no pueden usar Mantle/Vulkan/Direct3D12.
TRASTARO escribió:Eso es porque Mantle/Vulkan/Direct3D12 usan los mismos principios que para funcionar requieren ciertas caracteristicas de la arquitectura del GPU, caracteristicas que esos GPUs radeon anteriores no reunen y por ello es que no pueden usar Mantle/Vulkan/Direct3D12.


y como puede ser que nvidia si pueda dar soporte a generaciones anteriores (como las fermi?)?
paconan escribió:
TRASTARO escribió:Eso es porque Mantle/Vulkan/Direct3D12 usan los mismos principios que para funcionar requieren ciertas caracteristicas de la arquitectura del GPU, caracteristicas que esos GPUs radeon anteriores no reunen y por ello es que no pueden usar Mantle/Vulkan/Direct3D12.


y como puede ser que nvidia si pueda dar soporte a generaciones anteriores (como las fermi?)?



Por que seguramente Fermi incluya algo en su arquitectura que si comparte con los modelos modernos, que las 6xxx y 5xxx no tienen.

Y si NVIDIA como se dice ha colaborado estrechamente con MS desde hace años en DX12, no te extrañe nada que pudieran preparar la arquitectura desde Fermi para las novedades y AMD solo desde GCN

De todas maneras, que mas da? luego habrá que ver el soporte real en juegos para DX12 en graficas pre-DX12.
No entiendo muy bien esto...

Si enchufo una gtx y una 290x en mi placa con cfx esto ira?

Cualquier placa será compatible? Tendré que instalar drivers de nvidia/amd juntos?

DirectX 12 podría usar 3 gpus? Una nvidia, una AMD y una integrada (HD4600)?
basterwol escribió:No entiendo muy bien esto...

Si enchufo una gtx y una 290x en mi placa con cfx esto ira?

Cualquier placa será compatible? Tendré que instalar drivers de nvidia/amd juntos?

DirectX 12 podría usar 3 gpus? Una nvidia, una AMD y una integrada (HD4600)?


En la teoria podrías pinchar todas las gráficas que tengas, que se supone que irán juntas, en la practica buena suerte en que los drivers te lo permitan y si te lo permiten, ya veremos como funciona xD
Si creemos lo que se rumorea, que al menos yo no lo creo y ya se ha discutido anteriormente y esto es solo un rumor.

En principio.

** ¿Si enchufo una gtx y una 290x en mi placa con cfx esto ira?

Si


** ¿Cualquier placa será compatible?

Mientras soporte CFX o SLI o ambos deberia funcionar.


** ¿Tendré que instalar drivers de nvidia/amd juntos?

Si


** DirectX 12 ¿podría usar 3 gpus: Una nvidia, una AMD y una integrada (HD4600)?

Quien sabe.


.
Si quieren revivir (mas aun) el gaming en PC mas vale que Windows 10 rinda sin problemas en los primeros meses de su lanzamiento y cumplan con la comida de polla que tienen entre ellos por las supuestas maravillas de DX12 XD
66 respuestas
1, 2