Alexey Demedeckiy

+127
с 2020
0 подписчиков
23 подписки

Мой iPad Pro рендерит мне видосик в 4к быстрее чем топовый макбук. Я жду следующего года когда они верхний сегмент переведут на ARM.

1

Ну то есть раньше память копировали из GPU в CPU для обработки, перекодировали по пути из формата в формат. 
И то что память распаяна на чипе прямо и общая для всех это не "поможет"? 

1

На презентации же сказали что Xcode компилит в 3 раза быстрее на MacMini. UMA (новая архитексура памяти) сильно поможет с видео и фото обработкой.

1

Винда уже успешно переехала на арм. Со всем своим софтом. Сборка под арм или под x86 это вопрос галочки в компиляторе.

Возможно плохо паралелится не софт а как раз x86 в котором параллелизм это очередной костыль а не часть дизайна и спецификации? У меня Mac вроде все ядра загружает под нагрузкой регулярно. Рендеринг к композитинг видео тоже отлично масштабируются из того что сам пользуюсь. Но я не исключаю что есть софт где  ггц напрямую влияют на продуктивность.

1

Софт под армы Apple собирает в толстые бинари с оптимизациями под каждый проц отдельно. Так же будет и для Mac видимо.

Bootcamp уже все. Там теперь так же с активацией как и в айфонах. Без авторизации с серверов Apple железка работать не будет.

Этот коммент для людей которые не верят в то что ARM может быть быстрее x86. 

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

x86 мешает быть быстрее не жадность Intel, а предельная сложность. x86 уперся в масштабирование сложности.

ARM процессоры от Apple намного моложе, проще и никогда не костылились под конкретное железо, потому что железо собиралось и тестировалось вместе с процом всегда. 

Apple просто отмасштабировали то, что и так хорошо работает.

Я думаю что уход x86 как явления это вопрос времени. Лет 10 или 20.

62

Спасает стриминг с диска + в памяти нужно именно уникальные модели. Не зря они показали 70 одинаковых статуй. 70 разных в такой детализации не влезли бы в память наверно. Когда память станет бутылочным горлышком её быстро расширят в какой будь про версии.

Там никто не упаривается в одну машину. Нужно быстрее - докидывают стандартных тачек в кластер. Большие объемы это map reduce и сотни машин. А консоль это одна машина которую нужно заточить на определенные задачи. Тот же pc не может себе это позволить потому что не контролирует что и как на нем хранят. Нужно открыть любой диск на любой матери. Консоли это опять таки - меньше гибкости но меньше издержек.

До 10 же. А не "всегда 10". Данные вроде геометрии жмутся на ура.

Просто моя поправка была что говорили не про скорость SSD.
А про
И архитектура памяти PS5 сейчас намного опережает все альтернативы, которые сейчас можно купить на ПК, вне зависимости от их цены.

Насколько я помню на ПК не ставят аппаратный кодек сжатия)

PS5 дает до 10 gb/sec за счет аппаратного сжатия на лету. Формально диск читает 5, но полезных данные достается 10.

Ну блин... сравнивать парковку считывающей головки и расстояние банков.... конечно формально скорость разная. Но это не те порядки. 

На HDD контент укладывают под стриминг. Дублируют его что бы избежать лишних seek. Конечно есть и мелкоблок. Но я про стриминг открытого мира. 

Если все помещается в оперативку - разница будет только в скорости загрузки.

Ну это уже грубо.

Чем меньше задержка тем меньше нужно стримить наперед. SSD в PS5 может стримить до 60 миллионов полигонов сырой геометрии в секунду в оперативку. 

Сейчас стримится НАМНОГО больше данных чем нужно для отрисовки. Чем быстрее диск тем меньше хлама нужно стримить. 

Попытаюсь рассказать как Nanite будет работать. А то много вопросов вижу) 

// Note: Это мои догадки по паре статей по REYES которые я изучил. 

1. В билде хранятся только сжатые высокодетализированные модели. Настолько высоко насколько хватит бюджета места. 
2. Они стримятся в оперативку и разжимаются между диском и оперативкой (10gb/sec = это 16 байт на полигон ~ 60 миллионов полигонов в секунду уникальной сырой геометрии - это в теории, дай бог что бы половина была в реальности)
3. Потом строится виртуальная сцена из сырой геометрии. Она НЕ рендерится.
4. Поверх этой сцены строится субпиксельный меш из полигонов.
5. Этот меш шейдерится.
6. Меш отдается на рендер.

То есть каждый раз в кадре число полигонов примерно одинаково. И зависит от разрешения, а не от сложности сырой геометрии в сцене. 

Ключевое отличие - модели больше не рендерятся движком. Рендерится меш из полигонов, каждый около пикселя размером. А меш собирается уже из вашей геометрии.

Свет.
Свет считается тоже относительно меша, а не отностиельно оригинальной геометрии. Это СИЛЬНО уменьшает кол-во работы.

Почему сейчас а не 3 года назад?
1. Скорость чтения моделей в память. Мы можем позволить себе стримить высокодетализированные модели. 
2. Нет больше штрафа за случайное чтение. HDD механически тратит время на перемещение считывающей головки. Это огромные задержки если читать не подряд. SSD - чтение любого блока одинаково быстро. 
3. Срубить бабла на некстген. Делать движок под некстген - долго и дорого. А тут эпики предлагают свой уже сейчас (2021 это для открытого рынка, уверен что студии партнеры уже пилят свой пайпланы под это двигло)

Ссылки для чтения:
http://graphics.stanford.edu/~kayvonf/papers/kayvonf_dissertation.pdf
https://pdfs.semanticscholar.org/b87b/9ed93df8b47cebb09362a726f2e8b7bc4cdd.pdf
http://www.cs.cmu.edu/afs/cs/academic/class/15869-f11/www/lectures/13_reyes.pdf

5

Будет одна самая крутая. Она выкачается в память из диска, потом виртаулизируется REYES и отрендерится уже виртуальный меш. 

Один треугольник это байт 16 байт. 1 миллион - 16mb сырой геометрии. 33 миллиона - пол гига. На PS5 это загрузится за 50 ms (10 gb/s). Загрузить ее надо 1 раз, а потом виртуальная геометрия сделает свое дело.

Потому что можно стримить толко то что видно. Движок может рассчитывать на определённую скорость стриминга и на определённые задержки при случайном доступе.

Делают все. Идеи не новые. Просто они первые показали движок сделаный под быстрый диск. Пару лет и все движки будут иметь что то похожее. Революция - это уход от HDD

Могу только предполагать. Для каждого пикселя делается расчёт какой полигон будет видно и он и стримится. По сути на экране будет столько полигонов сколько пикселей. Тут скорее всего хитрое хранение моделей на диске. Или выгрузка всей модели в оперативку и процессинг на лету.

Задержки разные. Но линейные. HDD важно читать подряд. Парковка головки это долго. SSD как и RAM читает любой блок в любой последовательности с одинаковой задержкой.

Я прекрасно понимаю физику :) 16мс на кадр благодаря быстрому диску не нужно стримить наперёд. Можно стримить то что попадает в кадр. Количество кода в движках которое танцует вокруг HDD особенностей - гигантское. Теперь этот багаж скидывают.

Игры вырастут если вырастет качество моделей естественно. Смысл демки в том что не надо работу работать над даунсемплингом и можно работать с огромными моделями в реальном времени и грузить только их кусочки.