Para un juego de 32 bits, como la mayoría de los juegos son por una variedad de razones, incluso un juego que viene en un DVD de una sola cara (4.3GB) ya tiene mucho más contenido que se puede ajustar en un espacio de direcciones de 32 bits. Y suponiendo que el contenido no esté comprimido en el disco, y que sea perfectamente óptimo, cargue todo a la vez en un enfoque de espacio de direcciones contiguo. Muchos juegos ahora vienen en múltiples DVD, superando fácilmente los 10 GB de contenido. En mi experiencia en PC, una vez que su espacio de direcciones se acerca a las asignaciones de 2GB comenzará a fallar, y eso se convierte en un límite difícil, independientemente de la cantidad de memoria física que tenga el usuario.
Si realiza el salto a 64 bits, suponiendo que su motor lo admita, ese límite duro desaparece, solo para ser reemplazado por un límite suave efectivo: tan pronto como comience el intercambio de memoria virtual, el rendimiento del juego disminuirá inaceptablemente Si el proceso principal alguna vez tiene que esperar a que se vuelva a paginar la memoria, la velocidad de fotogramas tartamudeará y fallará. La memoria virtual puede hacerlo transparente, pero no lo hace eficiente. Físicamente toma tiempo recuperar esa memoria del disco, y mientras espera, su juego se ha estancado. Si bien es posible evitarlo (con la búsqueda previa en segundo plano de páginas de memoria que sabe que necesitará pronto), es un proceso difícil y poco confiable, y aún tendrá implicaciones de rendimiento.
Los algoritmos del sistema operativo para decidir qué páginas intercambiar en el disco no tienen conocimiento de su juego y de lo que probablemente necesitará a continuación. Además, el sistema operativo aún debe admitir otras aplicaciones que se ejecutan simultáneamente con su juego, así como el sistema operativo en sí. Tener que detenerse mientras se devuelven las páginas del disco es un golpe de rendimiento masivo, y no importa si es su juego, otra aplicación o el sistema operativo que lo incurre, el rendimiento del juego sufrirá enormemente.
Entonces, independientemente de si el límite de memoria es suave o duro, la memoria sigue siendo limitada. Pero incluso si pudiera cargar todo de una vez, sin alcanzar un límite de rendimiento, todavía hay razones por las que no querría:
Su juego tarda mucho más en cargarse y llegar a un estado interactivo de lo que necesita, porque simplemente carga todo al principio y lo mantiene residente. Puede cargar aproximadamente 150 MB / seg. Desde un disco duro, e incluso la unidad de DVD más rápida (24x) se carga a 33 MB / seg. Eso significa que el contenido de DVD de 4.3GB de ejemplo tomará al menos 30 segundos en cargarse desde el HDD, y más de 133 segundos en cargarse desde DVD. Esos son tiempos de carga inaceptablemente largos.
Tu juego requiere mucha más memoria de la justificada. Si solo el 10% del contenido es visible en cualquier momento, mantener al residente restante es simplemente un desperdicio y evita que el usuario use esa memoria para otra cosa. Los usuarios generalmente no perdonan los juegos que requieren una cantidad desproporcionadamente grande de memoria para funcionar correctamente.
La transmisión de activos desde el disco de forma dinámica, ya sea en segundo plano o sincrónicamente durante una pantalla de carga, le permite ser mucho más eficiente en el uso de la memoria, con un esfuerzo insignificante y solo un inconveniente menor para el usuario. Pero es una optimización y, como cualquier otra optimización, tiene rendimientos decrecientes cuanto más intente aplicarla. En algún momento, el aumento de la huella de memoria para mantener algo residente se ve compensado por las ventajas obtenidas de tenerlo allí sin la necesidad de cargarlo. Pero hasta llegar a ese punto, es mejor cargar solo lo que necesita, cuando lo necesita.