Pull to refresh

Графические демоны

Reading time2 min
Views1.1K
Тим Йохансон- технологический разработчик ядра в Opera. Он работает в команде разработки графической части ядра, которая полностью отвечает за рендеринг (веб страницы, SVG, canvas) и декодинг изображений в Опере.
В середине декабря Opera проводила технический семинар вне Осло в Норвегии. Тим рассказал о графике в Опере и показал несколько демонстраций. Речь сейчас пойдёт о двух из них

Свет Opera


Первое задание в Opera, которое было у Тима- это разработка технологии для независимой от платформы отрисовки графики, которая сейчас используется в некоторых продуктах, включая Opera SDK. Работая над ней, он быстро понял, что эта технология позволит легко использовать Opera как текстуру в 3D приложениях. В свободное время он проводил поздние вечера за интегрированием Оперы в собственный 3d движок. Место применения, показавшееся ему наиболее забавным- использование в качестве фонарного света.
Это видео демонстрирует результат ночных усердий, проделанных более 3х лет назад.

Аппаратное ускорение


Одной из вещей над которой Тим работал последнее время- это аппаратное 3d ускорение библиотеки векторной графики для SVG и canvas в Опере используя 3D аппаратное обеспечение (через OpenGL и Direct3D)
Что бы достичь наибольшей производительности рендеринга на аппаратном уровне нужно избегать чтения отрисованного изображения из графической карты в системную память, потому что это медленная операция. Это может быть решено рендерингом всей Оперы на уровне железа (включая UI и веб страницы). Такой подход также позволит добавить визуальные эффекты без дополнительных затрат времени CPU
На этом видео Опера полностью использует аппаратное ускорение. Сборка Оперы используемая на видео- внутренняя справочная технологическая сборка с включённым аппаратным ускорением. Это ускорение экспериментальное, его нет ни в каких релизах и не будет ни в каких ближайших.

opera core concerns
Tags:
Hubs:
Total votes 38: ↑30 and ↓8+22
Comments28

Articles