Direct Rendering Manager: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Ldd (discussione | contributi) |
Ldd (discussione | contributi) |
||
Riga 38:
Il DRM utilizza in una modalità ottimizzata il DMA, Il migliore [[throughput]] è permesso dai seguenti fattori:
# Il server X può specificare un insieme di '''diverse dimensioni del buffer''' che desidera allocare ed in seguito bloccare.
# Il client può mappare questi buffers usando un '''indirizzamento virtuale''' (tramite le [[API]] DRM).
# Il client può riservare alcuni di questi buffers all'uso tramite DRM, ad esempio per riempirlo con dei dati e chiedere al DRM di inviare tali dati all'hardware grafico. (Di solito i buffers più piccoli vengono usati per assicurarsi che il server X possa ottenere il blocco durante i trasferimenti consecutivi tra buffer ed il device grafico, in tal modo il server diviene maggiormente reattivo).
# Il DRM gestisce una coda di '''buffer del DMA''' per ogni contesto GLXContext dell'OpenGL, e si accorge quando è necessario uno switch. Quando risulta necessario cambiare contesto, si tenta di usare un driver specifico (in kernel-space), se questo non è disponibile si ritorna al server X che possiede un metodo generico per il GLXContext switching. Infine il DMR si occupa anche di schedulare le richieste ai vari buffer per evitare di eseguire cambi di contesto inutili.
# Il sistema DMA è generico nel senso che un server X può
== Voci correlate ==
|