Hallo,
ich zeichne eine Bildabfolge:
ist ein Image geladen aus einer *.png-Datei und dient eigentlich nur als Hintergrund. Bei // ... wird dann eigentlich noch mehr gezeichnet (die eigentliche Animation), aber der Fehler tritt schon beim einfachen Zeichnen des Hintergrunds auf:
Zu Anfang dauert die Ausführung der Zeile
ca. 7-8 ms. Nach gut 2000 Bildern steigt die Dauer plötzlich auf ca. 20 ms.
Woher kommt das? Und wie kann ich das verhindern? Und ist das so die beste Möglichkeit, ein fixes Hintergrundbild zu zeichnen? (Der Hintergrund wird ebenfalls mit Java erzeugt, um den Vorgang aber nicht jedes mal durchführen zu müssen hab ich das Bild als *.png abgespeichert. Weiß aber nicht, ob das so die beste Möglichkeit ist.)
Bin über jede Hilfe und Anregungen dankbar,
Morten
ich zeichne eine Bildabfolge:
Java:
public void run() {
Graphics graphics = getGraphics();
while (true) {
update(graphics);
}
}
public void update(Graphics graphics) {
if (doubleBufferImage == null) {
doubleBufferImage = createImage(this.getSize().width, this.getSize().height);
doubleBufferGraphic = doubleBufferImage.getGraphics();
}
doubleBufferGraphic.setColor(getBackground());
doubleBufferGraphic.fillRect(0, 0, this.getSize().width, this.getSize().height);
doubleBufferGraphic.setColor(getForeground());
doubleBufferGraphic.drawImage(mapImage, 0, 0, this);
// ...
}
Java:
mapImage
Zu Anfang dauert die Ausführung der Zeile
Java:
doubleBufferGraphic.drawImage(mapImage, 0, 0, this);
Woher kommt das? Und wie kann ich das verhindern? Und ist das so die beste Möglichkeit, ein fixes Hintergrundbild zu zeichnen? (Der Hintergrund wird ebenfalls mit Java erzeugt, um den Vorgang aber nicht jedes mal durchführen zu müssen hab ich das Bild als *.png abgespeichert. Weiß aber nicht, ob das so die beste Möglichkeit ist.)
Bin über jede Hilfe und Anregungen dankbar,
Morten