2016-04-13 6 views
1

In Swing, wenn ich die DrawImage-Methode Graphics2D verwenden würde, um ein Bild an Koordinaten zu zeichnen, so dass es überhaupt nicht im sichtbaren Panel zB 100 von 100 Panel gesehen würde, Zeichnen eines 100 mal 100 Bildes bei -200, -200, Würde dies die Renderzeit genauso beeinflussen, als ob sie innerhalb des Bereichs des Panels wäre und dieses auf den Bildschirm gemalt würde?Zeichnen vollständig aus dem Bereich eines JPanel

Oder wäre es besser, eine Fülle von Aussagen zu haben, um zu überprüfen, ob etwas innerhalb der Reichweite des Panels liegt und wenn nicht, nicht zeichnen?

Dies ist für ein Spiel mit vielen Bildern, die sich um die Panel-Koordinaten bewegen und einige können den Bereich des Panels verlassen.

Prost

Antwort

1

Der Graphics Kontext gibt an, dass „Alle Wiedergabeoperationen nur Pixel zu modifizieren, die innerhalb des Bereichs liegen, der durch den aktuellen Clip-begrenzt“, so dass keine zusätzlichen Überprüfungen sind in der Regel erforderlich. Weitere Details finden Sie unter Painting in AWT and Swing.

Ein konkretes Beispiel: MapPanel fährt damit fort, Fahrzeuge zu rendern, die sich während der Simulation vom Netz entfernt haben. Klicken Sie auf die Schaltfläche eines verirrten Taxis, und setzen Sie die Schaltfläche zurück, um sie wieder anzuzeigen.