El Proyecto SmoothVideo utiliza la interpolación de cuadros para aumentar los fps de video de 24 a 60. Los resultados son bastante impresionantes . Me preguntaba si esto podría aplicarse y si se vería bien en los videojuegos.
Utiliza muchos menos recursos que renderizar todos los marcos, por lo que permitiría que los equipos de gama baja rindan con la calidad de equipos mucho mejores en algún nivel de compromiso. Sé que no será tan preciso y aumentaría ligeramente la latencia de entrada, ya que necesita conservar el marco más nuevo para poder generar e insertar el interpolado. Sin embargo, no es tan malo como un cuadro completo, según mi razonamiento, solo el retraso sería el tiempo de interpolación más la mitad del tiempo de actualización de fps original. Entonces, para 30 fps, sería 33 ms / 2 + tiempo de interpolación.
Tal vez este retraso lo haría inadecuado para los juegos rápidos en primera persona, pero dudo que sea un obstáculo en los juegos de ritmo más lento.
El retraso se vuelve más bajo a tasas de inicio más altas, por lo que creo que valdría la pena cuando se pasa de 60 fps a 100 + fps, lo que mejora la experiencia aunque sea cada vez más marginal, mientras que es extremadamente exigente para el sistema.
fuente
Respuestas:
Se ha utilizado un sistema en este sentido en The Force Unleashed . Sin embargo, no conozco otros títulos que lo hayan usado.
fuente
Sí, es posible, pero no está exento de complicaciones.
Si bien la interpolación de cuadros puede funcionar en tiempo real en videos, ese no es necesariamente el caso con los videojuegos. Aunque esto se está procesando en tiempo real en videos, el software puede "mirar hacia adelante" al siguiente cuadro. Este es un componente bastante crítico de la interpolación. Aquí es donde entra en juego el problema con los juegos. La mayoría de las veces, el próximo fotograma siguiente aún no se ha procesado. Entonces el software no sabe el siguiente punto en la interpolación.
Ciertamente existe la posibilidad de ejecutar el juego un cuadro o dos atrás para darle a su software de interpolación los cuadros con los que necesita trabajar. Sin embargo, esto no funciona tan bien para los medios que son interactivos. Ahora lo que se muestra en la pantalla se retrasa desde la entrada que se recibe. Esto hace que las cosas sean más complicadas para procesar la entrada y proporcionar una buena respuesta al juego. Es como construir en un retraso de rendimiento artificial. Además, es poco probable que tenga soporte nativo en cualquiera de los principales motores de juego, lo que significa escribir el suyo propio.
fuente
Sí, esto no solo es posible, sino que está disponible ahora: conecte su PC / consola de juegos a un televisor que use interpolación de movimiento . Las opiniones varían, y esto es menos adecuado para juegos de contracción nerviosa como FPS debido al retraso de interpolación, pero para aumentar las velocidades de cuadro de 60 a 120Hz funciona bien.
En cuanto a si esto se puede hacer en el juego en sí, todavía no hay suficiente impulso, ya que la mayoría de los monitores no pueden emitir esas altas velocidades de cuadros. Los monitores de 120 + Hz para computadoras son menos comunes, aunque a juzgar por cómo van los televisores, esto puede suceder pronto. Tener un monitor de alta frecuencia de actualización tiene ventajas incluso si el juego no puede alcanzar esas velocidades de fotogramas: además de la interpolación de movimiento basada en TV antes mencionada, puede ofrecer fotogramas más suaves si se permite que el juego emita fotogramas ya que están listos, en lugar de sincronizados arriba ala v-sync. Una vez que los monitores de más de 120 Hz sean comunes, espero que los desarrolladores de juegos se pongan al día y comiencen a usar más trucos, incluida la interpolación de movimiento, para alcanzar esas altas velocidades de cuadros.
fuente
El retraso entre el momento en que el usuario hace algo y el momento en que aparece el resultado en la pantalla nunca debe superar los 100 ms o el usuario puede notar el retraso.
El monitor del usuario puede tardar unos 30 ms en mostrar la imagen que recibe. Hay monitores mucho más rápidos disponibles, pero muchos usuarios promedio no los tienen. Si la tarjeta de video calcula 30 cuadros por segundo, se necesitan 33 ms para calcular un cuadro. Supongo que 30 fps porque no necesitamos interpolación de cuadros si el juego ya funciona a 60 fps. Si usamos triple buffering esto se duplica a 66 ms. Eso es 90 ms.
Creo que necesitamos triple búfer para que la interpolación de trama tenga sentido. Entonces, si usamos la interpolación de trama además de eso para obtener 60 fps, aumentamos el retraso en una trama de 60Hz, que es otro 17 ms + tiempo de interpolación X, lo que nos lleva a 107 ms + X. El problema no es la interpolación como tal, pero el hecho de que ya estamos cerca del punto donde la latencia es notable antes de introducir la interpolación.
Probablemente estaría bien para un juego que es principalmente una película virtual, pero en un FPS los usuarios notarían que algo está mal con el objetivo.
fuente