AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Nochmal: Pixels vs Scanline
Thema durchsuchen
Ansicht
Themen-Optionen

Nochmal: Pixels vs Scanline

Ein Thema von nezumi77 · begonnen am 27. Feb 2010 · letzter Beitrag vom 27. Feb 2010
Antwort Antwort
nezumi77

Registriert seit: 24. Mär 2009
16 Beiträge
 
#1

Nochmal: Pixels vs Scanline

  Alt 27. Feb 2010, 11:53
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Nochmal: Pixels vs Scanline

  Alt 27. Feb 2010, 11:55
Versuch es doch selber aus, wenn du den Antworten nicht traust
Markus Kinzler
  Mit Zitat antworten Zitat
nezumi77

Registriert seit: 24. Mär 2009
16 Beiträge
 
#3

Re: Nochmal: Pixels vs Scanline

  Alt 27. Feb 2010, 12:00
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Nochmal: Pixels vs Scanline

  Alt 27. Feb 2010, 12:04
Scanline greift direkt auf den Speicher zu Pixels[] nur mittelbar
Markus Kinzler
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Nochmal: Pixels vs Scanline

  Alt 27. Feb 2010, 12:06
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.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: Nochmal: Pixels vs Scanline

  Alt 27. Feb 2010, 12:07
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
$2B or not $2B
  Mit Zitat antworten Zitat
nezumi77

Registriert seit: 24. Mär 2009
16 Beiträge
 
#7

Re: Nochmal: Pixels vs Scanline

  Alt 27. Feb 2010, 12:36
Alles klar. Besten Dank für die Infos!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz