Ich habe einen Off-Screen BufferedImage
, die zu groß, um auf einmal angezeigt werden. Also verwende ich getSubimage
, um einen Teil des gesamten Bildes zu zeichnen. Ich frage mich, ob die Verwendung setClip
auf der Graphics
würde weniger Ressourcen verwenden. Die Dokumentation sagt, dass "Rendering-Operationen außerhalb des Clipping-Bereichs keine Wirkung haben". Welchen Unterschied würde es geben, wenn ich einen Clip verwende, der keinen Clip verwendet?Java: Würde setClip in Graphics effizienter sein?
Antwort
Wenn Sie einen Clip auf ein Graphics
Objekt gesetzt – beispielsweise ein Rectangle(0, 0, 100, 100)
– und dann mit dem gleichen Graphics
Objekt – beispielsweise ein Bild zeichnet ein Bild bemessen 300x300 – den Teil des Bildes, die außerhalb des liegt Clip wird weggelassen. Nur die obere linke 100x100 Ecke des Beispiels würde gezeichnet werden.
Der Hauptvorteil ist, dass es beschleunigt den Zeichenprozess viel. Ich bin nicht ganz sicher über wie es macht es aber schneller; In der Tat habe ich das gerade untersucht.
In jedem Fall habe ich festgestellt, dass dies sehr praktisch bei der Gestaltung von Vollbild-Spiele ist. Je effizienter Sie Ihre Clips erstellen, die auf den Bildschirm gezogen werden, desto flüssiger läuft Ihr Spiel. Wenn die Bildschirmkomponenten für eine Weile nicht aktualisiert werden, bleibt der Clip leer und zeichnet keine Ressourcen für die Spiellogik auf.
- 1. Java Graphics Nullpointer
- 2. Wie würde ich so etwas in Core Graphics zeichnen
- 3. Innenausschnitt mit Java Graphics
- 4. Java Graphics Mehrere Klassen
- 5. Könnte das in Go effizienter sein?
- 6. Java Graphics deaktivieren XOR-Modus
- 7. Java Glitchy Collision Detection mit ACM Graphics
- 8. Ausrichten von Text mit Java Graphics 2d
- 9. Java Graphics kann Schriftart nicht ändern
- 10. Unit Test Graphics
- 11. Aufrufen einer Java-Methode mit dem impliziten Graphics-Parameter, wie repaint() oder Zugriff auf die Graphics in einem JPanel
- 12. Graphics in C# (.NET)
- 13. Graphics Profilieren
- 14. C# graphics creation
- 15. effizienter jquery
- 16. Effizienter C-Pool-Allokator?
- 17. Java-Code, sicher sein
- 18. Parsen XML TO JAVA POJO in effizienter Weise
- 19. Welche IDE sollte ich für Java Graphics verwenden?
- 20. XNA Graphics Device Extension
- 21. Python seaborn graphics
- 22. Java Hardware Acceleration funktioniert nicht mit Intel Integrated Graphics
- 23. C# Graphics Newbie Frage
- 24. Nullpointer auf Graphics setColor()
- 25. Learning Core Graphics
- 26. Warum würde schnelle uiview nicht mit View-Controller verbunden sein?
- 27. Wann würde ich package-private in Java verwenden?
- 28. Effizienter Datenimport PostgreSQL DB
- 29. PyQtGraph Graphics Layout Widget Problem
- 30. was ist effizienter für sftp: Java oder Shell-Skript?
Noch ein Tipp: Ein Area-Objekt kann auch als Clip verwendet werden. Bereiche können hinzugefügt, subtrahiert, geschnitten usw. werden. Auf diese Weise können Sie Ihren Clip beliebig gestalten. – Pino
Weiß jemand, ob die Beschleunigung eine Funktion des Bereichs des Clips oder der Fläche seiner Bounding Box ist? (Nachdenken über drawImage (..).) –