Modo GPU restringido
El renderizador detecta las capacidades del dispositivo al inicializarse y elige high o constrained. El modo restringido mantiene fuera de la memoria los fondos raster grandes a resolución completa. La detección automática no requiere cambios en la aplicación.
Detección automática
El dispositivo se clasifica como restringido si se cumple alguna condición:
- La relación de píxeles del dispositivo es al menos 3.
- Hay entrada táctil y el puntero principal es de tipo grueso.
- La prueba de carga de texturas GPU tarda más de 30 ms.
La prueba carga diez veces una textura RGBA de 512 × 512 y mide su finalización. El tamaño máximo de textura anunciado no determina por sí solo el nivel. Estas reglas definen una política de renderizado, no una garantía para un modelo de teléfono.
Desde Renderer 1.75, el tamaño de la pantalla no influye en el nivel. Las versiones anteriores también clasifican como restringido un dispositivo cuya pantalla física supera 8 millones de píxeles, lo que incluye equipos de escritorio con una pantalla 4K o un monitor externo grande. En Renderer 1.74, un equipo así que renderiza en WebGL conserva la vista previa en los fondos sin mosaicos.
Comportamiento del fondo
La tabla describe fondos raster convertidos. La carga de imágenes en SVG conserva su comportamiento. Canvas2D es el renderizador predeterminado. WebGL solo se usa cuando configuras switchToWebGL: true y el navegador lo admite, por lo que una integración predeterminada sigue la fila de Canvas2D.
| Aspecto | Nivel high | Nivel constrained |
|---|---|---|
| Vista general | Imagen de vista previa | Imagen de vista previa |
| Detalle WebGL con mosaicos | Recorte limitado desde mosaicos | Recorte limitado desde mosaicos |
| Detalle WebGL sin mosaicos | Alternativa de imagen completa | Solo vista previa |
| Fondo en Canvas2D | Imagen completa | Imagen más grande de hasta 8,4 millones de píxeles |
Con mosaicos, el renderizador combina los necesarios para la región visible en un recorte limitado. Libera la textura de detalle al alejarse y descarta resultados obsoletos durante movimientos rápidos.
Desde Renderer 1.74, un dispositivo restringido que renderiza en WebGL sin mosaicos conserva la vista previa a cualquier escala. El fondo puede verse menos nítido al acercarse. Esta ruta no decodifica la imagen completa para crear un recorte; el nivel high conserva esa alternativa.
Desde Renderer 1.75, el renderizador Canvas2D en un dispositivo restringido carga la imagen de fondo más grande de hasta unos 8,4 millones de píxeles, el área de una imagen de 4096 × 2048: la imagen completa si cabe y, si no, el nivel de resolución reducida más grande generado para fondos grandes. Si ninguna imagen cabe, conserva la vista previa, que se ve menos nítida al acercarse. Esta ruta no decodifica la imagen a resolución completa de un recinto grande.
Configuración
Omite gpuTier para la detección automática:
const renderer = new SeatmapBookingRenderer(container, {
publicKey: 'your-public-key',
});
Para fijar la política del dispositivo:
const renderer = new SeatmapBookingRenderer(container, {
publicKey: 'your-public-key',
gpuTier: 'constrained',
});
Los valores permitidos son high y constrained. El ajuste explícito tiene prioridad sobre el parámetro URL gpuTier, y este sobre la detección automática. Para una prueba, añade ?gpuTier=constrained a la página que aloja el renderizador. Forzar high también restablece el fondo a resolución completa en Canvas2D en dispositivos detectados como restringidos, que vuelven a decodificar la imagen completa.
Verificación
Activa debug: true para revisar el nivel elegido y la carga de fondos en la consola. Prueba planos con mosaicos y planos con solo vista previa en los dispositivos físicos que admite tu aplicación. La emulación de escritorio no verifica el uso de memoria de un teléfono.