Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Давно хотел написать в песочницу туда про процесс «адаптации» libstagefright под старые библиотеки, да руки так и не дошли. Потом уже начали посещать мысли, что новость уже потеряла актуальность, и вряд ли кто-то оценит статью… Есть в принципе идеи разбавить технические данные, так сказать, описанием самого подхода к анализу кода, ибо там тоже есть о чем рассказать) В общем не знаю, может и выделю время как-нибудь.
This build comes with changes that might be a bit controversial, but they
are a good tradeoff in my opinion. The basic idea is, the framebuffer is running
at RGB565 anyway, so it does not make much sense to use RGBX8888 for opaque
surfaces, or for bitmaps that are typically blitted to the screen without
transformations.
I've switched as much as possible and reasonable to RGB565, enabled dithering
in the appropriate places and made the drawing cache (used by the software UI
renderer) capable of 16bpp again. Overall, this reduces memory consumption,
speeds up software rendering and cuts down fillrate load on the GPU at minimal
loss of visual quality. In rare cases you will see some banding.
Especially the homescreen and lockscreen are noticeably faster and apps that
use the software UI renderer are back to the speed you might remember
from Gingerbread. Hardware-accelerated UI rendering does not benefit from these
optimizations, though, because it always uses ARGB8888 surfaces.
ZTE Blade: как мы прошли путь до вменяемого Android 4.1.2