Hallo ich habe ein kleines performance problem wäre schön wenn mir jemand helfen könnte
Die Situation:
ich habe alle texturen in einer Tadimagelist jedoch bevor ich diese zeichne möchte ich sie noch individuell je nach Situation verändern also lade ich sie vor dem zeichnen in ein TAdTextureSurface um hier ebend die änderungen (zb. via canvas oder andere bilder mit rauf zeichnen) vornehmen zu können, nach dem die änderungen vorgenommen wurden geht es per AdTextureSurface.image.draw(...) auf das eigentliche surface das funktioniert auch, nur ist das ganze zu langsam da es für ein Spiel benötigt wird. selbst ohne änderungen (dh. einfach nur ins TAdTextureSurface laden und danach ins Hauptsurface) fällt die Framerate in den Keller
hier etwas quelltext zum besseren verständniss:
Delphi-Quellcode:
adsur:TAdTextureSurface;
img1:TAdImage;
....
img1:=imglist.Find('mypicture');
adsur.SetSize(img1.Width,img1.Height);
img1.Draw(adsur,0,0,0);
{
.
. änderungen hier z.b.
adsur.Canvas.Circle(...);
.
}
addraw.BeginScene;
adsur.Image.Draw(addraw,100,100,0);
addraw.endScene;
addraw.flip;
...
gibt es vielleicht eine andere möglichkeit das bild nach dem laden und vor dem zeichnen noch einmal zu verändern ?
schonmal danke im vorraus
Gruß Sportkeks
Now we're taking a break to eat some cake.