Graphics Environment Manager: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.1
Riga 79:
Il '''VDI''' era il cuore del sistema grafico di tutto il motore GEM: era responsabile per il disegno a "basso livello", vale a dire nella forma di semplici comandi "disegna una linea da qui a qui". Il VDI includeva un insieme di istruzioni per il disegno vettoriale indipendente dalla risoluzione dalle coordinate che erano chiamate dalle applicazioni attraverso una interfaccia estremamente semplice. Il '''TVDI''' offriva inoltre informazioni sull'ambiente (stato o contesto), sul colore corrente, sull'ampiezza di una linea, sul dispositivo di output, ecc...
 
Questi comandi erano esaminati dal '''GDOS''', il cui compito era quello di inviare i comandi al driver appropriato per il rendering richiesto: ad esempio, se un particolare ambiente GEM VDI era connesso allo schermo, le istruzioni VDI erano allora girate al driver dello schermo per l'esecuzione del disegno. Per stampare si poteva semplicemente (in teoria) cambiare l'ambiente puntandolo alla stampatestampante, riducendo drasticamente il lavoro dello sviluppatore (anche se poi la stampa doveva essere fatta "a mano" in ogni applicazione). Il GDOS era anche il responsabile del caricamento dei driver e di ogni carattere richiesto quando il GEM si avviava.
 
Uno dei maggiori vantaggi che il VDI offriva rispetto al Macintosh era il modo in cui i dispositivi multipli ed i contesti venivano gestiti. Nel Mac tali informazioni erano salvate nella memoria all'interno dell'applicazione: questo generava seri problemi quando si cercava di far gestire al Mac il [[Pre-rilascio#Preemptive_multitasking|multitasking con prerilascio]] dato che il livello che gestisce il disegno ([[QuickDraw]]) necessitava di avere accesso diretto alla memoria in tutti i programmi. Nel GEM VDI, invece, tali informazioni erano salvate nel dispositivo stesso, con il GDOS che creava dei "dispositivi virtuali" per ogni contesto, ovvero per ogni finestra. Questo vantaggio rimase comunque molto teorico dato che le versioni multitasking del GEM non furono mai ufficialmente pubblicate.