cristus escribió: @Misscelan tal vez me equivoque, pero en una reseña muy vieja que leí por internet, decían que en el juego sin and punishment habían aplicado o desactivado algunos filtros, además de usar la resolución baja, para poder mejorar el rendimiento del juego.
Me lo creo, si no es ese, seguro que encuentras algún otro juego que tiene mejoras desactivando algún efecto (lo de la resolución es otro caso).
A ver si puedo explicarlo con un poco más de detalle. Estos son los efectos que tiene N64 (que no tienen PSX ni Saturn):
-Anti-Aliasing (eliminar bordes de sierra), tiene dos fases, una la puede hacer el RDP (la GPU) para aristas de polígonos compartidos, el coste de esto puede variar si son semitransparentes o si las texturas son diferentes (entre otras cosas), y luego para el resto de aristas lo hace el VI (video interface) que es el que el principio lo hace “de gratis”.
-Corrección de perspectiva. Dentro del RDP el proceso es un poco más opaco, pero fuera para que funcione tienes que por lo menos realizar una división extra por vértice (ya sea en la CPU o en el RSP), eso puede tener algún impacto, pero si lo desactivas tienes que implementar subdivisión que lo mismo tiene un coste superior.
-El Z-buffer (buffer de profundidad) ya lo expliqué un poco antes, esto te permite mandar polígonos en cualquier orden y que se ordenen solos y en juegos como mucho overdraw te puede salvar el tener que volver a pintar texturas. Si lo desactivas, el programador es responsable de tener que ordenar los polígonos, la ordenación de polígonos no es un problema trivial y tendrás que analizar en cada juego la complejidad y el coste de ordenarlos tú mismo.
-Texture filtering (el suavizado de texturas), Esto no sé si calcula el filtrado antes de mandarlo al buffer o después, lo primero sería más rápido. Si fuese el primero las implicaciones serían más de tasa de relleno que de acceso a memoria y solo tendría impacto en juegos limitados por eso.
-Precisión subpíxel del raster (lo que hace que los polígonos no den saltos cuando se mueven). Esto no es algo que se active o desactive. El RDP espera los vértices en formato 16.16 (16 bits de entero, 16 de decimal), el cálculo se hace de cualquier manera, pero si pasas 0 en la parte decimal el resultado será 0 y no compartirá pixel en el buffer de color con otro vértice.
Creo que no me dejo ninguno. Lo que quería decir con todo esto, es que no creo que se pueda generalizar, si tienes un juego con problemas de rendimiento en n64 no es tan fácil como desactivar todo y esperar que se dupliquen los FPS, a veces puedes ganar algún FPS, a veces nada, y otras veces hasta bajar.