Obsah
Adobe Photoshop: Architektura a technologie
Adobe Photoshop je průmyslový standard pro úpravu rastrové grafiky. Jeho vývoj začal v roce 1987 (bratři Thomas a John Knollovi) a od té doby definuje možnosti digitálního zpracování obrazu. Technologicky jde o jeden z nejsložitějších komerčních softwarů na světě.
1. Jádro a programovací jazyky
Photoshop je postaven na extrémně optimalizovaném kódu, který musí v reálném čase zpracovávat gigabajty obrazových dat.
- Pascal: Původní verze 1.0 byla napsána v Pascalu pro Apple Macintosh.
- Lua: Adobe využívá skriptovací jazyk Lua pro některé části uživatelského rozhraní a logiku pluginů (podobně jako v Lightroomu).
2. Zpracování obrazu a GPU akcelerace
Moderní Photoshop nespoléhá pouze na CPU, ale masivně využívá grafickou kartu prostřednictvím technologií jako:
- OpenGL / DirectX: Pro plynulé přibližování (zoom), otáčení plátna a vykreslování štětců.
- Metal (Apple) / Vulkan: Moderní rozhraní pro maximální výkon na nejnovějším hardwaru.
- Adobe Mercury Graphics Engine: Vlastní engine, který zajišťuje, že úpravy (jako zkapalnění nebo rozostření) vidí uživatel okamžitě.
3. Photoshop ve webovém prohlížeči (Revoluce WebAssembly)
Jedním z největších technologických úspěchů Adobe je portování Photoshopu do webového prohlížeče (verze představená v roce 2021).
Jak je to možné?
Adobe nemohlo přepsat miliony řádků C++ kódu do JavaScriptu. Místo toho využili:
1. **[[WebAssembly]] (Wasm):** Zkompilovali existující C++ kód Photoshopu do binárního formátu, který běží v prohlížeči téměř nativní rychlostí. 2. **Emscripten:** Toolchain, který umožnil přenést dekády vývoje algoritmů pro práci s vrstvami a výběry na web. 3. **Web Workers:** Pro paralelizaci výpočtů, aby UI zůstalo plynulé i při náročných operacích.
4. Umělá inteligence: Adobe Sensei a Firefly
V posledních letech se těžiště inovací přesunulo k Generativní AI:
- Generativní výplň (Generative Fill): Využívá modely hlubokého učení (Deep Learning) k doplňování obrazu.
- Neural Filters: Filtry, které dokáží změnit výraz tváře, omladit osobu nebo kolorovat černobílou fotku během vteřin. Tyto funkce často běží na specializovaných AI jádrech (Tensor cores) v moderních GPU.
5. Souborový formát PSD/PSB
Formát PSD (Photoshop Document) je de facto standardem, ale technicky je velmi komplexní:
- Podporuje tisíce vrstev, masky, cesty, barevné profily a metadata.
- PSB (Photoshop Big): Varianta pro extrémně velké soubory (až 300 000 pixelů v jakémkoli rozměru).
—
Víte, že? Zdrojový kód verze Photoshopu 1.0.1 z roku 1990 byl věnován Muzeu počítačové historie. Obsahuje přibližně 128 000 řádků kódu, z čehož 75 % tvoří Pascal a zbytek Assembler pro procesory Motorola 68000.
Související: C++, WebAssembly, GPU, Frontend
