![]() |
Re: Suche Schnelle Alternative zu "CopyRect"
Zitat:
Bei BItBlt ist das genau umgekehrt die API hat mit deiner Grafikkarte(Hardware) nix zu tun Deshalb geht das voll auf die CPU das einzigste was mit BitBlt gleich kommt ist GDI GdipDrawImageRectRectI Schau dir das Beispiel Blub von turboPascal an gruss Emil |
Re: Suche Schnelle Alternative zu "CopyRect"
Wie gross sind denn die Bitmaps die du kopieren möchtest und wie wird das Endergebnis auf dem Bildschirm
angezeigt ? |
Re: Suche Schnelle Alternative zu "CopyRect"
die einzelbildchen werden ja aus großen rausgeschnitten und sind immer 8x12
das endergebniss wird dann wie bereits geschrieben mittels canvas.draw ausgegeben. |
Re: Suche Schnelle Alternative zu "CopyRect"
Ist das Pixelformat bei allen beteiligten Bitmaps "pfDevice", das heist gleich dem Ausgabegerät?
|
Re: Suche Schnelle Alternative zu "CopyRect"
Nope ich hatte pf24bit.
Allerdings habe ich das Grad getestet, und mit pfDevice bekomme ich 2 - 3 FPS weniger als mit pf24bit. Keine Ahnung why, evtl mus der ja bei pf24bit wegen der nur 3 byte tatsächlich weniger kopieren, meine Screen Auflösung ist schlieslich 32 Bit = 4 Byte. |
Re: Suche Schnelle Alternative zu "CopyRect"
8x12 ist etwas krumm, schau doch mal ob 8x8 oder 8x16 bessere Ergebnisse im Speed bringen. Ausserdem kann es Speedvorteile bringen wenn aus einem zusammenhängenden Block gelesen werden kann (durchs Caching), schau doch mal ob Du die Reihenfolge der einzelnen Kopiervorgänge sortieren kannst bevor die durchgeführt werden.
|
Re: Suche Schnelle Alternative zu "CopyRect"
Uff, sortieren ist halt auch "Teuer"
Witzigerweise konnte ich das Double Buffering ausmachen, und das hat mir auch noch mal 1-2 FPS gebracht, ohne das es Flackert ;) und 8x12 ist es halt wegen der Font .. ( letzendes sind das ja Ascii Font teile die ich Kopiere ... ) |
Re: Suche Schnelle Alternative zu "CopyRect"
Müssen es denn eigentlich 24bit bzw 16,7 mio farben sein? oder würden auch 15bit bzw 32767 farben reichen? denn wenn du alles auf pf15bit umstellst dürften nämlich die fps um ca 50% steigen.
|
Re: Suche Schnelle Alternative zu "CopyRect"
in dem Programm selbst nutze ich nur 10 Verschiedene Farbwerte.
D.h. theoretisch würden sibat 4Bit reichen, Nur weis ich nicht in wie weit man das reinprogrammieren kann. Momentan habe ich ein Arrey 0..9 das die RGB werte in Byte größe beinhaltet, deswegen eben 24bit...
Delphi-Quellcode:
Type Tvector3ub = Record x, y, z: Byte; End; Const Colors: Array[0..9] Of Tvector3ub = ( (x: 18; y: 29; z: 13), (x: 26; y: 43; z: 18), (x: 34; y: 57; z: 23), (x: 42; y: 71; z: 28), (x: 50; y: 85; z: 33), (x: 50; y: 87; z: 36), (x: 75; y: 129; z: 52), (x: 100; y: 171; z: 68), (x: 125; y: 213; z: 84), (x: 150; y: 255; z: 100)); |
Re: Suche Schnelle Alternative zu "CopyRect"
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 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 by Thomas Breitkreuz