Hallo,
ich hab ein JFrame mit nem JPanel und zeichne darin mittels repaint eine 32x32 Kacheln großes isometrisches Spielfeld.
Das ganze wird mit nem transformierten ( AffineTransform) Shape array und nem TexturePaint array im konstruktor erzeugt und anschließend mittels g2.setPaint und g2.fill auf den Bildschirm gerendert. Ich translatiere nun das spielfeld mittels g2.translate und scrolle so die map. Das problem ist, dass das ganze trotz des einmaligen ladens bzw erzeugens sowohl der shapes als auch der texture das ganze sehr stark ruckelt. Ich hab mich durch viele foren gelesen. Vorschläge mit backbuffer oder volatile image etc. brachten gingen auch nicht. Außerdem habe ich mit g2.clip den renderBereich eingeschränkt und in repaint nur den relevanten Bereich zum neuzeichnen angegeben. Ebenso die g2.clearRect Methode. Daher meine Frage ist dieses Texture Paint so "teuer" für die laufzeitumgebung, dass es einfach so ruckelt oder an was liegt das? Ich kann natürlich sehr große TileMaps anzeigen ohne Texture Paint mit der klassischen Methode und render bereich einschränken auch isometrisch. Mich hätte das nur interessiert wie man dieses Texture Paint verstehen soll. Java hat ja in der Standard library sooooo viele sehr nützliche Klassen, es gibt nur zu wenig beispiele für eher unbekannte Klassen.
ich hab ein JFrame mit nem JPanel und zeichne darin mittels repaint eine 32x32 Kacheln großes isometrisches Spielfeld.
Das ganze wird mit nem transformierten ( AffineTransform) Shape array und nem TexturePaint array im konstruktor erzeugt und anschließend mittels g2.setPaint und g2.fill auf den Bildschirm gerendert. Ich translatiere nun das spielfeld mittels g2.translate und scrolle so die map. Das problem ist, dass das ganze trotz des einmaligen ladens bzw erzeugens sowohl der shapes als auch der texture das ganze sehr stark ruckelt. Ich hab mich durch viele foren gelesen. Vorschläge mit backbuffer oder volatile image etc. brachten gingen auch nicht. Außerdem habe ich mit g2.clip den renderBereich eingeschränkt und in repaint nur den relevanten Bereich zum neuzeichnen angegeben. Ebenso die g2.clearRect Methode. Daher meine Frage ist dieses Texture Paint so "teuer" für die laufzeitumgebung, dass es einfach so ruckelt oder an was liegt das? Ich kann natürlich sehr große TileMaps anzeigen ohne Texture Paint mit der klassischen Methode und render bereich einschränken auch isometrisch. Mich hätte das nur interessiert wie man dieses Texture Paint verstehen soll. Java hat ja in der Standard library sooooo viele sehr nützliche Klassen, es gibt nur zu wenig beispiele für eher unbekannte Klassen.