Hlavní navigace

GNOME bude mít ostřejší wallpapery (v některých případech)

Sdílet

David Ježek 22. 1. 2020
Gnome

Daniel Van Vugt z Canonicalu představil drobnou úpravu v přístupu GNOME k vykreslování wallpaperů, která v některých situacích vede k tomu, že pozadí není tolik rozmazáno.

GNOME totiž k vykreslování wallpaperů používá techniky z OpenGL určené spíše pro pohyblivý obraz ( GL_TEXTURE_MIN_FILTER = GL_LINEAR_MIPMAP_LINEAR, a tak u wallpaperů může uživatel pozorovat nižší ostrost. Týká se to případů, kdy je wallpaper větší než rozlišení pracovní plochy.

Například pokud je rozlišení fotky 4000×3000 a rozlišení monitoru 1920×1080, mipmapy uložené v GPU jsou v 4000×3000, 2000×1500 a 1000×750, přičemž výsledný wallplaper namapovaný na 1920×1080 vznikne jako průměr dvou menších mipmap. Nový přístup by k tomu použil pouze mipmapu s rozlišením 2000×1500, kterou přeškáluje na 1920×1080, což logicky vedek lepšímu výsledku. Sluší se ale nejspíš dodat, že nikoli k nejlepšímu možnému, nicméně pokrok v kvalitě je viditelný (viz ukázka ve zdroji).

Našli jste v článku chybu?
  • Aktualita je stará, nové názory již nelze přidávat.
  • 22. 1. 2020 10:08

    MeeGo - no future

    Paráda, těch pár sekund, co koukám na wallpapery (většinou těsně po boot OS), si teď o to víc užiji :-)

  • 23. 1. 2020 16:01

    Heron

    Například pokud je rozlišení fotky 4000×3000 a rozlišení monitoru 1920×1080, mipmapy uložené v GPU jsou v 4000×3000, 2000×1500 a 1000×750, přičemž výsledný wallplaper namapovaný na 1920×1080 vznikne jako průměr dvou menších mipmap.

    Ehm? Je nějaký pádný důvod to dělat takto komplikovaně?

    Přece stačí ten obrázek přeškálovat jednou. Pokud si uživatel nastavuje wallpaper, tak původní obrázek stačí přeškálovat z originálního rozlišení nějakým vhodným způsobem (který může být rozhodně sofistikovanější, než linear) a je to. Proč to strkají do mipmapy? Nebo GNOME ten wallpaper zobrazuje ještě někde jinde nějak komplikovaně a statický obrázek o správném rozlišení nestačí?

  • 24. 1. 2020 7:08

    vogo

    Definuj správné rozlišení. Když budeš připojovat a odpojovat monitory o různých rozlišeních, tak se bude pokaždé škálovat do další správné velikosti? Na tabletu se předgenerují bitmapy pro orientaci svisle a naležato? Zbytečně komplikované...

  • 24. 1. 2020 12:09

    MSBOSS

    Ne, to je právě logický řešení. Teda podle mě, ale já nejsem programátor.
    Objeví se nový monitor nebo se změní jeho parametry - přepočítám texturu na správné rozlišení, orientaci a barevný prostor. Odpojí se monitor? Texturu zahodím. Případně by snad neměl být problém mít na disku cache posledních pár použitých verzí pozadí, aby se to nemuselo pokaždé počítat.
    Bohužel o OpenGL vím velké prd, ale čekal bych, že jeden sprite (který pak ani není potřeba už nijak škálovat) zabere míň místa i výpočetního výkonu než textura, ze které se nejprve udělá sada mipmap a potom ještě z těch mipmap se spočítá obrázek.