Muy buenas a todos! Ya hace varios años que no me dedicaba a hacer un post, y bueno, las cosas en este lugar han cambiado bastante desde ese entonces. Me he puesto al día con un par de cosillas y aún se ve bastante la pelea de Consolas vs pc (nunca va a desaparecer, eso lo tengo claro), aunque aqui es donde la cosa se dispareja un poco: "La consola tendra 30 fps y aunque el pc tenga 60, el ojo humano no ve a más de 24 FPS" ... Muchos hablan por hablar sin siquiera entender lo que es un "fps". Aqui estoy para solucionar esas dudas ¿Qué son los FPS? Los FPS, Frames per second o Cuadros por segundo por su traducción, es la forma en la que se mide la cantidad de imagenes que un reproductor muestra en un segundo. En efecto, es la velocidad a la que esta mostrandose determinada pelicula en la pantalla. En la informatica contemporanea, Los FPS no solo nos indican la velocidad de una secuencia de imagenes en determinado tiempo, sino que ademas nos permiten medir el rendimiento de un determinado dispositivo bajo ciertas condiciones. ¿Pero, si el ojo humano solo ve a 24 cuadros por segundo, para qué más? Este argumento es muy comun entre los que debaten que es mejor una consola por sobre el pc, algunos otros, en lugar de 24 dicen 30, pero el contexto es el mismo El concepto nacio junto con el surgimiento del cine, el 28 de diciembre de 1895. Los hermanos Lumière presentaban al mundo el primer Cinematografo junto al primer cinema del mundo. El Cinematografo era un aparato que permitia proyectar una secuencia de imagenes sobre un telón, dando la sensacion de movimiento de las mismas. El funcionamiento de este aparato consistia en una pelicula fragmentada en cuadros que circulaba frente a una luz que se encendia solo cuando un cuadro completo estaba sobre la misma, y se apagaba cuando este estaba fuera de poscición. Con el tiempo, la mecanica del cine fue mejorandose hasta obtener dispositivos mas sofisticados que el cinematografo Lumière. Dichos aparatos ya funcionaban a una velocidad mas "estandar", la cual eran los muy de renombre "24p" (23.976 fps). A 24 fps, nuestro ojo no alcanzaba a ver definidamente el momento negro de la pelicula, por lo que fue establecida como la velocidad minima para ver un movimiento "Fluido" sobre una pantalla (Si tu pc corre a menos que esto te jodes y punto). Entonces ¿A cuantos FPS ve nuestro ojo? No se ha medido, pero es porque no existe una forma determinada de hacerlo, pero de que vemos a mas de 24 esta más que asegurado. Se han realizado un par de pruebas y hubo gente que logró identificar 200 de 250 cuadros por segundo. En un ordenador de mesa común, no es posible ver mas de 60 fps debido a limitaciones de hardware (tecnicas), Más especificamente, del monitor, pues la gran mayoria de ellos trabajan a 60Hz... Monitor vs Grafica: Hz vs FPS Veamos, Dices que no es posible ver mas de 60 cuadros por culpa del monitor, ¿Eso que tiene que ver? Tiene mucho que ver. Los "Hz" definen una cantidad de ciclos por segundo. El comun de monitores no trabajan a menos de 60Hz, es decir, funcionan a 60 actualizaciones de Imagen por segundo. ¿Los Hz son lo mismo que los FPS? No. Los Hz de un monitor poseen una frecuencia fija y no alterada de actualizaciones. La tarjeta grafica por su parte renderiza las imagenes que enviara al monitor en el momento que pueda y no cuando este le indique que debe hacerlo. Al ser 2 elementos que van ligados de la mano, los 2 dependen de que la imagen que enviara tu ordenador (Consola si sos de esos) Sea la misma que tu monitor mostrara y no otra. Ya hablaremos de eso más adelante. Un PC que sea mas potente que la media, será capaz de renderizar mucho mas que 60 fps, pero solo mostrara una simulación de estos en 60FPS, A menos claro que tengas un monitor con una mayor taza de refresco que 60 (80, 120, 144 e incluso 240Hz). ¿Y si mi pc muestra menos, 30 por ejemplo? Supongamos que tu pc renderizó una escena a 30 cuadros por segundo. Tu monitor Mostrara efectivamente los 30 Cuadros por segundo, manteniendo su taza de refresco a 60. Una vez que la GPU renderizo un Frame, este se mantiene en la memoria de la grafica hasta que esta tenga otro listo para mostrar mientras que el monitor le solicite el frame en cuestión. En el caso de los 30 FPS, Como es un numero multiplo de 60 este puede perfectamente ser representado durante 2 actualizaciones de imagen del monitor mientraz la grafica no presente otro. Lo mismo para 80 FPS, 120 FPS o cualquier multiplo del mismo. El Autentico dilema existe cuando ambos numeros no son multiplos entre si. Supongamos que la grafica renderizo una secuencia de imagenes a 45 Cuadros por segundo: Si te fijas en la representacion de arriba, Los FPS y los HZ solo coinciden cada 3 Actualizaciones del monitor, habiendo un cuadro de la grafica que queda entre 2 refrescos de la pantalla. Ese frame en cuestrion, se muestra igual, pero en una versión distorsionada entre las actualizaciones de la pantalla. Este fenomeno Caballeros, se conoce como Screen Tearing. Screen Tearing ¿Y que es lo que sucede si el monitor quiere mostrar una imagen que el chip grafico aún no ha terminado de procesar? La Imagen se distorsiona. Aun mientras la grafica esta procesando la escena, esta desde ya esta siendo cargada en la memoria a medida que sustituye el cuadro anterior. El monitor al realizar su actualizacion muestra lo primero que encontro en la memoria de la grafica. Esto puede llegar a ser bastante imperceptible si consideramos que, en el caso de los 45 fps, son solo 2 cuadros los afectados hasta llegar a un 3ro completamente sanito Sin embargo, consideremos que ese lapso de 2 cuadros malos y uno bueno se repite al menos 20 veces en 1 solo segundo. Puede llegar a ser bastante molesto. Reproduce el Siguente video en 1080p, Si no notas ninguna anomalia a lo largo del video, Sorpresa! Tu hardware es lo suficientemente bueno como para adaptar 29.97 fps en 30 Si no, puedes sentirte afortunado de tener un PC El Siguiente, es un demo realizado por Nvidia en el cual, presentando su tecnologia G-Sync, podras notar una escena afectada por el Tearing y otra sanita Este video Fue grabado por una camara a 120 fps, ralentizados a un 25% su velocidad. No te preocupes, el tearing es propio del video. V-Sync, G-Sync y FreeSync Ok, entonces deberiamos suponer que el Tearing es un problema grande. ¿Existe solución a eso? En cuanto al mercado salieron los primeros videojuegos para pc, se comenzo a ver este problemita, pues a diferencia de una pelicula, un videojuego no trabaja a una velocidad de cuadros fija. Puede estar a 60 cuadros en un momento y desplomarse a 18 en otro y subir a 1000 en el siguiente (Ok, exagere un poco). Esto no sucedia tan a menudo en las consolas pues desde sus origenes fueron creadas para trabajar a una taza de cuadros por segundo equivalente a los Hz de la pantalla. Para regular esto, se penso en forzar que las imagenes generadas solo fueran cargadas en la memoria una vez estas estuvieran listas para ser enviadas al monitor. Como las imagenes son renderizadas desde arriba hacia abajo, solo serian preparadas una ves que esta estuviera sincronizada verticalmente. Asi el monitor solo mostraria imagenes perfectas en lugar de las distorsionadas. Esto fue nombrado como V-Sync. En otras palabras, La tarjeta de video estaria obligada a renderizar una imagen SOLO cuando el monitor le indique que debe hacerlo Por desgracia esto significo una considerable perdida de rendimiento en una tarjeta grafica, pues seria forzada a trabajar a una velocidad que sea multiplo a los Hz del monitor. Es por eso que el V-sync es una opción activable en la gran mayoria de videojuegos actualmente existentes y no una obligación. Si quiero tener el maximo de rendimiento, ¿tengo que desactivar si o si el V-Sync? Si una ventaja enorme tienen las ciencias tecnologicas por sobre las otras, es que esta evoluciona a cada segundo. La computación por ende, tambien Tanto Nvidia como AMD, las 2 compañias mas grandes actualmente en la fabricación de hardware grafico, han implementado una solución grande a esto. Comocidas como G-Sync, por parte de Nvidia, y FreeSync, por parte de AMD No ahondare mas en ambos porque son exactamente lo mismo, claro, Nvidia solo funciona con Nvidia, y AMD solo con AMD. El Concepto es simple. En V-Sync, La grafica debia renderizar cuando el monitor se lo ordenaba. En G-Sync/FreeSync, es la tarjeta de video quien le indica al monitor cuando debe mostrar un determindado Frame. AMD No tiene un video de FreeSync :'C Comparativas de Cuadros por Segundo ¿Y como sé la diferencia entre mis 30FPS y tus 60FPS? Desde hace un tiempo, Youtube habilito la posibilidad de renderizar videos a 60FPS. Veela tu mismo Es necesario que reproduscas el video con una resolución mayor o igual a 720p, de lo contrario, no verás mas de 30 FPS 60 FPS 60 FPS vs 30 FPS 60 vs 45 vs 30 vs 23.976 vs 15 vs 8 FPS! Los videos fuero renderizados a diferentes cuadros por segundo, no a una estandar y despues convertidos. Es por eso que se veran diferentes posciciones al ser reproducidos. Cada figura tiene un tiempo de acceleración determinado, pero al este ocurrir en cuadros totalmente distintos (Es imposible sincronizarlos, pues en algunos hay frames inexistentes en otros) obtienen posciciones diferentes. Sin embargo, podrás notar que todas las figuras empiezan y terminan al mismo momento (Salvo la de 8FPS, esa ni siquiera tiene un frame en la que alcance a llegar :'( ) Esto es lo que ocurre si un video de 60 fps lo convierto a otra velocidad (30 en este caso) Al pausar el video, notaras la figurita un poco borrosa. En la cinematica, este efecto se conoce como Motion Blur, y sucede cuando se comprime movimiento a un determinado numero de cuadros. Pausa cualquiera de los videos anteriores a este, y notaras que estan totalmente definidos COMENTA, PUNTUA Y COMPARTE! DEVOLVAMOS LA INTELIGENCIA COLECTIVA A TARINGA! que no se te olvide denunciar
Los FPS: Lince, te tiro la posta!
Datos archivados del Taringa! original
0puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
4visitas
0comentarios
Dar puntos: