Pascal Editor
Medir Pascal: inicio gráfico, latencia de edición y almacenamiento
Separa fallback GPU, actualización geométrica, transferencia de recursos y resultados de guardado para evaluar el editor con evidencia.
Qué aprenderás
- Mide el backend realmente inicializado
- Separa fotogramas, datos y red
- Informa interacción útil y persistencia
Antes de empezar
- Conceptos básicos de grafos, JavaScript y HTTP
- Una escena propia pequeña con dimensiones y relaciones esperadas
Explica el límite y reproduce la lista o el ejercicio acotado del capítulo.
Conclusiones clave
- Registra backend y cada fase de inicialización.
- Bytes de grafo no equivalen a recursos ni memoria GPU.
- Compara ediciones aceptadas y reapertura, no solo FPS.
Mide el backend realmente inicializado
El auxiliar limita por defecto a cuatro segundos las peticiones de adaptador/dispositivo WebGPU y la inicialización del renderizador WebGPU. Si falla, limpia renderizador, libera dispositivo e intenta WebGL. Son pasos acotados separados, no una garantía de iniciar toda la aplicación en cuatro segundos; la inicialización WebGL no recibe el mismo timeout en este auxiliar.
Registra WebGPU, WebGL o resultado no soportado junto a navegador, controlador y escena. No mezcles ejecuciones de fallback en una media sin explicación. Nuestro sondeo utilizó dispositivos y renderizadores simulados y confirmó limpieza y fallback, no velocidad GPU, compilación de shaders ni presentación real de fotogramas.
Separa fotogramas, datos y red
Una escena puede ser lenta por cambios geométricos, materiales complejos, muchos objetos visibles o carga de recursos. NodeRenderer conserva identidad de componentes diferidos y el almacén rastrea nodos sucios, pero eso no demuestra una mejora concreta de FPS. Fija recorrido de cámara y ediciones y comprueba primero corrección visible.
El límite SQLite de 10 MiB se aplica al JSON del grafo en UTF-8, no a texturas, modelos o buffers GPU totales. Un registro pequeño puede referenciar recursos enormes. Mide bytes del grafo, transferencia de recursos, memoria de proceso y comportamiento gráfico por separado, sin llamar al tamaño de la base requisito de memoria de la aplicación.
Informa interacción útil y persistencia
Un piloto práctico mide primera vista utilizable, latencia edición-imagen, guardado y reapertura con geometría y materiales esperados. Incluye importaciones fallidas, dispositivos no soportados y conflictos de versión, sin descartar muestras incómodas. Mantén costes y percentiles desconocidos hasta ejecutar cargas equivalentes.
El registro siguiente es una propuesta sin cifras inventadas. Compara un cambio cada vez, como desactivar un efecto opcional o reducir objetos visibles de una muestra controlada. Un resultado más rápido que pierde una abertura, material o guardado no ha realizado el mismo trabajo y no debería ganar.
Pasos de implementación
- 1
Fija navegador, dispositivo, cámara y escena.
- 2
Registra backend y casos no soportados.
- 3
Mide edición, guardado y reapertura con controles.
- 4
Publica únicamente valores observados.
Ejemplo para copiar
{"actualGpuRuns":0,"backend":null,"firstUsableViewMs":null,"editToVisibleP95Ms":null,"graphUtf8Bytes":null,"assetTransferBytes":null,"saveMs":null,"reopenAccepted":null}Preguntas frecuentes
¿El timeout de cuatro segundos limita todo el inicio?
No. Se aplica a operaciones WebGPU concretas, no a toda la carga ni al trabajo WebGL.
¿El límite de 10 MiB acota la memoria GPU?
No. Recursos referenciados, buffers y memoria de proceso son recursos separados.
Fuentes
- README.mdFuente verificada 2026-09-08
- LICENSEFuente verificada 2026-09-08
- packages/cli/package.jsonFuente verificada 2026-09-08
- packages/core/package.jsonFuente verificada 2026-09-08
- packages/viewer/README.mdFuente verificada 2026-09-08
- packages/cli/src/runtime.tsFuente verificada 2026-09-08
- packages/cli/src/editor-process.tsFuente verificada 2026-09-08
- packages/cli/src/mcp-connector.tsFuente verificada 2026-09-08
- packages/mcp/src/transports/http.tsFuente verificada 2026-09-08
- packages/mcp/src/storage/sqlite-scene-store.tsFuente verificada 2026-09-08
- packages/core/src/store/use-scene.tsFuente verificada 2026-09-08
- packages/viewer/src/components/renderers/node-renderer.tsxFuente verificada 2026-09-08
- packages/viewer/src/lib/renderer-capability.tsFuente verificada 2026-09-08
- packages/core/src/validation/validate-build-json.tsFuente verificada 2026-09-08
- packages/core/src/utils/heal-scene-graph.tsFuente verificada 2026-09-08
- packages/mcp/src/storage/slug.tsFuente verificada 2026-09-08