Saltar al contenido principal

Restricciones y presupuestos del hardware de PS1

Polygon Engine se dirige al modelo de memoria y renderizado PlayStation 1 real:

  • sin tampón z,
  • visibilidad basada en tabla de ordenamiento,
  • Transformaciones GTE de punto fijo,
  • 1 MB VRAM,
  • 2 MB de RAM principal,
  • RAM SPU de 512 KB.

Debido a eso, la salida estable de PS1 depende de la disciplina de budget y authoring disciplina.

Lea primero Arquitectura del hardware de PS1 si desea la explicación a nivel de sistema detrás de estos límites.

Snapshot de hardware​

RecursosTotalNota práctica
RAM principal2 MBCompartido por código de tiempo de ejecución, búferes, datos de escena, Lua, estado de audio
VRAM1 MBCompartido por framebuffers, texturas, CLUTs
RAM SPU512 KBAlmacenamiento de muestras Audio
CPU33 MHz R3000ASin hardware FPU
GTECoprocesador de geometría de punto fijoTransform, iluminación, perspectiva
GPURasterizador 2DDibuja primitivas 2D ordenadas, no una tubería 3D con búfer z

Presupuestos predeterminados de Project​

Configurado en Project Settings > PS1 Budgets:

PresupuestoDefault
VRAM Presupuesto1,048,576 octetos
Presupuesto RAM786.432 octetos
Presupuesto de la SPU491,520 octetos
Tamaño máximo de textura256
Texturas únicas máximas64
Triángulos máximos recomendados por malla2,000
Límite estricto de ordenamiento por malla2,048 triángulos
Triángulos de escena Max4,000

Límites de tiempo de ejecución que importan en la creación​

Estos son los límites que afectan más directamente al diseño de la escena:

ZonaLímite de tiempo de ejecución
Canvas de UI por escena8
Elementos de interfaz de usuario por escena32
Fuentes de mapa de bits por escena3
Habitaciones / Portales24 / 48
Nodos de navegación / enlaces dirigidos256 / 1,024
Clips de cinemáticas / cuadros clave totales8 / 256
Clips Animation independientes / instancias activas12 / 8
Transform Animator componentes / estados por componente32 / 4
Mallas con skinning por escena16
Luces direccionales de escena3
Recursos de textura cargados en tiempo de ejecución64
Escenas de manifiesto32
Scripts manifiestos64

Panel PS1 Budget​

El editor incluye View > Show PS1 Budget y Build > Tools & Diagnostics > Export PS1 Budget Report. Usa este panel antes de cada pase de compilación, especialmente cuando cambia la geometría de nivel, los materiales, los scripts o el audio.

El panel de control rastrea:

  • Conteo en tiempo de ejecución de GameObjects, interfaz de usuario, scripts, mallas, materiales, texturas, páginas de texturas y clips de audio,
  • RAM de malla estimada, VRAM de textura, audio SPU, heap Lua, uso de búfer de paquetes y triángulos de escena,
  • Colocación de la página de textura VRAM y colocación de la fila CLUT,
  • un mapa interactivo de VRAM con conflictos de framebuffer, página, huella y CLUT,
  • Señales de flujo de trabajo en primera y tercera persona, como controladores de jugadores, plataformas Camera, interacibles y zonas Camera.

La exportación del editor escribe Build/ps1/logs/ps1_budget_current_scene.json como una estimación de autoría. Una compilación PS1 sobrescribe ese archivo de escena activa con datos de tiempo de ejecución posteriores al preprocesamiento y también escribe un ps1_runtime_budget_<scene>_<hash>.json por escena construida más ps1_build_performance_report.json.

La gran restricción de renderizado: No Z-Buffer​

El tiempo de ejecución de PS1 ordena la geometría ordenando cubos de profundidad de tabla, no por profundidad por píxel.

Eso significa que el siguiente contenido es frágil a menos que sea escrito o preprocesamiento cuidadosamente:

  • pisos coplanares enormes,
  • muy largo de la pared quads,
  • geometría interpenetrada,
  • polígonos grandes que cruzan el plano cercano,
  • primitivas redondeadas de alto poli utilizados como geometría de héroe.

Estrategia Polygon Engine​

Para que el contenido de autor editor funcione en PS1, el proceso de compilación aplica el procesamiento específico de PS1:

  • La geometría estática incorporada Plane y Cube se puede preprocesar,
  • grandes primitivas pueden ser fragmentadas en mallas escalonadas más pequeñas,
  • mallas escalonadas preservan los materiales al tiempo que reducen los conflictos de OT,
  • validación advierte cuando el contenido excede los límites de tiempo de ejecución,
  • release construye mallas de rechazo que exceden el límite de clasificación en tiempo de ejecución,
  • Las salidas de audio y textura obsoletas se detectan desde la fuente y los hashes de configuración antes de la puesta en escena.
  • las superficies de navegación se cuecen en gráficos de enlace/nodo de capacidad fija acotados,
  • la animación FBX con skinning rígido se preprocesa en geometría y datos de matrices con capacidad fija,
  • Las fuentes de OBJ y FBX estáticas densas pueden ser reducidas por el PS1 Asset Optimizer no destructivo antes de que se apliquen los límites del índice de tiempo de ejecución y los diagnósticos de topología costosos,
  • Las animaciones de escena independientes utilizan grupos fijos de clip, ranura, pista y cuadros clave,
  • Los datos de escena .BSN utilizan renderizado dimensionado, carga/UI, mundo, navegación, animación y fragmentos de línea de tiempo para que cada sección de tiempo de ejecución permanezca limitada.

Reglas prácticas de autoría​

Sigue estas reglas al crear escenas de PS1:

  1. Preferir trozos modulares sobre primitivas gigantes a escala.
  2. No confíe en las superposiciones coplanarias para ocultar las costuras.
  3. Evita usar cápsulas densas incorporadas como héroes props en escenas enfrentadas a PS1.
  4. Usa interfaz de usuario de autor para el envío de HUD y los flujos de menú.
  5. Mantén la geometría del nivel estático simple, alineada con los ejes y apta para preprocesar siempre que sea posible.

Para obtener una explicación detallada de por qué estas reglas importan, consulta Creación de contenido para PS1. Para ver una única tabla de límites de tiempo de ejecución, consulta Límites de ejecución.