TGViewer
postPhys postPhys @postphys · 30 subscribers
Post #670 62

Forwarded from iOS Makes Me Hate

Скролл 120 fps с помощью METAL

Офигенная статья от самого нишевого иос блогера. Jacobstechtavern делает клон Apple Photos и гонится за честными 120fps на бесконечной сетке фотографий.

Он берет привычный UICollectionView и на большом зуме (31 колонка, как в родном Photos) лента разваливается на хитчи и хэнги.

Вывод: тысячи одновременных ячеек === неподъемный оверхед на лайаут, reuse, PhotoKit-коллбэки и Core Animation commits. Он считает, что UIKit тут не виноват — его просто заставляют делать то, в чем он плох.

Он предлагает оставить UIKit ровно то, что он делает хорошо, а рендеринг целиком отдать GPU через Metal. Три части:
• UIScrollView только ради физики. Прозрачный пустой скролл-вью поверх MTKView.
• Геометрия во vertex shader. Фотоквадрат для GPU это два треугольника
• тянутся ~20k тумбнейлов и собираются в одну гигантскую текстуру (64px на фото при большом объёме, чтобы не убить память). Декод вне главного потока, aspect-fill в квадрат, BGRA-буфер,

Главный вывод через инженерную классику: не "UIKit плохой", а каждый инструмент под свою задачу:

🟣SwiftUI ок для большинства простых экранов

🟣UIKit надежная рабочая лошадка для сложных скролл-лэйаутов

🟣Но там, где на экране тысячи одинаковых по форме элементов с независимым лэйаутом, только offload на GPU через Metal раскрывает потолок.
More from @postphys
  1. Sep 29, 2026Сорри, не мог пройти мимо этого поста Возможно в том, что нас захватить ai не все так плох…
  2. Sep 28, 2026И даа, у меня уже есть с чем сравнить скорость
  3. Sep 28, 2026Добрый вечер, 5ХГЭ! Осталось только найти где он ловит…
  4. Sep 22, 202610 часов шаманства над старым маком и вот… Welcome to Linux
  5. Sep 21, 2026В квантовой физике: Эффект наблюдателя - это явление, при котором сам процесс измерения ил…
  6. Sep 15, 2026МТС: переименовала свою сеть на MTS 5G даже на устройствах без поддержки 5G T-MOB: подержи…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →