@ashurek Cuando tenía la máquina, también hice bastantes pruebas con el parcheador NOAA. No sabría decir si ganaba rendimiento o no, la verdad sea dicha. ¿Tu realmente notas diferencia o es algo tan mínimo que bien podría ser efecto placebo? ¿Alguien ha hecho mediciones?
EDITO: SI! Alguien hizo.
https://www.youtube.com/watch?v=-Nef6A2C3kIAlgo de mejora parece que hay, aunque no se cuanto se nota realmente. Yo no recuerdo notar nada especial en cuanto a rendimiento.
La principal ganancia es en nitidez, a costa del pixelado, aunque considero que merece la pena el cambio.
Esta técnica de desactivado de AA desactiva varias cosas a la vez:
Por un lado desactiva el cálculo relativo a las aristas "externas" de los triángulos. Las aristas INTERNAS son las que comparten véritces con otro triángulo adyacente con el que se puede hacer suavizado directamente, mientras que las externas no tienen conexión directa con nada, y para hacer suavizado con ellas hay que hacerlo contra el fondo, contra lo que hay en el framebuffer, y es mas costoso. Para esto, En la RDRAM de 9 bit que usa la consola, usando un framebuffer de 16bit, el RCP puede usar el bit 9 (que queda sin usar en datos normales) de los dos bytes de cada pixel, para almacenar un valor de 2bit que indica al VI cúanto del color circundante ha de mezclar en el pixel actual para hacer el suavizado de bordes externos. Esto obliga a hacer un cálculo extra para determinar el valor a almacernar, y otro por parte del VI para hacer el mezclado de color. No sabría decir cual de las dos partes es mas costosa.
Por otro lado, también desactiva la generación de pixels interpolados a la hora de generar la señal del video. Como muchos sabreis, el bus de video de N64 tiene un pixel clock fijo, y los modos de video que establece el software están pensados para producir siempre 640pixels activos/visibles por linea, independientemente de la resolución del framebuffer. Es tarea del VI interpolar (o no) la imagen del framebuffer, y cómo hacerlo. En la gran mayoría de juegos, la resolución horizontal es 320, así que lo típico es intercalar un pixel interpolado entre cada dos originales, para evitar el aspecto pixelado, pero esto también añade borrosidad. Los que teneis mods de video habreis visto la conocida funcion que ignora ese pixel extra y repite el original en su lugar proporcionando un aspecto mas nítido y pixelado pero sin eliminar el AA de los bordes externos, como si hace el parcheado de la ROM.
Gracias a lo segundo, toda la imagen gana nitidez, ya sea gracias al parcheado parche o al mod de video, y las texturas ganan definición: En el video ese, al snowboarder de 1080 se le ven los detalles de la cara, mientras que con AA los ojos ni se le notan.
Otra cosa es la eliminación del AA de bordes externos. Por una parte un borde con "jaggies" tiene mucho mas contraste, como es natural, pero al margen de las preferencias estéticas que uno pueda tener, hay una cosa que si cambia y hasta puede empeorar: Los objetos lejanos.
Sin AA de bordes externos, un objeto lejano renderizado en unos pocos pixels de pantalla, si bien destacará mas sobre el fondo contra el que esté proyectado, perderá detalles sutiles. Suponiendo, por ejemplo, un personaje con sombrero muy calado, y visto desde un angulo un poco elevado y a distancia. Con AA podría sobrevivir un atisbo de la cara en una pequeña franja de pixels que mezclasen el color de la cara con el del sombrero (u otros rasgos circundantes de la escena), dejándo atisbar algo que el cerebro podría extrapolar con sus procesos internos, mientras que sin AA, esos pocos pixels donde podría haber algo de la cara tendrán que ser o de la cara 100% o del sombrero 100% o de otra cosa 100% y lo mas normal es que lo mas sutil se pierda totalmente.
Es una minucia, pero noté ese efecto en su momento.
-------------------------------------------
https://youtu.be/-Nef6A2C3kI?t=173UFFFFFF, acabo de encontrar un fallo en el medidor que usa este youtuber que hace que pierda un poco de confianza en sus resultados.
En 2:53 pone su comparativa de beetle adventure racing, Y, durante la cuenta atrás para arrancar, la diferencia de rendimiento que mide su programa es brutal: El juego sin parchear baja hasta 4fps y el parcheado alcanza los 24fps... algo raro pasa.
Deduciendo que es un programa contador de fotogramas, deduzco que estará basado en comparar cada cuadro nuevo con el anterior y, si la diferencia pasa de un cierto umbral, se considera que hay un cuadro nuevo, y si no, es el mismo. Algo debe cambiar en la señal para el el programa que usa este hombre se equivoque así, porque no me creo ni de broma que haya 20fps de diferencia solo por el AA, ni que la versión sin parchear caiga tan abajo. No es normal.