TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #230 · 23.02

Есть такое понятие Liminal Space — пространство, являющееся переходным между двумя другими. Как правило это пустой коридор, пустая проходная комната, большой пустой двор и так далее. Такие места вызывают у людей определённые эмоции, поэтому за данным понятием стоит целая визуальная эстетика. Есть сабреддит по теме, и из него данные публикуются в твиттер аккаунт Liminal Spaces, у которого более 800 тысяч подписчиков (по меркам Твиттера это как на ютубе 20 млн). Эстетика сама по себе интересная, но сегодня хочу рассказать вам об игре Superliminal, на которую недавно наткнулся. Она из тех игр, что целиком продают себя своей идеей, и вообще, строятся вокруг неё. Посмотрите на видео ниже, и сразу станет понятно, в чём прикол. Помимо классной идеи не могу не отметить техническую реализацию: мне страшно даже представить, с каким количеством сложностей и краевых случаев столкнулись разработчики. Там дальше по игре вообще такие выверты пространства идут, что авторы Portal нервно курят в сторонке. И да, игра активно использует концепцию Liminal Space. Под конец даже слишком. Хотя местами создаётся ощущение, что ты словил баг, но это так и задумано. И один раз мне пришлось подсмотреть на ютубе, как проходить — оказалось, что был неочевидный для меня способ взаимодействия с предметами, который нигде не презентуется. Возможно, разработчики как раз и ставили перед игроком задачу догадаться, но я не осилил. Тем не менее, очень яркое и запоминающееся видеоигровое впечатление. Рекомендую. #games

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #llvm

当前筛选 #llvm清除筛选
Android Broadcast

@android_broadcast · Post #9894 · 17.03.2026 г., 05:32

🤖Google ускорила ядро Android, скормив компилятору профили реального использования Команда LLVM toolchain в Google рассказала, как они применили AutoFDO (Automatic Feedback-Directed Optimization) к ядру Android — и результаты интересные. Идея простая: обычный компилятор принимает решения об оптимизациях на основе статических эвристик. Встроить функцию или нет, какая ветка условия чаще выполняется — всё это угадывается без реальных данных из приложений и пользовательских сценариев. AutoFDO меняет подход: компилятор получает профили реального выполнения кода и на их основе принимает куда более точные решения. Эта техника Google уже давно применяется к своей серверной инфраструктуре и ChromeOS, так что подход обкатанный и зарекомендовавший себя. Кто знаком с ART Profiles — идея покажется знакомой. Там тот же принцип: собираем данные о реальном выполнении, отдаём компилятору, получаем более точный нативный код. Только ART Profiles работают на уровне ART для Java/Kotlin-кода конкретного приложения, а AutoFDO — на уровне ядра, C/C++ и LLVM. Разные слои, одна философия. Для ядра профили собирают не с реальных устройств, а в лабораторных условиях: запускают топ-100 самых популярных приложений, используют simpleperf и аппаратные возможности ARM для записи истории ветвлений. Собранные данные показывают 85% совпадение с профилями реального парка устройств — этого достаточно, чтобы считать подход рабочим. Результаты на ядрах 6.1, 6.6 и 6.12: 👉 холодный старт приложений стал быстрее на ~4% 👉 время загрузки сократилось на ~1% 👉 ядро занимает ~40% CPU-времени на Android, так что любая оптимизация здесь ощутима Важный момент: AutoFDO не меняет логику кода, только влияет на решения компилятора — инлайнинг, раскладку кода. Функции, которые не попали в профили («холодные»), компилируются стандартным образом, без изменений. Сейчас это уже в проде — профили включены в ветки android15-6.6 и android16-6.12, так что устройства на этих ядрах уже собираются с AutoFDO. Pixel-устройства точно попадают в эту категорию. С другими производителями сложнее: многие используют сильно модифицированное ядро и не переходят на GKI из AOSP, так что там это может быть не применено вовсе. В планах — GKI-модули, вендорные модули через DDK и поддержка новых версий ядра. 🔗 Источник - блог Android Developers #Android#AndroidDev#Производительность#LLVM#Native