Disminución significativa en el rendimiento cuando uso fuentes o fuentes de mapa de bits.

StackOverflow https://stackoverflow.com//questions/12652777

  •  11-12-2019
  •  | 
  •  

Pregunta

Estoy construyendo una tarjeta de bingo y use la clase de botón Starling para los números en la tarjeta.

Si uso el bitmapfont o las fuentes normales, el FPS cae de 40 a 10. Si solo uso la textura sin las fuentes, el FPS permanece igual.

¿Qué estoy haciendo mal?

for(var i:int = 0; i < rows * cols ; i++)
        {
            var btn:Button = new Button(Assets.getTexture("btn"),String(i+1));
            btn.fontName="dig"
            btn.x = (i % cols) * (btn.width + spacerX) + btnXoffset;
            btn.y = Math.floor(i / cols) * (btn.height + spacerY) + btnYoffset;
            addChild(btn);
        }

¿Fue útil?

Solución

Sospecho que está terminando con un buen número de llamadas de dibujar.Intenta habilitar el monitor de estadísticas para ver.

Eso es un montón de botones para usar en un solo lugar.Cada uno incluye tanto una textura para el botón, así como un campo de texto separado para la etiqueta.El campo de texto causará una llamada extra debido a que cambia los contextos.Dado que tiene un gran número de ellos (25 para el bingo), terminará con algo en el orden de 50 llamadas Dibujar a medida que el contexto se enciende de un lado a otro entre las imágenes y el texto.Esto sucederá incluso si la fuente de mapa de bits está en su textura Atlas.

Un enfoque mejor, más actuador sería omitir el botón y crear su propia subclase de imagen que muestre una o más de sus imágenes numéricas y administra los eventos táctiles por sí solo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top