Ich benutze UIImage, um eine Spielkarte aus 32x32 Blöcken zu rendern. Der Code lautet wie folgtWarum bekomme ich schlechte Leistung beim Rendern verschiedener Bilder mit UIImage auf iPhone
for(int x = 0; x < rwidth; ++x)
{
for(int y = 0; y < rheight; ++y)
{
int bindex = [current_map GetTileIndex:x :y];
CGPoint p;
p.x = x * tile_size_x;
p.y = y * tile_size_x;
[img_list[bindex] drawAtPoint:p];
}
}
Dies endet mit dem Rendern von etwa 150 Kacheln. Mein Problem ist, wenn ich diesen Code starte, geht meine Renderzeit auf 2-3 Frames pro Sekunde runter.
Ich dachte, das iPhone war Füllung gebunden, aber wenn ich bindex zu = 1 (dh rendern den gleichen Block 150 Mal), dann bekomme ich volle Bildrate.
Ich kann nicht glauben, dass es so teuer ist, aus verschiedenen UIImages zu rendern.
Könnte ich bitte jemand sagen, was ich falsch mache ...
Oh ich von einer größeren Textur Seite mit CGImageCreateWithImageInRect erstellt vergessen, meine Bildliste zu erwähnen.
Dank Rich-
Hat jeder Index in img_list Referenz eine andere Textur/Bild aus separaten Dateien geladen? – Venesectrix
Oh, ich habe vergessen, meine Bildliste zu erwähnen, die mit CGImageCreateWithImageInRect aus einer größeren Texturseite erstellt wurde. – Rich
Entschuldigung, Ihre Frage zu beantworten, nein. – Rich