domingo, 13 de noviembre de 2016

Checkerboard rendering para fanboys


Parece ser que muchos fanboys están dando palmas con las orejas al decir que su consola tiene algo llamado "checkerboarding" que es como montar en patinete, pero con un tablero de ajedrez. Nada más lejos de la realidad.  Si quieres saber en qué consiste, lee esto, porque será breve.


Mark Cerny nos cuenta chorradas sobre los dientes de sierra y esas cosas, pero no tiene mucho que ver. La cruda realidad es la siguente: Estamos ante una de las formas de aplicar SLI/CrossFire.

La idea de la renderización en paralelo es la siguiente; Tienes dos tarjetas, pues cada una renderiza una parte. Estas son las cuatro formas de hacerlo:
  • Cada una hace un frame entero y se van alternando.
  • Cada gráfica hace medio frame (superior/inferior). 
  • Cada gráfica hace una línea, que era el modo original del SLI de las tarjetas 3DFX.
  • Cada frame se divide en cuadraditos para que cada tarjeta renderice unos.

Sí, eso es el checkerboard rendering, dividir la pantalla en cuadraditos para que se renderice entre dos tarjetas. ¿Qué ventajas tiene esto? Pues que en cierto modo puedes detectar qué cuadro no ha cambiado (no todos) y hacer que no se renderice para ahorrar tiempo.

¿Problemas? Pues que cuando tienes que renderizarlo todo, puedes tener unas caídas de frames muy dolorosas si lo calculaste todo con la intención de ahorrarte mucho así y poder ofrecer mejores gráficos. Es decir, si ofreces más de lo que puedes procesar, como sugiere Cerny, vas a tener una tasa de frames casi tan cinemática como las pinturas de un museo.

16 comentarios:

  1. Supongo que eso tendrá sentido en cinemáticas, porque en gameplay si los juegos ni siquiera van a 30fps como rocas... ya ni me imagino a menos.
    Es como el juego ese que salió en ps4 y XONE que iba con caidas constantes a 10fps. en fin, mola eso de contarle cuentos a la gente, si se los tragan pues enhorabuena, si tu modelo de negocio son las ventas y la gente tu audiencia te importa una mierda...

    ResponderEliminar
    Respuestas
    1. Supongo que será CrossFire con una gráfica adicional que sería la que le diese esa POTENCIAAAA extra a PS4P.

      Este método de renderizado en paralelo acelera las cosas de un modo parecido al triple buffer, pero calculándose con dos gráficas y el mismo frame (normalmente). Lo del mismo cuadro es porque si no, implicaría no leer tus acciones en cada cuadro y resulta más sencillo así para los motores gráficos, así como más fiable.

      Dicho eso, esta técnica, al usar dos gráficas, permitiría acelerar el framerate. Las caídas de cuadros ocurrirían cuando consideran que el consumo medio sería de X y al tener que renderizarlo todo, no tuviesen recursos porque lo hubiesen dedicado a otra cosa. La forma de solucionarlo es no tratar de ahorrarse cuadros, pero claro, entonces tienes 5 partículas menos en pantalla y la gente se queja por el dolor ocular que sufre. Paradojas del ojo peasant. xD

      Eliminar
  2. huy, me se de uno de hobbyconsolas que debería leer ésto antes de intentar explicar que mierda es eso del tablero de ajedrez, porque vaya ridículo que hizo el colega...

    https://www.youtube.com/watch?v=ZmAWAVAh-98

    ResponderEliminar
    Respuestas
    1. Es sorprendente que explique lo que es el escalado y lo llame como una técnica de renderizado en paralelo. Se me han caído los huevos al suelo y es un "profesional" de la industria. Al resto no le presté atención porque acabo de volver de un viaje de trabajo y lo tenía de fondo esperando escuchar la palabra clave.

      Por otro lado, lo que implica esto es que PS4P debe tener algo así como una PS4 con otra gráfica adicional para el modo Pro y hacer CrossFire. De ser así, los 4,2Tflops de los que presumen rendirán bastante menos. Ya sabemos que en temas de SLI, 1+1<2.

      Eliminar
    2. pues si, la ps4 pro no es mas que una ps4 normal al que le han subido las vueltas al cpu y le han añadido otra gpu más adicional en el die

      Eliminar
    3. ay, y ese señor es el lumbreras que se fue a regalar unos cascos de ps4 en la conferencia de la xbox fanfest, con eso lo digo todo...

      Eliminar
  3. Voy avisando ya, que en un tiempo va a haber por estos lares un post sobre teclados mecánicos (y ya de paso mi experiencia personal) a la hora de escribir con estos teclados (cosa que estoy haciendo ahora mismo con el primer ejemplar que tengo en mis manos, un ozone strike battle con cherry blue (bendito sonido que hace al escribir como si fuese una antigua máquina de escribir xD)
    Es que las sensaciones que despierta escribir con un teclado mecánico casi son indescriptibles.

    ResponderEliminar
    Respuestas
    1. y saber que no he tenido un teclado mejor que el de mi inves multimedia 286 del 91...

      Eliminar
    2. Es lo que dije una vez por aquí (creo..) y me tildaron de fanboy. La gente no sabe que se pueden tener orgasmos en los dedos hasta que usa un teclado mecánico , y el sonido... oh dios.

      [img]http://www.keyboardco.com/blog/wp-content/uploads/2012/10/Blue.gif[/img]

      Ni brazzers tiene tan buen material.

      [img]http://i.imgur.com/M8UakKI.gif[/img]

      Eliminar
    3. Mi teclado hace un ruido infernal ¿Cómo sé si es mecánico? ¡ah! Si los mecánicos están de moda serán caros, y el mío costó 30€

      Eliminar
    4. No sé qué teclado tienes pero seguro es una mierda. Saludos.

      Eliminar
  4. Kono al final va a hacernos todo un curso de programación de videojuegos, veréis.

    Kono ¿Tienes tu blog personal? ¿Por qué no haces uno donde escribir tus movidas con el motor grafico que estás haciendo? O una sección aquí mismo xD

    ResponderEliminar
    Respuestas
    1. No, no tengo otro blog. Supuestamente iba a ser este, pero aquello de "dead blog is dead" al principio me lo tomé a risa y al final terminó quitándome las ganas de escribir. Tenía muchas ideas, pero no tenía tiempo y por alguna razón aquél tonto esperaba que aquí se escribiese a diario. Un blog que no tiene ni publicidad porque yo mismo la quité ya que no hay ánimo de lucro. Ni de lucro, ni de escribir casi. xD

      Respecto a un diario de desarrollo, podría hacer algo. Por ahora mi motor sólo está pensado y seguro que encontraré problemas, pero me paso 8h/día programando y aguantando a clientes que exigen imposibles para ayer porque no entienden lo que están pidiendo. Como entenderás, ganas de programar al llegar a casa, sólo cuando estoy muy relajado. Es decir, una vez al mes. xD

      Eliminar
  5. Putos geeks... Algún día entenderé lo que estáis tramando (he tirado la toalla a partir de la segunda línea).

    Estoy de acuerdo con black_mesa: el teclado de alevoso es una mierda.

    ResponderEliminar
    Respuestas
    1. ¿De verdad es tan difícil? Si lo expliqué de forma que hasta Orincharco lo entendiese (creo).

      ¿Alguna duda concreta?

      Eliminar