![]() |
Nochmal: Pixels vs Scanline
Hallo,
Ich müsste sehr viele Bilddateien Pixel für Pixel vergleichen. In bisherigen Beiträgen wird ja hierfür immer scanline empfohlen, da schneller. Bei mir ist es aber so, dass die Dateien (Bitmap) sehr klein sind (maximal 200*200 Pixel) und auch nur s/w. Letztlich handelt es sich nicht um Bilder sondern um Informationen, die in Bitmaps verpackt sind. Bevor ich mich an die Umsetzung mache: würdet Ihr auch hier scanline empfehlen oder eher Pixels? Danke und Gruß, Stephan. |
Re: Nochmal: Pixels vs Scanline
Versuch es doch selber aus, wenn du den Antworten nicht traust
|
Re: Nochmal: Pixels vs Scanline
Es ist nicht so dass ich den Antworten nicht trauen würde, ich habe in den Beiträgen aber auch gelesen, dass die Vorteile von scanline bei Bildern mit hoher Farbtiefe liegen. Daher meine Frage.
|
Re: Nochmal: Pixels vs Scanline
Scanline greift direkt auf den Speicher zu Pixels[] nur mittelbar
|
Re: Nochmal: Pixels vs Scanline
Die Vorteile sind universell. Genau genommen sollte es in deinem Fall dann noch besser sein, da pro Zugriff auf Pixels weniger Informationen abgerufen werden, und der langsame Teil an Pixels ist nicht der Abgriff dieser selbst, sondern die Art und Weise des Zugriffs. Da du also quasi bei s/w mehr Zugriffe pro Byte hast als bei 24bpp Bitmaps, sollte der Geschwindigkeitsvorteil noch größer sein. Und selbst wenn nicht: Wir reden hier über Größenordnungen, bei denen es fast schon egal ist was man tut - Scanline ist immer beachtlich schneller.
Und, naja, wie mkinzler schon angedeutet hat: Probieren > Studieren. Probier's einfach aus, dann bist du ohnehin auf der sicheren Seite. |
Re: Nochmal: Pixels vs Scanline
Pixels ist bei allen Farbtiefen langsamer, speziell bei Farbtiefen, welche vom aRGB-Format abweichen, muß ja auch noch umgerechnet werden, um auf einen TColor-Wert zu kommen.
Es hängt jetzt also davon ab, wie groß der Zeitunterschied ist und ob eine Optimierung via ScanLine erhebliche Vorteile mit sich bringt. Bei ScanLine muß man immerhin das interne BildFormat kennen/beachten. Heißt also: Ist dir der Zugriff via .Pixels zu langsam, dann verwende ScanLine. Reicht dir die Geschwindigkeit von .Pixels aus, dann nutze eben dieses. Bei Bildern von 200x200 und pf1Bit kann man z.B. via ScanLine und CompareMemory die etwa 5.000 Byte sehr schnell direkt vergleichen. 200 X-Pixel / 8 Bit = 25 Byte (25 Byte + "eventuelle Zeilenspeichausrichtung") * 200 Y-Pixel = 5000 Byte |
Re: Nochmal: Pixels vs Scanline
Alles klar. Besten Dank für die Infos!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 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