フォントまたはビットマップフォントを使用するとパフォーマンスが大幅に減少
-
11-12-2019 - |
質問
ビンゴカードを構築して、カード上の数字にはスターリングボタンクラスを使用しています。
BitMapFontまたはNormalフォントを使用すると、FPSは40から10に低下します。 フォントなしでテクスチャのみを使用する場合、FPSは同じままです。
私が間違っていること??
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);
}
. 解決
私はあなたが描かれた数の描画通話で終わったと思われる。Stats Monitorを表示することを試みてみてください。
それは一箇所で使用するボタンがたくさんあります。それぞれには、ボタンのテクスチャとラベルの別のテキストフィールドの両方が含まれています。テキストフィールドは、コンテキストを切り替えるため、追加の描画通話を引き起こします。あなたはそれらの数が多いので(ビンゴのための25)、コンテキストが画像とテキストの間で行われるときに、50の描画呼び出しの順序で何かを終えます。これはであってもが発生します。ビットマップフォントはあなたのテクスチャアトラスにあります。
より良い、より優れたアプローチは、ボタンをスキップし、あなたの番号の1つ以上の画像を表示し、それ自身のタッチイベントを管理する画像の独自のサブクラスを作成することです。
所属していません StackOverflow