Обновить
5
0
Андрей@uxgen

фрилансер (c++, vulkan, оптимизация)

Отправить сообщение

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

Я вот вижу как ядер в ЦП становится все больше, скорость работы огромная, а большинство программ все также тормозят и используют один поток, потому что не тянут многопоточку и оптимизации. Теперь появились нейронки, которые можно распараллелить на все нейроядра, больше не нужено писать сложный код, сложную многопоточку, какой-нибудь фреймворк сам распланирует выполнение мелких нейросеток, нужно их только обучить и задать конечные состояния.

В новых ЦП более быстрая DDR5 и более широкий PCIE4/5, за счет этого данные быстрее попадают на ГПУ и лоды быстрее подгружаются. Но заметно это только при быстром перемещении.

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

Я делал автоматизацию скриншот тестов рендера на андроид. Сделал отдельное приложение которое скачивает .so, запускает тесты и отдает логи и скриншоты. Может работать даже в фоне, не нужно подключаться по usb.

Сейчас даже фильтрацию текстур не нужно поддерживать - придумали стохастическую, читается один пиксель за кадр. Поддержка сжатых форматов не нужна - придумали расжимать на тензорных. Тригонометрия и прочие SFU не нужны - научились считать PBR на тензорах.

Учитывая как NV внедряет тензоры в графику так скоро и GPU не понадобится, все на тензорах будет считаться)

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

Я заметил что RADV драйвер на линуксе работает быстрее AMDшного. Вот если его портируют на винду, тогда можно будет сравнить влияние ОС.

Половина статьи про UB и проблемы использования. На самом деле все не так плохо, достаточно полностью переделать архитектуру и корутины заработают без боли и страданий)

Я добавлял корутины поверх уже готовой системы тасков и промисов. Тогда уже использовались правильные примитивы синхронизаций типа зависимостей между тасками, асинхронный мьютекс, что-то похожее на семафор и тд.

Когда-то выбрал AngelScript и поначалу все было нормально, но потом вылезли баги в Linux/Android, долго добавляли Mac на arm. В итоге решил что скрипты будут только для ускорения разработки.

По ИИ: смотрел как племянник играет в мобильный файтинг, показывают что подбирают противника равного по уровню, но он выносится с трех ударов. Я сразу сказал что это бот, но не убедил. В общем имитация интеллекта работает для определенной возрастной группы, а тем кто перерос уже скучно играть.

Тест ни о чем, видно же что частоты ГПУ разные. Надо было выставить фиксированные частоты и потом тестировать.

Мне заплатили премию спустя полгода после увольнения. Только эта была крипта компании и на момент выплаты стоила $200, спустя пару месяцев уже $0.001. Все что нужно знать про премии криптой)

Хотя на премию битками я год жил пока восстанавливался после травмы)

А когда контроффер на х3 не срабатывал?

Обычно в конце фрейма, перед тем как данные уходят в видео карту у нас остаются свободные потоки, которые можно временно сделать такими «цепочками» и грузить ресурсы когда точно знаем, что не мешаем игре.

А как же поддержка 360Гц мониторов? Там нет времени в конце кадра)

Пика использования такой подход достиг в движках и играх Naughty Dog, которые упоролись и сделали воркеры аж на fibers

Сейчас уже корутины в С++ завезли, больше никакого callback hell.

Я когда-то впечатлился idTech и тоже сделал себе движок на тасках. Пока нет ошибок все хорошо работает, а как только одно из звеньев цепочки тасков ломается, то система приходит в неопределенное состояние и начинаются дедлоки тасков - когда таск ждет успешного завершения другого, который уже завершился с ошибкой. Нужно не забывать обрабатывать все варианты, а компилятор в этом не помошник, в отличие от кодов ошибок с nodiscard например.

AVX512

К тому же игры - это объективно одна из основных нагрузок на моем домашнем компьютере

Если посмотреть исходники UE, то про AVX512 там никто не слышал)

Вот у меня апгрейд - взял мини-пк за 40к, который компилирует быстрее моего староватого райзен 9, а места занимает намного меньше.

Тяп-ляп хорошо, когда все в отдельном модуле. В лучшие времена этот модуль выкинут и перепишут. Проблема начинается, когда нужно протащить костыли через весь код, вот за такое надо бить по рукам.

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

Это было 15 лет назад, сейчас уже школьники кодят лучше джунов.

Это L2 кэш, который используется для хранения промежуточных данных в TBDR архитектуре.

Еще бы пример как на github CI это настроить.

Я пробовал смотреть 3D фильмы в VR и меня сразу же укачало от трясущейся камеры, так что вариант только для телеков.

С восстановлением глубины может быть другая проблема - искажение масштабов. Нейронка похоже ищет дальнюю точку в кадре и строит параллакс до нее, хотя в реальности объем чувствуется только на небольшом расстоянии в 5-10м. Теперь это не огромный звездолет, а какая-то муха перед глазами)

1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность