Skia Graphics Engine

Skia Graphics Engine — це компактна графічна бібліотека з відкритим вихідним кодом, яка написана на мові програмування С++, розроблена Skia Inc. У 2005 році була придбана компанією Google та переведена у статус вільного програмного забезпечення[1] під ліцензією BSD вільного програмного забезпечення.

Skia Graphics Engine
Тип Графічна бібліотека
Автор(и) Skia Inc.
Розробник Google
Репозиторій skia.googlesource.com/skia
Операційна система Android, iOS, Linux, macOS, Windows
Мова програмування C++
Ліцензія Ліцензія BSD
Вебсайт skia.org
github.com/google/skia/

Тепер ця бібліотека, відома як Skia, з 2017 року використовується у Google Chrome, Chrome OS, Chromium OS, Mozilla Firefox, Android (частково замінена на HWUI, починаючи з Android 3.0[2]), Firefox OS, Flutter, LibreOffice (починаючи з версії 7.0[3]) та Sublime Text 3. Графічна бібліотека Skia також використовується у BlackBerry PlayBook, хоча обсяг її використання не відомий.

Skia має декілька основних внутрішніх частин: програмна растеризація на базі центрального процесора, вивід PDF та прискорення OpenGL графічним процесором. Частично реалізовані частини (у яких можливо відсутні деякі функції) також доступні для OpenGL ES, OpenVG, SVG та Adobe SWF (Flash). За метою Skia більш схожа на Cairo (означає, що вона більш спрямована на малювання), а не на інших більш складних інструментів, таких як Qt, які надають свої власні віджети, тощо[4].

Марк Кілгард і Джефф Болз пояснюють та критикують внутрішню будову Skia (станом на 2012 рік) у наступних термінах:[5]

Skia має звичайний процес рендеру на основі процесора, але нещодавно була інтегрована нова внутрішня частина, яка прискорена OpenGL ES2, під назвою Ganesh. Ganesh експериментував з двома прискореними підходами. Перший використовував трафаретний буфер для рендеру шляхів, через накладні витрати API був замінений другим підходом. Другий використовує процесорний растеризатор, обчислює маску покриття, яка завантажується як текстура на кожному із шляхів, щоб забезпечити належне згладжене покриття GPU.

З тих пір, Skia додала підтримку запропонованого NV рендеру шляхів, додавши розширення поставника OpenGL (головним автором якого є Марк Кілгард)[6].

Див. також

Примітки

  1. Malik, Om (2 вересня 2008). Google Open Sources Skia Graphics Engine. gigaom. Процитовано 31 серпня 2011.
  2. Guy, Romain (18 травня 2014). Android’s Font Renderer. medium.com. Процитовано 19 квітня 2018.
  3. LibreOffice 7.0: Release Notes — The Document Foundation Wiki. wiki.documentfoundation.org. Процитовано 6 серпня 2020.
  4. The Skia 2D Graphics Library From Google - Phoronix. www.phoronix.com. Процитовано 19 квітня 2018.
  5. Kilgard, Mark J. (2012). GPU-accelerated path rendering. ACM Transactions on Graphics 31: 1. doi:10.1145/2366145.2366191.
  6. http://on-demand.gputechconf.com/gtc/2014/presentations/S4810-accelerating-vector-graphics-mobile-web.pdf

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.