Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
scherm? Wat ik mij dus afvraag is hoe het vertalen van een bepaalde code naar pixels op het scherm nou precies gaat?
Stel je voor dat je een scherm hebt met 1 tekst box erop. In die tekst box staat de tekst 560. En nu verander jij de waarde hiervan in 580. Welk gedeelte in de code zorgt er dan voor dat die 580 dan ook werkelijk gelijk verschijnt op je scherm?

Ik bedoel je processor berekend aan de hand van de input van het keyboard wat er in de tekst box moet staan dat begrijp ik uiteraard. Maar dat die "bit code" die de resultaten weergeeft op het beeldscherm dan zo razendsnel aangepast wordt is toch wel verbazingwekkend.

Ik stel mij dan een soort bitmap voor ( bijvoorbeeld van een scherm van 1024 * 864 pixels) waarvan elke pixel gerepresenteerd wordt door een byte. Maar welke code veranderd deze bitmap dan zo razendsnel zodat telkens het actuele resultaat weergegeven wordt? Dat moet een soort interface zijn die bepaalde code of een waarde van een een variabele razendsnel kan omzetten naar een bitmap die getoond kan worden op een beeldscherm neem ik aan?

Ik weet dat dit een vrij basale vraag is op het gebied van "graphics" ( Een hoog Noob gehalte ) maar kan iemand hierover misschien wat meer duidelijkheid verschaffen? Door zo even te googelen kon ik ook niet zo even wat samenhangende informatie vinden vandaar vraag ik het dus hier even. :)

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Stel je voor dat je een scherm hebt met 1 tekst box erop. In die tekst box staat de tekst 560. En nu verander jij de waarde hiervan in 580. Welk gedeelte in de code zorgt er dan voor dat die 580 dan ook werkelijk gelijk verschijnt op je scherm?
Dat ligt aan de architectuur van je applicatie?

Ik vermoed dat het antwoord op je (voor mij onduidelijke) vraag de browser is: die rendert de HTML code naar pixels :).

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 10:26
Dat zijn een hele hoop verschillende onderdelen, waar onder de videodrivers en Windows HAL.

Acties:
  • 0 Henk 'm!

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 01-10 08:34

sopsop

[v] [;,,;] [v]

Je operation system is onderverdeeld in lagen, waarbij iedere laag een eigen functie heeft. Bijvoorbeeld:
Wikipedia: Architecture of Windows NT

In bovenstaand voorbeeld zit de GDI, een interface die de grafische afhandeling verzorgd, onafhankelijk van de grafische kaart en monitor. Hier een beschrijving van de GDI: Wikipedia: Graphics Device Interface

De GDI stuurt zijn output door naar de grafische kaart, die deze gegevens weer omtovert in gegevens voor de monitor. Zoals in het artikel ook aangegeven, zou het outputdevice ook een printer kunnen zijn.

Het GDI zit flink verankert in het OS, bij games worden ook vaak andere grafische interfaces gebruikt zoals DirectX of OpenGL, deze zijn wat meer op zichzelf staand, maar de werking is vergelijkbaar.

[ Voor 12% gewijzigd door sopsop op 04-12-2010 18:01 ]


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
frickY schreef op zaterdag 04 december 2010 @ 17:56:
Dat zijn een hele hoop verschillende onderdelen, waar onder de videodrivers en Windows HAL.
Oke dit verschaft zeker enige duidelijkheid, maar heb je bij het schrijven van code in Assembly te maken met het schrijven van code die de pixels op het scherm moet weergeven? Of zal je je nooit op een dergelijk laag niveau begeven en wordt dit gewoon automatisch afgehandeld door het besturings systeem?

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Ik ken bijna niemand meer die nog assembly schrijft op een reguliere computer. En nee je besturingssysteem kan de grafische schil aanleveren.

Als ontwikkelaar in bijvoorbeeld java (maar ook .net , C, whatever) zijn er zogenaamde libraries die dat soort taken voor je afhandelen.

Kort door de bocht:Je kunt gewoon zeggen: ik wil graag een scherm getekend hebben van breedte x en hoogte y.


Zie bijvoorbeeld eens een heel basaal stukje HTML code op w3schools.com . Daar geef je ook niet aan hoe pixels gekleurd worden, maar kun je gewoon de tekst aanleveren (je moet het wel binnen de regels van de HTML 'taal' doen) en de browser print dat dan op het scherm.

[ Voor 28% gewijzigd door Boudewijn op 04-12-2010 18:14 ]

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • fsfikke
  • Registratie: Maart 2003
  • Niet online

fsfikke

* * * *

MasterTweaker schreef op zaterdag 04 december 2010 @ 18:10:
[...]

Oke dit verschaft zeker enige duidelijkheid, maar heb je bij het schrijven van code in Assembly te maken met het schrijven van code die de pixels op het scherm moet weergeven? Of zal je je nooit op een dergelijk laag niveau begeven en wordt dit gewoon automatisch afgehandeld door het besturings systeem?
Als jij in assembly een chipje programmeert zal daar geen Windows op draaien denk ik.
Als je zonder verdere logica direct een VGA output wilt genereren zul je een kloksignaal moeten hebben en code schrijven voor tellers die het beeld pixel voor pixel aflopen en op de goede punten sync signalen genereren. Die teller loopt dus alle pixels een voor een af en op dat moment stuur jij drie 10-bits signalen voor R, G & B naar de VGA poort voor die specifieke pixel. Dan heb je beeld.

Zijn spaties in de aanbieding ofzo? www.spatiegebruik.nl


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
Boudewijn schreef op zaterdag 04 december 2010 @ 18:13:
Ik ken bijna niemand meer die nog assembly schrijft op een reguliere computer. En nee je besturingssysteem kan de grafische schil aanleveren.

Als ontwikkelaar in bijvoorbeeld java (maar ook .net , C, whatever) zijn er zogenaamde libraries die dat soort taken voor je afhandelen.

Kort door de bocht:Je kunt gewoon zeggen: ik wil graag een scherm getekend hebben van breedte x en hoogte y.


Zie bijvoorbeeld eens een heel basaal stukje HTML code op w3schools.com . Daar geef je ook niet aan hoe pixels gekleurd worden, maar kun je gewoon de tekst aanleveren (je moet het wel binnen de regels van de HTML 'taal' doen) en de browser print dat dan op het scherm.
Oké dat moeten dus behoorlijk wat "lagen" zijn waarbij elke laag weer een abstractie is van de onderliggende laag. Maar neemt het "presenteren" van de data in het geheugen naar je beeldscherm tegenwoordig niet de meeste processor capaciteit in beslag?

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Neen, die lagen zijn redelijk efficient. Doordat ik me niet hoef te focussen op hoe de onderliggende lagen het werk doen kan ik me concentreren op de 'echt interessante' zaken :).

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Om je vraag te beantwoorden; bij de meeste architecturen is dit een combinatie van een expose event, en een event dat jij triggert omdat je de aanpassing doet in het object model.

Steun Elkaar, Kopieer Nederlands Waar!

Pagina: 1