Hlavní navigace

Názor ke zprávičce Nadějné emulátory terminálu od Karel - Alacritty při změně obsahu nic nevykresluje, jen si...

  • 25. 1. 2017 11:42

    Karel (neregistrovaný) 93.90.162.---

    Alacritty při změně obsahu nic nevykresluje, jen si nastaví příznak, že se něco změnilo. V přerušení pak reaguje na vsync, koukne, zda je nastaven příznak změny a pokud ano, tak vykreslí novou obrazovku. Takže pokud vám monitor běží na 60 snímcích za sekundu, tak se překreslí obsah obrazovky nejvýše 60x. Další úspora je v tom, že nepřekresluje všechno. A dost ušetří i tím, že si jednotlivé znaky (glyph) udržuje v paměti grafické karty a jen je vkládá do display listu. To už je dost významná úspora oproti "klasickému" přístupu, kdy se znaky vykreslují vždy znova jeden po druhém do framebufferu. Navíc tam můžete mít "zdarma" průhlednost, antialiasing apod. A vlastně to celé funguje pořád stejně bez ohledu na rozlišení. Že má při 4K rozlišení bitmapa znaku 4x více pixelů než na FullHD nemá vliv na rychlost vašeho terminálu. Tedy pokud má vaše grafická karta dostatek výkonu. A na tohle má dostatek snad každá.

    Každopádně Alacritty má ještě jeden trik v rukávu, kromě OpenGL. Má trochu jinak dělaný Parser. Viz http://blog.jwilm.io/announcing-alacritty/