Обновить
16K+
5
Григорий Фисенко@GrigoryF

Пользователь

17
Рейтинг
3
Подписчики
Отправить сообщение

Потому что они на разных полюсах живут :) А если серьёзно - статью писал руками, могу про мерцание буферов рассказать подробнее, про медведей хуже знаю.

  1. RSS = Resident Set Size, объём физической RAM, которую процесс реально занимает.Кривые-график этой величины во времени

  2. гейты бит-идентичности = Автотест-'ворота': не пускают изменение дальше, если результат не совпал с эталоном до последнего бита.

  3. спиннер = крутящийся индикатор 'идёт работа' в интерфейсе (у нас с текстом прогресса)

  4. хвосты батчей = работа делится на пачки (батчи). 'Хвост' - концовка пачки, когда почти все потоки закончили, а один дожёвывает последнее, и остальные простаивают.

  5. трейс шёл батчами с фиксированными чанками… остальные тринадцать уже умерли = обход цепей (трейс) шёл пачками по 896 заданий, поделёнными на 14 фиксированных кусков по числу потоков. Если одному потоку достался кусок с тяжёлыми заданиями, 13 других, доделав свои куски, простаивали и ждали его

  6. классический профиль своп-спирали=Память кончается, ОС начинает выгружать страницы на диск (swap) , процесс ждёт диск , ещё медленнее. 'Профиль' = характерная форма поведения: стартует бодро, потом всё медленнее.

  7. троттлинг репейнта во время билда до 10 Гц = Во время расчёта ограничили перерисовку интерфейса до 10 кадров/с, чтобы рендер не отъедал ресурсы у вычисления

  8. ложный мост met2-met4 сливал нумерацию цепей… схлопывались при дедупликации = призрачная связь между слоями металла 2 и 4 ошибочно соединяла электрически разные цепи в одну. Внутри ячеек разные цепи получали одинаковые 'номера', становились неотличимы, и дедупликатор (убирающий повторы) выкидывал их как дубликаты. Итог — цепей насчиталось меньше, чем есть

  9. дедуп съел границы поглощённых кусков=емкость по периметру (fringe) считается по границам цепи. Когда дедуп слил несколько цепей в одну, внутренние границы исчезли - а с ними и их вклад в ёмкость

  10. образцовые гейты эквивалентности: параллельный код сверяется с серийным до бита, воспроизводятся строково=тесты проверяют, что многопоточная версия даёт ровно тот же результат, что однопоточная, и что повторные запуски дают идентичный вывод вплоть до символов в строке

Спасибо за вопрос. Все верно

Спасибо за обратную связь! Постараюсь писать проще. Что именно осталось непонятным? Я объясню.

Спасибо! Я искал, кстати. Читал issues wgpu, статьи про LOD, гуглил "как быстро перестраивать буфер" - просто искал не то. Правильный вопрос был "зачем я вообще каждый кадр это делаю", и до него пришлось дойти через четыре неудачных попытки. В литературе готового ответа на него нет. Про CD-ROM точно подмечено. С развалом хотя бы сразу было ясно, что не нашел. Сейчас можно неделю читать про похожее и не заметить, что это не оно.

Информация

В рейтинге
547-й
Зарегистрирован
Активность

Специализация

Технический директор
Ведущий
.NET
Docker
SQL
Высоконагруженные системы
RabbitMQ
Apache Kafka
Управление проектами
NoSQL
Rust
Vulkan API