![]() |
schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
hi,
zur Zeit Zeichne ich meine Bitmaps sind ca. 100-200 auf ein Canvas mit canvas.Draw(x,y,bitamp) Nur wenn ich 100 Bitmaps zeichnen muss, ist die cpu bei 100%. Bin also auf der suche nach einer Methode die etwas schneller ist. Die Bitmaps können verschoben werden und sind in einer liste vorhanden die ich mit einer for schleife durchgehe. Hatte damals schon mal mit opengl gearbeitet. Müste mich aber wieder komplett einarbeiten...... Was meint ihr? |
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
Von der Performance ist OpenGL oder DirectX auf jeden Fall besser.
|
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
Du kannst mal schauen, ob
![]() |
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
Zitat:
|
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
Zitat:
|
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
Zitat:
|
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
dann habe ich was falsch gemacht....
|
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
Also wenn Du auf GDI umstellst müsstest du um einiges schneller werden. Der beste Weg IMHO. Zuerst einen CreateCompatibleDC einen Memory-DC holen , dann mit BitBlt alles in den Memory-DC blitten und den zum Abschluß einmalig auf den Canvas, das sollte mehr als den Faktor 20 bringen!
|
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
habe es jetzt geändert. Soweit so gut, bei 100 Objekten ist die cpu bei 70-75%
Das ist mir leider noch zu viel. Da werde ich wohl oder übel auf opengl umsteigen..... |
Re: schnelle Zeichen Routinen. Zur Zeit Canvas.Draw
Ich habe eine Anwendung entwickelt welche mit BitBlt und z.T. auch Draw über tausend Objekte auf dem Form Canvas malt und habe gar keine Probleme und vor allem keine CPU Last. Ich nutze dabei aber
![]() ![]() ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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