hur många bytes är en pixel?

Permalänk
Medlem

hur många bytes är en pixel?

hur många bytes är en pixel på?

hittade en gammal tenta från KTH på google där en uppgift är en uträkning på hur mycket data grafikkortet måste bearbeta vid uppspelning av en 1½h Full-HD film, det blev 810gb. Där har dom räknat en pixel som 3 bytes. hur kommer man fram till det?

om det stämmer, hur fungerar det då vid spelande? är en pixel fortfarande 3 bytes även om jag spelar med en upplösning på 1920*1080 med låga inställningar eller med höga. i min ögon borde ju pixeln inehålla mer data vid högre inställningar,

vad jag är ute efter att ta reda på är hur många bytes en bild är på när man spelar, för att få fram hur mkt data ett grafikkort måste bearbeta per sekund vid spel.

Det här är till mig projektarbete i gymnasiet!

//Magnus

http://www.speech.kth.se/courses/2D1574/extentor/Tenta2_HT03_...

Uppgift 6 är den jag skriver om.

Visa signatur

*Intel C2D E8400 @ 3Ghz* *Orginalkylning* *Gigabyte GA-EP35-DS4* *corsair xms2 2x2gb PC2-6400 800MHz 5-5-5-18* *Gigabyte Radeon HD4850* *seagate Barracuda 7200.10 400gb* *Antec Sonata+ 550*

Permalänk
Medlem

Beror på hur många färger man kör + en massa annat krångligt.

En 32 bitars bmp fil har 32 bitar data per pixel. En byte består av 8 bitar. Räkna själv.

Sedan måste ju grafikkortet bearbeta mycket mer än så. Bilden är ju resultatet av vad grafikkortet och cpu har bearbetat.

Visa signatur

åhoj

Permalänk
Medlem

3 bytes eju 24 bitz ä tru colore eller 4byte/32bits med alpakanal. tror man nog får r'kna på 4 bytes för det mesta men det är självå rå-bilden helt okomprimerad typ tiff bmp raw kit edition. tycker det är kanska ointressant att veta i sitt egenvärde är det för att räkna ut effek e full lillebrortivitet av komprimeringsalgoritmer eller annat tjosan. tid * frames * bits per pixel hejsan hoppsaa jag e full lillebror :_D

Visa signatur

mobo Asus M4A88TD-M EVO/USB3 cpu 1100T kylare Noctua NH-D14
gpu RX 460 passive ram 16GB DDR3 1600MHz ssd Samsung 850 EVO 250GB
psu Corsair AX 850 skärmar 3 * 40" NEC P401

Permalänk
Medlem

Färgdatat för en 24-bitars bild består av en färgskala med 256 steg för varje "huvudfärg"... Och 256 lägen är ju precis vad som ryms i en byte (8bits)

Alltså går det för varje pixel åt en byte för för röd, en för grön och en för blå... 3 bytes per pixel. (vilket täcker in tentaexemplet)

Men i i praktiken i ett grafikkort, så körs ofta 24bitars grafik i 32bitars läge (vilket ju är lättare att adressera för en modern dator), där det då tillkommer en extra byte som kan användas till en alfakanal, dvs information för hur transparent varje pixel ska vara.

Dessutom tillkommer det mer data: i 3d spel behöver man information om vilket "djup" en pixel är, och till det använder man vad som kallas en z-buffer, som i sin tur är på åtminstone 16 bitar. (2 bytes per pixel)
http://en.wikipedia.org/wiki/Z-buffer

Slutligen fungerar vissa grova antialiasalgoritmer så att den i princip renderar i en högre upplösning (vilket kräver mer utrymme) för att sedan "krympa ned" den i det slutgiltiga resultatet... Här har jag dock inte full koll, så ska inte grotta ner i detaljer:
http://en.wikipedia.org/wiki/Anti-aliasing

Detta bör ge en sammanställning på hur mycket som måste "skickas till skärmen" så att säga, men ger inte en helhetsbild för hur mycket grafikminne som behövs på grafikkortet för själva bilden: i praktiken måste du åtminstone dubbla det ovanstående, eftersom grafikort jobbar med double (eller triple) buffering, vilket innebär att den i minnet har en bild som är den som skickas till skärmen, samtidigt som den "skapar" nästa bild på ett annat ställe i minnet.
http://en.wikipedia.org/wiki/Double_buffering (se "Double Buffering in Computer Graphics")

Ovanstående ger inte heller en helhetsbild på hur mycket grafikkortet måste jobba i praktiken: som du är inne på, så kan enstaka pixlar bearbetas och skrivas om ett antal gånger vartefter grafikkortet ritar upp en enstaka frame. Det finns ju till och med multipasstekniker som medvetet är byggda så att den går genom varje pixel flera gånger... Och vid i princip all rendering blir det även oundvikligen så att objekten skriver över varandra lite här och var eftersom sorteringsrutinerna inte är 100%... Jag vågar inte gissa vad det innebär för bandbredden i praktiken.

Och då har vi ju inte ens nämnt själva texturerna än

Visa signatur

A modest man is usually admired, if people ever hear of him.

Permalänk
Medlem

Det svaret tackar jag för det hjälpte mig ordentligt !

Visa signatur

*Intel C2D E8400 @ 3Ghz* *Orginalkylning* *Gigabyte GA-EP35-DS4* *corsair xms2 2x2gb PC2-6400 800MHz 5-5-5-18* *Gigabyte Radeon HD4850* *seagate Barracuda 7200.10 400gb* *Antec Sonata+ 550*