Android opengl-es-schnell Weg, um die Darstellung von text

Möchte ich zeigen, einige text in opengl ES. Ich habe eine 512*512 font-textur (textur atlas), alle Buchstaben beträgt 32*32 pixel hier.

Mein text Länge ist etwa 400 char.

Mein Algorithmus

    opengl.setClearTransparentBGEnabled();

    float y2=0;
    float j =0;

    for (int i=0; i<text.length(); i++) {

        int ch  =(int)text.charAt(i);
        float x2=((float)j*16*scale/50);

        j++;
        if ((text.charAt(i)+"").equals("\n")) {
            y2+=(16*scale*2)/50;
            j=0;
            x2=0;
        }

        opengl.saveMatrix();
            Sprites.selectVertex("font"+name)
                    .setSprite(ch)
                    .translate(x-x2, y+y2, -9)
                    .scale(scale, scale, scale)
                    .rotate(90, 0, 0, 1)
                    .draw(true);
        opengl.loadMatrix();
    }

    opengl.setClearTransparentBGDisabled();

Meine nur probleme, diese Methode ist sehr langsam: nach diesem bekomme ich 15-20 FPS.

Was ist der beste Weg, zum Rendern von Texten in opengl-es-dynamisch?

InformationsquelleAutor lacas | 2011-02-11
Schreibe einen Kommentar