GNU/Linux >> Znalost Linux >  >> Linux

Co Libgl_always_indirect=1 ve skutečnosti dělá?

KDE SC 4.5.0 má nějaké problémy s některými grafickými kartami, včetně té mé. Po vydání Arch doporučil několik řešení. Jedním z nich byl

exportovat „LIBGL_ALWAYS_INDIRECT=1“ před spuštěním KDE

Rozhodl jsem se, že je to nejjednodušší a nejlepší metoda. Ale nevím, co to dělá nebo jak to ovlivňuje můj systém. Je pomalejší než výchozí? mám si pamatovat, že mám problém sledovat a deaktivovat jej později, až bude opraven?

Přijatá odpověď:

Nepřímé vykreslování znamená, že k přenosu příkazů OpenGL bude použit protokol GLX a X.org provede skutečné kreslení.

Přímé vykreslování znamená, že aplikace může přistupovat k hardwaru přímo bez předchozí komunikace s X.org přes mesa.

Přímé vykreslování je rychlejší, protože nevyžaduje změnu kontextu do procesu X.org.

Vysvětlení: V obou případech vykreslování provádí GPU (nebo technicky – může být provedeno GPU). Při nepřímém vykreslování však proces vypadá takto:

  1. Program volá příkaz(y)
  2. Příkazy jsou odesílány do X.org protokolem GLX
  3. X.org volá hardware (tj. GPU), aby kreslil

V přímém vykreslování

  1. Program volá příkaz(y)
  2. Příkazy jsou odesílány do GPU

Vezměte prosím na vědomí, že protože OpenGL bylo navrženo tak, že může fungovat přes síť, nepřímé vykreslování je rychlejší, než by byla naivní implementace architektury, tj. umožňuje posílat spoustu příkazů najednou. Existuje však určitá režie, pokud jde o čas CPU strávený přepínáním kontextu a zpracováním protokolu.


Linux
  1. Co dělá „lc_all=c“?

  2. Co dělá Echo $? Dělat??

  3. Co dělá . ~/.bashrc Příkaz Udělat??

  1. Co dělá Bamfdaemon?

  2. Co vrátí malloc(0)?

  3. Co znamená 'cd -'?

  1. Co je výstupem pwd?

  2. Co dělá zabít -- -0?

  3. Co dělá CAP_NET_RAW?