• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio con CDKeyoffer. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

[PROYECTO GPU] Tabla de exigencia gráfica

American Graffiti

Sombrerero Loco
Registrado
23 Ene 2013
Mensajes
5.489
Puntos
113
Desde hace un tiempo a esta parte, los monitores gaming están mejorando enormemente sus especificaciones, el monitor estándar de 24" 16:9 FHD a 60Hz está más que superado y entre los monitores gamers se están popularizando soluciones novedosas como monitores con alta tasa de refresco (120-144Hz), monitores de altísima resolución (QHD y UHD), monitores ultrapanorámicos (21:9), monitores curvos, realidad virtual, configuraciones multipantalla.... Todos estos cambios añaden un plus de exigencia a nuestras tarjetas gráficas, las cuales se movían muy cómodas en el estándar FHD 60Hz desde hace años.

De modo que me he propuesto hacer una tabla de exigencia gráfica que pueda ser orientativa, intentando cruzar las diferentes resoluciones con la calidad/fps para dar una idea aproximada de la exigencia gráfica que requiere cada combinación (ya que luego cada juego es de su padre y de su madre). La verdad que usé unos valores algo arbitrarios para los ajustes de calidad, mientras que los valores de resolución son las resoluciones divididas por 1920x1080 que sería el estándar. La tabla que resulta de multiplicar ambos factores sería ésta:

fc64cca063fc04e38039ecd349f64fcd4b93c74a.png



A raíz de ésto, he empezado a investigar la forma de poder hacer un cálculo más exacto, viendo la forma de calcular el Bandwidth (ancho de banda, medido en Gb/s), el PixelRate (pixels por segundo, medido en Gpixel/s) o los GFLOPS (rendimiento en cálculo de coma flotante) necesarios para mover las diferentes resoluciones y calidades. Sin embargo me he encontrado con diferentes modos de calcular dichos valores:

Rendimiento Coma Flotante Máximo (cálculo 1)>> Texture Units * Render Output Processors * Core Clock = GFLOPS

Rendimiento Coma Flotante Máximo (cálculo 2)>> Shading Units * 2 floating point operations per cycle * 1 billion cycles per second = GFLOPS

Cálculo Ancho de Banda de GPU >> Efective Memory Clock Speed * Memory Bus / 8 (conversión byte-bit) / 1000 = GB/s

Calculo Ancho de Banda necesario >>Pixels height * Pixels wide * FPS * Color Depth Factor * Coefficient (Bits/Clock) * 3 Chanels = Gbps


Para ver como resultan estos valores, voy a tomar como ejemplo mi Sapphire 7870 XT para ver como de ajustados son los cálculos. Los nombres de las especificaciones los he utilizado en inglés y utilizando la misma nomenclatura que utilizan en GPUboss para que sea más fácil identificar a que se refiere con cada valor.

Sin_t_tulo_1.png



Rendimiento Coma Flotante Máximo (cálculo 1)>> 96 * 32 * 925 = 2841,6 GFLOPS

Rendimiento Coma Flotante medido por GPUboss sin OC >> 2995,2 GFLOPS

Rendimiento Coma Flotante Máximo (cálculo 2)>> 1536 * 2 floating point operations per cycle * 1 billion cycles per second = 3072 GFLOPS

Cálculo Ancho de Banda de GPU >> 6000 * 256 / 8 / 1000 = 192 GB/s

Calculo Ancho de Banda necesario (FHD 60Hz) >> 1920 * 1080 * 60 * 1 * 10 * 3 Chanels = 3,73 Gbps


Siguiendo el cálculo de Ancho de banda necesario ha salido esta tabla

Sin_t_tulo_1.png





Personalmente no soy experto en la materia, pero lo que sí intentaba conseguir es un cálculo que permita una aproximación a la exigencia gráfica que vamos a requerir en función del formato de monitor/monitores que tengamos pensado utilizar, de forma que sepamos si realmente vamos a necesitar una GPU con más memoria VRAM o si es preferible una con más GFLOPS.


Este post está en construcción, espero que os guste y a ver si con un poco de ayuda podemos llegar a algún resultado que sea útil para todos.
 
La idea es muy buena. El problema es que los gflops son una medida teórica. Nvidia consigue el mismo rendimiento que AMD necesitando muchos menos gflops y menos ancho de banda.
 
Exactamemte, debido a la optimizacion de drivers y algunos juegos creo que la tabla no se ajustara con mucha exactitud a la realidad, en cuanto a todos los juegos se refiere. Ahora en cuanto a potencia pura y dura de cálculo yo creo que lo has clavao, en benchmarks y demas debes de estar bastante acertado, pero en cosa de juegos debe de cambiar de uno a otro. Ahora, la idea me parece muy buena y desde luego la información que quieres que se entienda con esas tablas esta perfectamente expresada.
 
El siguiente paso será hacer benchmarks "in game" por ejemplo en The Division o Tomb Raider a diferentes resoluciones y niveles de detalle gráfico, apuntar resultados y comparar valores resultantes. A ver si mañana saco un rato para hacerlo.

Por otro lado seguiré investigando las formulas de cálculo del bandwidth teórico para que pueda servir para ayudar a elegir la gráfica en función de la resolución que pretendemos usar (más resolución requiere más VRAM es decir más bandwidth), ahí supongo que vendrán bien las gráficas que tienen 2 versiones de diferentes GB de VRAM como la 1060 de 3GB y de 6GB.
 
El siguiente paso será hacer benchmarks "in game" por ejemplo en The Division o Tomb Raider a diferentes resoluciones y niveles de detalle gráfico, apuntar resultados y comparar valores resultantes. A ver si mañana saco un rato para hacerlo.

Por otro lado seguiré investigando las formulas de cálculo del bandwidth teórico para que pueda servir para ayudar a elegir la gráfica en función de la resolución que pretendemos usar (más resolución requiere más VRAM es decir más bandwidth), ahí supongo que vendrán bien las gráficas que tienen 2 versiones de diferentes GB de VRAM como la 1060 de 3GB y de 6GB.

Te lo digo yo: ancho de banda = ancho de bus/8 * velocidad VRAM. Velocidad de VRAM en Ghz, lo obtienes en GB/s, que es la medida que se usa normalmente de momento. El problema es que ni siquiera ese dato es determinante del rendimiento en altas resoluciones, pues hay otros factores como la compresión de color que hace que unas gpus necesiten más ancho de banda que otras. Por ejemplo, la Fury X tiene 512 GB/s y la 980 Ti 336.5 GB/s, y sin embargo van a la par en 2k y 4k, dependiendo del juego incluso gana la Nvidia. Tampoco es exacto que más VRAM implique más bandwith, puede que un juego esté implementado para cargar muchos datos en la vram pero no para ser usados instantáneamente. Es un mundo en el que los datos teóricos son muy sesgados respecto de la realidad ya que influyen mucho los drivers y el software.

En fin, en menudo fregao te quieres meter! :p
 
Te lo digo yo: ancho de banda = ancho de bus/8 * velocidad VRAM. Velocidad de VRAM en Ghz, lo obtienes en GB/s, que es la medida que se usa normalmente de momento. El problema es que ni siquiera ese dato es determinante del rendimiento en altas resoluciones, pues hay otros factores como la compresión de color que hace que unas gpus necesiten más ancho de banda que otras. Por ejemplo, la Fury X tiene 512 GB/s y la 980 Ti 336.5 GB/s, y sin embargo van a la par en 2k y 4k, dependiendo del juego incluso gana la Nvidia. Tampoco es exacto que más VRAM implique más bandwith, puede que un juego esté implementado para cargar muchos datos en la vram pero no para ser usados instantáneamente. Es un mundo en el que los datos teóricos son muy sesgados respecto de la realidad ya que influyen mucho los drivers y el software.

En fin, en menudo fregao te quieres meter! :p

Me gusta meterme en charcos, que se le va a hacer... Está claro que no es un mundillo donde 1+1=2, todo influye y todo varía bastante en función del juego como del software y hardware que tengas instalado, así como de los drivers. De hecho hay unas diferencias de rendimiento brutales entre jugar con DirectX11, DirectX12, Vulkan... sobretodo en favor de las gráficas AMD que con DirectX11 no sacaban todo su potencial. Lo interesante es poder sacar unas conclusiones más o menos generales y que con un par de gráficas seas capaz de saber (aproximadamente) cuantos GFLOPS y cuanto Bandwidth necesitas para mover la resolución a la que pretendes jugar (pensando en resoluciones mayores que FHD y tasas altas de frames).


El tema de hacer ahora benchmarks "in-game" modificando resoluciones y calidades darán como resultado unas curvas de FPS de la gráfica en cuestión. La idea es que la gente pueda subir sus gráficas y así poder comparar (entre ellas y los cálculos teóricos) y sacar conclusiones.

Por cierto estuve probando ayer tu benchmark... menuda currada macho, felicidades.
 
Me gusta meterme en charcos, que se le va a hacer... Está claro que no es un mundillo donde 1+1=2, todo influye y todo varía bastante en función del juego como del software y hardware que tengas instalado, así como de los drivers. De hecho hay unas diferencias de rendimiento brutales entre jugar con DirectX11, DirectX12, Vulkan... sobretodo en favor de las gráficas AMD que con DirectX11 no sacaban todo su potencial. Lo interesante es poder sacar unas conclusiones más o menos generales y que con un par de gráficas seas capaz de saber (aproximadamente) cuantos GFLOPS y cuanto Bandwidth necesitas para mover la resolución a la que pretendes jugar (pensando en resoluciones mayores que FHD y tasas altas de frames).


El tema de hacer ahora benchmarks "in-game" modificando resoluciones y calidades darán como resultado unas curvas de FPS de la gráfica en cuestión. La idea es que la gente pueda subir sus gráficas y así poder comparar (entre ellas y los cálculos teóricos) y sacar conclusiones.

Por cierto estuve probando ayer tu benchmark... menuda currada macho, felicidades.

Pues muchas gracias! Ya cree una versión 1.0 con más de 80 resultados de procesadores. La 1.1 no la he presentado aún "oficialmente". Espero que la gente colabore igual!. Te dejo el enlace a la versión 1.0 por si quieres ojear la lista:

Beat Bench: Nuevo benchmark/test de estrés de CPU (proyecto personal)
 
Poco a poco he podido sacarle tiempo y he pasado las pruebas de rendimiento en Tomb Raider y The Division apuntando los valores de FPS medios en cada combinación de resolución-calidad. El equipo que he utilizado para las pruebas es el descrito en mi firma, con todos los valores puestos por defecto, sin OC ni a la gráfica ni al CPU para evitar distorsiones de los datos. El V-Sync se ha desactivado en todos los casos para evitar que cortara la gráfica a 60fps, pues se pretendía que la gráfica estuviera en máxima carga.

Después he pasado los datos a Excel para poder jugar un poco con ellos. En la primera tabla y gráfico vemos los FPS medidos, mientras que la segunda tabla y gráfico están en relación con los FPS en FHD calidad alta (valor que habíamos tomado como estándar), mientras que la tercera y cuarta gráfica serían los multiplicadores de exigencia gráfica en función del nivel de detalle (tabla 3) y de la resolución (tabla 4), los cuales ya sí son datos que nos van a servir para ir afinando la tabla inicial de exigencia gráfica.

Spoiler


Luego más tarde subiré una plantilla de Excel por si alguien quiere colaborar haciendo pruebas en otros juegos y con otras gráficas.
 
Buen post American Graffiti , pero ya sabes que es una utopía...:eek:k: (ya te lo comenta QueMeDa) .... cualquier GPU con salida DP1.2 (ahora tambien HDMI 2.0) puede mover un monitor UHD (de 24" a 100") sin problemas en un uso no exhaustivo ... ahora bien, las exigencias (por trabajo, hobby, por gaming,...) de cada uno influyen, y mucho...

Por lo demás es excelente tu iniciativa...
Saludos...
 
Buen post American Graffiti , pero ya sabes que es una utopía...:eek:k: (ya te lo comenta QueMeDa) .... cualquier GPU con salida DP1.2 (ahora tambien HDMI 2.0) puede mover un monitor UHD (de 24" a 100") sin problemas en un uso no exhaustivo ... ahora bien, las exigencias (por trabajo, hobby, por gaming,...) de cada uno influyen, y mucho...

Por lo demás es excelente tu iniciativa...
Saludos...

Esto va dirigido claramente a gaming, intentar tabular otros usos... ufff. Por ejemplo para renderizado lo que mandan son los "shading units" y para temas de cálculo los GFLOPS en coma flotante. Pero son campos donde la resolución del monitor no tiene casi influencia. El tema es que la gran mayoría de benchmarks de juegos se hacen en resolución 1080p y calidad ultra (para QHD y UHD también encuentras). Lo que busco es poder alcanzar unos coeficientes de exigencia/rendimiento que te permitan saber que tal puede correr un juego en tu equipo, bien porque tengas una resolución particular, un monitor de 120Hz o porque tu gráfica no sea la más potente del mercado. Incluso para poder ayudar a elegir una gráfica en función de la resolución, detalle y refresco que pretendas jugar, por más que sea utópico simplificar el comportamiento de decenas de gráficas diferentes corriendo cientos de juegos diferentes.

De momento los resultados que arrojan las 2 pruebas que he hecho pintan bien, los valores de las tablas 3 y 4 son en ambos casos muy homogéneos y se mueven en los mismos rangos. Los próximos días haré lo mismo con otros juegos para ver si se mantienen esas similitudes.


Como curiosidad, The Division no está preparado para resolución 2560x1080, los menús si son capaces de adaptarse, pero el test de rendimiento reducía la imagen a 1920x1080 (quedando con un marco negro, ya que no la escalaba a pantalla completa), aunque el rendimiento si se veía afectado por el cambio de resolución.
 
Arriba