AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi 24/32-Bit - Was ist der Unterschied zu 16Bit?
Thema durchsuchen
Ansicht
Themen-Optionen

24/32-Bit - Was ist der Unterschied zu 16Bit?

Ein Thema von Pseudemys Nelsoni · begonnen am 20. Mär 2005 · letzter Beitrag vom 20. Mär 2005
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

24/32-Bit - Was ist der Unterschied zu 16Bit?

  Alt 20. Mär 2005, 06:45
Moin,

es sind ja praktisch 16,7~ Millionen Farben möglich (256*256*256)...

Wie sieht das denn eigentlich mit 24 bzw 32 Bit aus? Es kann doch eigentlich gar nicht mehr Farben geben oder?


NACHTRAG: Könnten Helligkeit/Kontrast eine Rolle spielen?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#2

Re: 24/32-Bit - Was ist der Unterschied zu 16Bit?

  Alt 20. Mär 2005, 07:03
Hi,

also, soweit ich weiß, sind 24/32-Bit das selbe, nur werden eigentlich noch 8 Bit Header gespeichert, die man beim Zählen entweder weglässt (24 Bit) oder wenn man's genau nimmt dazuzählt (32 Bit).

Alle Angaben wie immer ohne Gewähr

cu
  Mit Zitat antworten Zitat
Harald

Registriert seit: 23. Dez 2003
Ort: Steinigtwolmsdorf
39 Beiträge
 
Delphi 2009 Professional
 
#3

Re: 24/32-Bit - Was ist der Unterschied zu 16Bit?

  Alt 20. Mär 2005, 07:29
Schau mal hier:

www.filmscanner.de

Da ist das ganz gut erklärt!

Gruß
Harald
Wissen ist das einzige Gut, welches sich vermehrt, wenn es geteilt wird ...
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: 24/32-Bit - Was ist der Unterschied zu 16Bit?

  Alt 20. Mär 2005, 07:34
Moin Pseudemys Nelsoni,

32-Bit-Farben sind normalerweise 24-Bit-Farben, bei denen 8 Bit fuer den Alpha-Kanal gespeichert werden. Sieh dir einfach die XP-Icons an, Das sind auch 32-Bit-Icons. Das Problem mit dem schwarzen Rand um Bilder in ImageLists, das hier immer wieder welche haben, kommt einfach daher, dass die Icons 32-Bit sind, die ImageList aber nur mit 24-Bit arbeitet, und der Alpha-Kanal dann eben fuer den unschoenen Rand sorgt.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: 24/32-Bit - Was ist der Unterschied zu 16Bit?

  Alt 20. Mär 2005, 07:56
Danke auch allen

@Harald: guck ich mir gleich an.

@alcaeus: danke

btw: Die imagelist unterstützt 32bit icons, SOFERN man das XP Manifest auf der Form hat. Ohne selbige sind dort schwarze Ränder.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#6

Re: 24/32-Bit - Was ist der Unterschied zu 16Bit?

  Alt 20. Mär 2005, 07:59
Also bei Grafikkarten ist der Unterschied zwischen 24 und 32 bit NICHT vorhanden. Man nimmt halt 32bit weil es einfacher zu adressieren ist, und damit schneller ist. Hat was mit der Registerbreite zu tun, es gibt Register mit 8, 16, und 32bit, aber keine mit 24bit. Also hat man bei Grafikkarten 32bit 'Fartiefe' eingeführt, bei denen aber nur 24bit genutzt werden, 8bit sind einfach unbenutzt.

Oder wie alcaeus schon richtig gesagt hat werden bei Dateiformaten die 'ungenutzten' 8 bit als Alpha-Kanal verwendet.

rantanplan
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: 24/32-Bit - Was ist der Unterschied zu 16Bit?

  Alt 20. Mär 2005, 12:50
Moin!

Nicht wegen der Registerbreite sondern eher mit der Breite des Datenbusses. Da dieser 32 Bit gross ist und wenn dann noch die Daten an einer durch 4 teilbaren Adresse liegen, dann kann die CPU alle 4 Byte komplett mit einem Lesezyklus lesen. Wenn du nun aber einen 24 Bit Bild hast, dann liest die CPU (abhängig vom Modell) entweder einmalig 32 Bit und schmeisst ein Byte weg, oder er liest ein Word und danach nochmal ein Byte. Dieses sind dann schon 2 Lesezyklen. Die heutigen Prozessoren würden da die erste Methode nutzen. Nun aber zu dem Problem dahinter: Wenn du nun Anfang der Zeile mit Pixelwerten a 24 Bit stehst und diese Adresse ist aligned auf eine gerade 32 Bit Adresse (die die CPU perfekt in einem Zyklus lesen kann) liegt und jetzt den 2. Pixel lesen willst, dann ist Stress angesagt:

1. Pixel: gerade Adresse (32 Bit aligned) (Offset 0000)
2. Pixel: ungerade Adresse (Offset 0003)
3. Pixel: gerade Adresse (aber nicht 32 Bit aligned) (Offset 0006)
4. Pixel: ungerade Adresse (Offset 0009)
5. Pixel: gerade Adresse (32 Bit aligned) (Offset 0012)

Daher. Bei dem 2. und 4. Pixel muss der Prozessor noch 2 extra Lesezyklen einschieben um den Wert aus dem RAM zu lesen, beim 3. einen extra (2x 1 Word lesen) und nur den 1. und 5. Pixel kann er in einem Rutsch auslesen.

Bei den älteren Prozessoren waren Daten die nicht an eine gerade 32 Bit Adresse angepasst waren fast schon Performance-tödlich. Heutzutage sorgen Data Prefetch und Cache Management dafür, das der Cache die Daten sich schon vorher besorgt - aber trotzdem sind es Geschwindigkeitseinbussen.

Zu dem 4. Byte bei 32 Bit: Die normalen WinAPI Funktionen ist das 4. Byte egal. Die AlphaBlend() Funktion hingegen arbeitet schon damit und nutzt es als Alphachannel für die Pixel. DirectX wiederrum nutzt das 4. Byte auch - z.T: auch anders und nicht als Alphachannel... Hauptvorteil von 32 Bit: an gerade 32 Bit Adresse angelegte Daten. Selbst Windows sorgt dafür, das der erste Pixel
pro Zeile an einer 32 Bit gerade Adresse liegt bei den 32 Bit Bitmaps...

MfG
Muetze1
  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 11:36 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