![]() |
PNG schnell zeichnen
hi
ich habe mal wieder ein Problem und ich hoffe ihr könnt mir da weiterhelfen. Welche Möglichkeiten kennt ihr um PNGs (auch transparent) in eigenen Anwendungen zu verwenden? Bisher nutze ich das GDI+ Zeugs von ![]() Oder gibt es noch andere nutzbare Schnittstellen? danke euch crypti |
Re: PNG schnell zeichnen
Wie wärs mit OpenGL oder DirectX?
|
Re: PNG schnell zeichnen
Kannst du mir eventuell sagen wie ich das darüber mache?
|
Re: PNG schnell zeichnen
Es gibt eine Komponente auf
![]() |
Re: PNG schnell zeichnen
Also auf
![]() |
Re: PNG schnell zeichnen
Wieviele Sprites bewegst du denn auf einmal? Die Standard-GDI-Funktion ist
![]() Wenn du noch das letzte bischen Performance herauskitzeln willst, ohne eine der großen Engines verwenden zu wollen, kannst du dir mal die ![]() ![]() |
Re: PNG schnell zeichnen
hi
ich danke euch für eure Antworten. Durch ein paar Tests habe ich herausgefunden, dass wohl nicht das GDI+ Paket selbst, sondern die DoubleBuffered Funktion für mein "Performanceproblem" ist. ICh habe in meiner Anwendung mehrere Objekte (transparent - von TGraphicControl) in welchem über das GDI+ Paket die transparenten PNGs gezeichnet werden. Je nach Benutzeraktion verändern sich diese Buttons (hover o.ä.). Mache ich das DoubleBuffered des Formulars nicht an, dann geht der Bildwechsel extrem schnell, aber es kommt bei einigen großen Bildern zum berühmten Flackern. Kann man diesem Flackern noch irgendwie anders entgegenwirken? danke euch crypti |
Re: PNG schnell zeichnen
Keiner eine Idee... ?
|
Re: PNG schnell zeichnen
wie wärs mit einem offscreenbitmap, in das du alle zeichenoperationen ausführst, und das dann im onpaint-Ereignis auf deine User-Schnittstelle malst?
|
Re: PNG schnell zeichnen
@DGL-luke: nix anderes macht Doublebuffered schon.
|
Re: PNG schnell zeichnen
ja... aber so viel ich weiss, macht die VCL da ein paar unnötige Sachen und es ist schneller das ganze selbst zu implementieren.
Wenn das natürlcih nicht das "VCL-doublebuffered" ist, ist eine eigene Lösung natürlich nicht notwendigerweise schneller. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz