Разработка ждёт балета
1.65K subscribers
510 photos
4 videos
15 files
1.55K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://xn--r1a.website/+e2ND1tAa0lU2ZTli
Download Telegram
Длинная и непростая, но довольно интересная статья от чувака, который пилил рендеринг шрифтов на Android 3.0. Речь пойдет о том, как все это безобразие работает и насколько сложна на самом деле отрисовка текста. Советую заглянуть. Пис 🖖🏻

#android #font #gpu
https://medium.com/@romainguy/androids-font-renderer-c368bbde87d9
Выступление Chet Haase и Romain Guy. Тут ты должен был стать заинтригован.
В докладе описывается весь Android Rendering Pipeline, но поскольку вместить это в 40 минут не получится, доклад выглядит как быстрое набрасывание названий разных классов и модулей. Тем не менее, вдумчиво его посмотреть я бы скорее советовал.
Наброшу несколько названий из доклада, чтобы ты понимал, о чём речь: Choreographer, VSync, UI Thread, RenderThread, SurfaceFlinger, BufferQueue, Hardware Composer (HWC).
Теперь несколько интересных фактов из сессии:
1. Начиная с Android Oreo можно использовать Bitmap.Config.HARDWARE, чтобы аллоцировать Bitmap напрямую на GPU и не тратить время на копирование. Недостаток: если серьёзно разойтись, можно получить пачку совершенно невнятных крашей из глубин фреймворка
2. Кусочек хинта (почему так - см. видео) - чем меньше Window объектов на экране, тем лучше
3. Метод invalidate(left, top, right, bottom) можно больше не дрочить - система уже умеет неплохо оптимизировать этот момент, а багов от его использования уйма
4. “RecyclerView is now able to do prefetching of items ahead of time”
5. Graphika app on Github - пачка примеров с использованием SurfaceFlinger, Surface, SurfaceView, media encoder, virtual displays.
6. adb shell dumpsys SurfaceFlinger лучше выполнять, когда что-то анимируется/меняется на экране, иначе можно получить не совсем точные данные из-за дополнительных оптимизаций
Подробности обо всём этом найдёшь по ссылке.

#rendering #window #surface #gpu
https://youtu.be/zdQRIYOST64
Вау! Прямо Game of Life на максималках. Работает на CUDA. Красивое демо можно посмотреть здесь. Сам код - тут.

#game #art #gpu
🔥3
Интересные ребята написали интересный пост с анализом текущего AI пузыря.

#ai #llm #gpu
👍3
Очень красивая симуляция планеты, подобной Земле, на шейдерах.

#gpu #art #rendering
🔥2
Недетерминизм LLM - один из спонсоров моей головной боли. Вроде бы вот же компьютер, вот программа, оно всё как правило работает одинаково для одних и тех же входных данных. Но добиться одинаковых ответов от LLM при одних и тех же токенах на вход и при всех выкрученных top p / temperature всё равно не получается. И вот в этом посте шаг за шагом разбирают, почему оно так. Дело не в самих LLM и даже не в floating point arithmetic, там для forward pass всё как раз детерминированно. Дело в батчинге и в вариациях в нагрузке на сервера. Другие такие же люди приходят со своими запросами к LLM и тем самым создают эту вариативность ответов. Добиться стабильных ответов можно - в посте это показывают, но платить за это придётся производительностью.

#llm #ai #gpu
👍2🔥2