imagino que por eso siguen tirando de ideas obsoletas sin aplicar las optimizaciones de moviles como el tile rendering. que los ipad 3 en ¿2012? ya usaban en los juegos resolucion de 2048x1536p nada menos, lo logico sería que usaran tile rendering de una vez, que desde dreamcast es una tecnología ignorada por los demas fabricantes de gpus.
El concepto del Tile Rendering en realidad no es otro que el de partir el búfer de imagen en pequeñas partes y calcular estas en la memoria interna del chip con tal de no tener que tocar la memoria externa. El problema es que a nivel de costes esto no te exime en ningún momento en dar el suficiente ancho de banda de lectura a las unidades de texturas y a los shaders asociados. Es decir, se necesita tanto ancho de banda externo como interno y al final como la solución mejor es una memoria RAM rápida externa para lectura y escritura pues se tira de eso.
Pero me voy a poner un poco técnico, antes cuando se generaba un fragmento las GPUs solo podían operar con un solo fragmento a la vez y si el resto de la GPU estaba desocupado pues no había nada que hacer pero a partir de DX11 en adelante hemos visto como las GPUs pueden trabajar con varios fragmentos al mismo tiempo por el hecho que ahora el rasterizador puede sacar varios fragmentos para ser texturizado, el problema viene por el hecho que las GPUs siguen teniendo un solo procesador de comandos para gráficos. Es decir, podemos mezclar gráficos y computación de manera sincronizada y asincrona pero no podemos tener varios hilos gráficos que nos permitan dividir la pantalla en varias partes distintas.
¿Y como lo hacemos? El diagrama estándar de toda GPU es:
El Tile Rendering divide el búfer de imagen en pequeñas partes, para ello crea una serie de listas de pantalla una vez ha realizado la rasterización por cada uno de esos fragmentos, los cuales pueden ser variables o fijos en cuanto a tamaño, en el caso concreto de los PowerVR el tamaño es fijo en bloques de 32×32 pixeles.
Si un triangulo se sitúa en dos fragmentos será calculado en ambos.fragmentos en este caso, pero el rasterizador una vez ha transformado la geometría de la escena en rasters dentro del espacio cartesiano lo que va a hacer es dividir la pantalla por tile… ¿Y que ocurre cuando el fragmento es lo suficientemente pequeño? Lo siguiente:
Los ROPS pasan a formar parte de la Compute Unit junto a una pequeña memoria asociada que hace de búfer de imagen del Tile correspondiente, el cual una vez generado es copiado en el búfer de imagen frontal que se encuentra en la memoria externa de la GPU. En el caso del Deferred Rendering esto no es problema porque los MRTs de cada Tile se pueden almacenar en el mismo Tile y eso es lo que le da una ventaja enorme hoy en día al Tile Rendering.
Recordad que en el Deferred Rendering se utilizan unos 5 MRTs de media por lo que la formula sería:
Tasa de relleno de la GPU*Bytes por pixel (RGBA)*Número de muestras.
Esto sobre la memoria externa es mortal, sobre una memoria interna tiene un impacto realmente positivo y hace que el ancho de banda de la memoria no se vea impactado negativamente. Por el momento tanto Nvidia como AMD no han integrado los ROPS en la Compute Unit con una pequeña memoria asociada que hagá de Tile Buffer, pero estoy seguro que lo veremos con el tiempo, en especial no solo porque ahora ancho de banda sino que evita las contenciones con la memoria.
pensando en el checkerboard rendering, urian, se me ocurrió ayer que si en vez de usar tableros de 32 x 32 fueran de 36 x 36 podrian formar tiles de 3×3 fragmentos (de 2×2 cada uno) de modo que se saltarían el fragmento central (imagina un cuadrado de 3×3 al que le falta el bloque de en medio). es decir, ademas de saltarse uno de cada dos pixeles por calcular, tambien se ahorrarian otro 11%, calculando en total el 39% de la superficie de la pantalla en vez de la mitad.
por cierto dependiendo de la calidad del reescalado de la tv o monitor en pc interesa o no que reescale la gpu. esto viene a ser parecido pero con un algoritmo personalizado.
me refiero a hacer una pasada previa de interpolacion para rellenar los huecos centrales de la muestra que contiene los fragmentos antes de dispersarlos en tablero con huecos.:
Interesante…
No tengo un concepto del tamaño objetivo del Tile, tome como referencia la idea de Digital Foundry de crear fragmentos de 4×4 pixeles por un lado y el documento del Rainbow Six Siege para crear mi teoría de como funciona el Checkerboard Rendering en PS4 Pro… En realidad en pocos días deberíamos saber si mi hipótesis es correcta o me he equivocado por completo.
“Es decir, es como si la potencia de la GPU fuese de 3.68 TFLOPS en vez de los 4.2 TFLOPS anunciados.”
Por ejemplo.. Si yo tengo mi PC con la GTX960 2gb que da unos 2.2 TF.. y decido reemplazarlo por una Rx480 que da 5.2 TF. Pero en vez de cambiar Procesador (FX8320e) sólo le hago un Overclock de 3.2ghz a 4.0ghz… Mi GPU no da 5.2TF?! WHAT THE FUCK ARE YOU SAYING?!!
El procesador funciona mas rápido, y la GPU es mas potente y mas rápida, eso mejora TODO, aunque ahora el balance GPU/CPU esté en favor de la primera, una no le quita potencia a otra. El CPU sólo puede ser cuello de botella en juegos que usen mas este que laGPU, juegos quenecesiten un intenso uso para la IA o físicas, sin embargo eso se puede lograren GPU hoy en día sin problemas.
A veces me pregunto si la gente suelta las cosas así como así sin pensar o que es lo que pasa… Lo dire de manera más adecuada: El hecho de pasarle el trabajo de la CPU a la GPU significaría tener que rehacer el código del juego por un lado y por otro que parte de la potencia de la GPU se vería completamente tocada. Pero parece que existe el miedo a reconocer que el mayor problema que tiene PS4 (y Xbox One) es su ridícula CPU de Netbook.
El tema de la entrada original es muy simple, un fotograma es tiempo de CPU y tiempo de GPU, hacer más potente la parte posterior sin apenás aumentar la parte anterior significa que el rendimiento de la segunda queda tocado. La gente piensa que la GPU hace todo el trabajo y es falso… En realidad la GPU solo calcula como se ve la escena pero no calcula como es la escena y eso va en manos de la CPU. Por mucha computación de proposito general que haya en una GPU para ciertos elementos estas no están pensadas para calcular los cambios de la escena en cada momento, es decir, para hacer una descripción de la nueva escena y crear una lista de comandos para la GPU.
Si tienes un tiempo fijo por fotograma y la CPU es una puta mierda lo que va a ocurrir es que el tiempo que tenga disponible la GPU para si será mucho menor y el rendimiento visual peor. Si en cambio no tienes tiempo fijo vas a sumar milisegundos de más en el fotograma y la tasa de fotogramas se va a resentir respecto al ideal. No es que PS4 Pro no mejore respecto a PS4, es que PS4 Pro tiene una CPU que no le permite sacar todo el potencial a la GPU. Si el año que viene Sony sacase una PS4 Pro+ con el AMD Zen entonces verías cierto nivel de mejora en los juegos con el simple cambio de la CPU y sin cambiar nada más respecto a la PS4 Pro estándar.
http://digiworthy.com/2016/09/11/amd-zen-custom-socs-project-scorpio/ aqui lo dice scorpio no usara zen…. zen para las consolas estara lista para 2018 saludos.
Es falso que no se pueda hacer un SoC con un CPU Zen en 2017 desde el momento en que tenemos esto venido de la propia AMD
Es decir, en 2017 va a ser posible un SoC con AMD Zen… ¿Entonces como es que Sony no ha retrasado PS4 Pro? Pues por el hecho que lanzarla este año y al precio que tiene forma parte de la estrategia. En el caso de Scorpio… paciencia porque tengo pensada desde hace tiempo una entrada en ese sentido.
entonces la unica razon para que no salga en 2016 es la hbm2, posiblemente su coste este año
Esto es complicado de explicar pero… Bueno, en realidad no lo es para nada.
La memoria convencional escala ampliando la interfaz a la vez que la densidad, escala por el número de pilas pero la densidad en cada pila es variable. Sony podría haber sacado una PS4 Pro con un chip de memoria HBM2 con una pila de 8 pisos y tendría la configuración de 8GB, una reducción enorme en la placa, no se vería comprometido el ancho de banda y un mayor espacio en el consumo para un overclock respecto a la PS4 Pro y esto por no hablar de una reducción enorme en el consumo.
Una sola pila HBM2 puede tener el mismo ancho de banda que 8 chips GDDR5 con una interfaz de 2Ghz, que es la velocidad máxima del estándar GDDR5 pero con una serie de ventajas asociadas que solo se explican por alto precio que tiene la memoria HBM2 en estos momentos por el hecho que por el momento no se encuentra en los productos para el mercado de masas sino en gamas muy, pero que muy altas.
¿Y esto a que es debido? Pues al hecho que si colocamos varios chips uno encima del otro si sale uno defectuoso entonces tienes que descartar la pila entera. Es decir, la memoria HBM2 pese a tener ventajas en cuanto a espacio y consumo tiene la desventaja en cuanto al coste que es mortal para su uso en una consola a no ser que se utilice una configuración de un solo piso… 😉
Esto es todo por esta entrada.
He leído muchas de tus entradas y son geniales, ahora bien y de cara al jugon, cual seria tu recomendación ¿Comprar una PS4 Slim o una PS4 Pro?
Gracias.
Me gustaMe gusta
Comprar un PC
Me gustaLe gusta a 1 persona
Me gustaMe gusta
esto:
«Los ROPS pasan a formar parte de la Compute Unit junto a una pequeña memoria asociada»
teniendo ahora con el target de 4k y en el futuro 8k, lo combinas con lo de optimizar para reconstruccion en tablero con algoritmos personalizados, y todo confluye en el mismo punto, eliminar los rops como tales por derrochar espacio en las gpus
en el futuro cada cluster unit (grupo de shader cores) tendrá su propia memoria para tile rendering y habrá mas por gpu sustituyendo a los rops y se renderizará por software procesandolo en ellos (en vez del renderizado por software de los 90 que tiraba de cpu)
usando muchos rops se reserva mucho espacio de gpu solo para la resolucion, de este otro modo se da flexibilidad para sacrificar resolucion nativa en favor del resto de ajustes gráficos.
así que esa memoria para los tiles se podria usar como caché para un renderizado mas complejo al usar menos resolucion nativa, porque se podrian usar tiles mas pequeños usando una resolucion nativa mas pequeña. es decir, otra forma de dar flexibilidad a los desarrolladores.
Me gustaMe gusta
«en 2017 va a ser posible un SoC con AMD Zen… ¿Entonces como es que Sony no ha retrasado PS4 Pro?»
coño pues porque ps4 pro no usa zen sino jaguar xDDD si lo dijo la propia sony
Me gustaMe gusta
he encontrado estas imagenes de valve. source engine 2 ya usa tecnicas de checkerboard rendering con reconstruccion:
Me gustaMe gusta
» la desventaja en cuanto al coste que es mortal para su uso en una consola a no ser que se utilice una configuración de un solo piso»
y que diferencia hay con desechar un modulo de ram porque falla uno solo de sus chips? es lo mismo.
Me gustaMe gusta
Regresé, gracias por tomar en cuenta mi comentario anterior, pero seguiré insistiendo.. decir cuello de botella no es exagerar? La CPU ya era débil comparada con la GPU desde la PS4 inicial… Cuello de botella sería que ocasionara un problema que no permita a los jeugos desempeñarse como debiera ser, que no hubiera una solución para tales problemas.
Por ejemplo, el RSX era un cuello de botella para la PS3… hasta que se dieron con las soluciones basadas en CPU que solucioanron esos problemas, ya PS4, viene con las coluciones bajo el brazo.. en forma de APIs de bajo nivel.
Me gustaMe gusta
Eso son chorradas y vendida de humo.
No tienes mas que mirar benchmarks con gpu similar a la de ps4 (1,8 tf pero de amd) en pc con cpus mucho mas potentes. Si aumenta el rendimiento es precisamente por cuello de botella que hace el micro en ps4
Pues por logica este problema es un frenazo el doble de gordo en la pro
Me gustaMe gusta
la 7850 en rendimiento es la mas parecida a la de ps4 y mueve el deus ex human revolution al maximo y 1920 x 1200 a mas de 60 fps…
Me gustaMe gusta
ok mal ejemplo es un motor de la old gen y al parecer no tiene version ps4.
(lo de editar mensajes para cuando?)
Me gustaMe gusta
@xarman
Tan facil como pongas cosas como esta…Assassin´s Creed Syndicate con su Engine AnvilNext 2.0 (presente en Unity, Syndicate, Rainbow Six: Siege y For Honor)
> PS4 = 900p/30fps.
> AMD FX6300 a 3.5Ghz, 8GB ram y HD7850 2GB = 1080p/Alto/35fps (caidas puntuales a 25, 26 o 28fps).
> Intel Q9550 a 2.8Ghz, 12GB ram y GTX 750Ti 4GB = 1080p/Alto/25fps con caidas.
> AMD Phenom II x4 955 a 3.6Ghz, 8GB ram y HD7850 2GB = 900p/Alto-Medio > fps min = 26, avg = 31, max = 37 (ver minuto 2).
> Intel i5 4690 a 3.5Ghz, 8GB ram y GTX 750 Ti 2GB = 900p/Alto-Medio > un vaiven tanto de 35-40fps como de 40-45fps, asi que 40fps seria lo suyo.
> Como postre… AMD Athlon 5350 a 2.5Ghz, 8GB ram y GTX 750Ti 2GB + OC = 720p/Alto/15-20fps, pero en la descripcion del video se lee que a 1680x1050p/Alto y sin grabar el gameplay, se obtiene un promedio de 23fps.
😛
Me gustaMe gusta
Ahora entendí toda esta locura cuando mencionas a los fantoches de Digital Foundy…
En lo que consideraría un ad hominem contra Foundry esos perunchos estan con el cuento de comprara el soc del PS4 con las placas de sobre mesa desde el E3 pasados.
Fueron los primeros con EuroBrexit (no se por que joda se llaman euro ni son de la union europea en fin)…si me reafirmo EUROBREXIT fueron los que comenzaron toda esta mitología del PS4 neo seria o es una PC
Por eso mi ad hominem realmente no son muy listillos son solo neolenguistas, pero habrá que escribir muchos artículos y re-post para desenmascarar estos estafadores junto con sus compinches de Eurobrexit, Mendigos y acolitos y mensajeros de Sonyerismo Recalcitrante o mal llamado «Piperismo»…
Pero dejadlos que títulos de PS4 en HD no existe y ahora pretenden venderoslos como si 4K..pues es más como esas papas llenas de aire y bebidas azucaras llenas de gas. .. solo mierda que los Millennials consumiría en su ya escasa ambición mental y/o capacidad mental…
Posdata 1: Cualquier joda es una mugre PC hasta una tostadora …lo siento masterPoser digo PCPosers no entendéis nada de ciencia de la computación
Me gustaMe gusta