Снижение производительности перехода плитки Cobalt после обновления webp

После версии Cobalt 11.88772, в которой реализован рендеринг анимированного веб-сайта, а также с помощью blitter/DirectFB, приложение использует весь ресурс ЦП только для обработки текущей тайловой анимации (см. отслеживание времени Cobalt, показывающее высокую загрузку процессора)

Ожидается ли, что процессор будет полностью загружен анимированным веб-сайтом? Из-за этого производительность перехода плитки становится очень низкой.


person Romain Baeriswyl    schedule 28.08.2017    source источник


Ответы (1)


Да, анимированный WebP сильно загружает процессор. Он должен декодировать каждый кадр до того, как он должен быть отрендерен, а затем накладывать его на предыдущий кадр. Даже при 10 кадрах в секунду это много программного декодирования.

Для OpenGL композиция выполняется на графическом процессоре, так что эта часть не так уж и плоха. Однако я не знаю, как обстоят дела с этим на Блиттере.

Если у вас есть аппаратный декодер VP8, вы можете реализовать аппаратный декодер WebP, который хоть и не быстрее, но, по крайней мере, разгрузит ЦП. Если функция SbImageDecode() поддерживает это, она сначала попытается использовать аппаратный декодер.

person David Ghandehari    schedule 28.08.2017
comment
Можно ли с анимированным WebP со скоростью 10 кадров в секунду обновлять буфер кадров дисплея с той же скоростью? В настоящее время кажется, что он отображается со скоростью 30 кадров в секунду. Это освободит часть ресурсов процессора. - person Romain Baeriswyl; 28.08.2017
comment
Ромен: Да, вы правы, что сейчас мы этим не занимаемся, но могли бы. Чтобы исправить это, я создал ошибку отслеживания ошибок: issuetracker.google.com/65130070. - person Andrew Top; 29.08.2017