Я вам вот что могу сказать. 30 часовой рабочий день это очень фигово.
Недавно меня очень просили дофиксить все баги в фиче.
Фичу делал я и еще один чел и там было много чего тяп-ляп написано лишь бы показать в нужный день.
Потом снова подкрадывался день показа, а оно совсем не работало.
Значит фиксить целиком мне (ну не второму челу же).
В предпоследний день я решил задержаться на работе, что бы успеть сделать все же.
Задержался так что закончил только к вечеру следующего дня.
Потом всю неделю дико тормозил. Продуктивность упала до 10%, если не меньше.
А еще каждую ночь были кошмары про умножения матриц, лучи и градиентные спуски.
А показали то хоть? Да, но только еще через неделю 🙂
Вывод - кранчи того не стоят.
Недавно меня очень просили дофиксить все баги в фиче.
Фичу делал я и еще один чел и там было много чего тяп-ляп написано лишь бы показать в нужный день.
Потом снова подкрадывался день показа, а оно совсем не работало.
Значит фиксить целиком мне (ну не второму челу же).
В предпоследний день я решил задержаться на работе, что бы успеть сделать все же.
Задержался так что закончил только к вечеру следующего дня.
Потом всю неделю дико тормозил. Продуктивность упала до 10%, если не меньше.
А еще каждую ночь были кошмары про умножения матриц, лучи и градиентные спуски.
А показали то хоть? Да, но только еще через неделю 🙂
Вывод - кранчи того не стоят.
👍17⚡1💯1😭1
Иногда соединяя одновременно 5 антиоптимизаций получаешь код в 3 раза быстрее.
Я долго бился с ускорением ML рендер техники. Но тренировка никак не получалась быстрее 4мс.
Я пробовал:
1. Развернуть циклы. Видимо слишком много регистров надо, стало медленее.
2. Саккумулировать данные со всех тредов волны прежде чем писать их через atomicAdd.
3. Аккумулировать по всей группе, а не по волне. Стало еще хуже без wave-instrinsic-ов
4. Вместо атомиков писать в отдельные слоты и суммировать позже. Еще чуть хуже.
5. Кооперативную обработку одного сэмпла несколькихи тредами. Вообще жуть.
Я попробовал все сразу. И войля. 1.3мс
Я долго бился с ускорением ML рендер техники. Но тренировка никак не получалась быстрее 4мс.
Я пробовал:
1. Развернуть циклы. Видимо слишком много регистров надо, стало медленее.
2. Саккумулировать данные со всех тредов волны прежде чем писать их через atomicAdd.
3. Аккумулировать по всей группе, а не по волне. Стало еще хуже без wave-instrinsic-ов
4. Вместо атомиков писать в отдельные слоты и суммировать позже. Еще чуть хуже.
5. Кооперативную обработку одного сэмпла несколькихи тредами. Вообще жуть.
Я попробовал все сразу. И войля. 1.3мс
🔥12
https://www.twitch.tv/randomrustdev
Первый стрим с кодингом на расте.
С места в карьер.
Разрабатывается Аркана.
Система импорта ассетов.
Первый стрим с кодингом на расте.
С места в карьер.
Разрабатывается Аркана.
Система импорта ассетов.
Twitch
RandomRustDev - Twitch
I'm just random Rust developer.Making my own game engine from scratch.And occasionally playing some games.
👍2
Сейчас начнется новый стрим.
Разработка импортера для картинок.
Ссылка та же
Разработка импортера для картинок.
Ссылка та же
👍3
https://www.twitch.tv/videos/2277544249
Ссылка на запись стрима.
Я немного покосячил с окнами, но в целом получилось не так плохо, как мне кажется.
Сделали импортер для картинок, сделали UI для импорта, увидели, что что-то заимпортилось и получило AssetID.
Ссылка на запись стрима.
Я немного покосячил с окнами, но в целом получилось не так плохо, как мне кажется.
Сделали импортер для картинок, сделали UI для импорта, увидели, что что-то заимпортилось и получило AssetID.
Twitch
Twitch is the world's leading video platform and community for gamers.
👍5
Как вы думаете, на сколько надо подготавливаться заранее к стриму?
Я не имею в виду звук и настройку окон и вот это, что непосредственно стрим составляет. Это конечно надо все подготовить 🍳
Я про сам код. Я пробовал кодить с наскоку 🏇
Сегодня вот только убедился что создание плагина работает. Из-за чего эдитор перестал запускаться, когда я плагин удалил 🤦♂️
Но совершенно не продумывал как я буду писать. Только что.
На другом конце спектра будет ненастоящее программирование, а переписывание того, что уже написал заранее.
Как по вашему мнению, где золотая середина?
Я не имею в виду звук и настройку окон и вот это, что непосредственно стрим составляет. Это конечно надо все подготовить 🍳
Я про сам код. Я пробовал кодить с наскоку 🏇
Сегодня вот только убедился что создание плагина работает. Из-за чего эдитор перестал запускаться, когда я плагин удалил 🤦♂️
Но совершенно не продумывал как я буду писать. Только что.
На другом конце спектра будет ненастоящее программирование, а переписывание того, что уже написал заранее.
Как по вашему мнению, где золотая середина?
🤔2👍1🔥1
This issue got me puzzled.
What's the correct answer?
https://github.com/zakarumych/egui-snarl/issues/42
What's the correct answer?
https://github.com/zakarumych/egui-snarl/issues/42
GitHub
Can I use pinch-in, pinch-out? · Issue #42 · zakarumych/egui-snarl
I usual use pinch-in, pinch-out.
На стриме я реализовывал импортер картинок в базовый RGB, что в общем-то сильно неоптимально.
Поэтому время пришло для того что бы жать картинки.
Как известно, GPU нативно поддерживают блочные сжатые форматы.
Реализовал сжатие в BC1.
Очень простое.
GUI что бы видеть результаты.
Слева картинка из файла, справа она же пожатая и разжатая обратно.
Поэтому время пришло для того что бы жать картинки.
Как известно, GPU нативно поддерживают блочные сжатые форматы.
Реализовал сжатие в BC1.
Очень простое.
GUI что бы видеть результаты.
Слева картинка из файла, справа она же пожатая и разжатая обратно.
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Попробовал интегрировать texpresso.
Из минусов:
1. Какие-то белые пиксели.
2. Очень долго сжимает - на видео видно пролаг при нажатии на чекбокс.
Из минусов:
1. Какие-то белые пиксели.
2. Очень долго сжимает - на видео видно пролаг при нажатии на чекбокс.
💔2👍1
Продолжаю работать над сжатием картинок.
Прочитал два папируса сегодня: по кодам Хаффмана и работы Лемпеля и Зива.
Буду использовать сжатие без потерь, что бы пожать блоки, выданные блочными сжимателями.
При чем таким образом, что бы разжать можно было эффективно на gpu
Прочитал два папируса сегодня: по кодам Хаффмана и работы Лемпеля и Зива.
Буду использовать сжатие без потерь, что бы пожать блоки, выданные блочными сжимателями.
При чем таким образом, что бы разжать можно было эффективно на gpu
🔥1
Все же в сжимателе я напортачил.
И compression ratio оставляет желать лучшего на сложных картинках.
На простых, где много одного тона, там конечно да.
И compression ratio оставляет желать лучшего на сложных картинках.
На простых, где много одного тона, там конечно да.
😢1
Безумная идея.
Сделать маленькую нейронку, которая будет пытаться предсказать следующий пиксель и после каждого пикселя чуть-чуть обучаться.
Если предсказания будут точны, то разница с фактическим значением будет мала. А если почти все кодируемые значения малы, то и повторяемость последовательностей будет больше.
В файл веса класть не надо. При декодировании она точно так же должна обучаться
Сделать маленькую нейронку, которая будет пытаться предсказать следующий пиксель и после каждого пикселя чуть-чуть обучаться.
Если предсказания будут точны, то разница с фактическим значением будет мала. А если почти все кодируемые значения малы, то и повторяемость последовательностей будет больше.
В файл веса класть не надо. При декодировании она точно так же должна обучаться
Я кстати понял, почему трава такая несжимаемая.
Она в жипеге весит столько же, сколько bc1, там энтропия чуть ли максимальная.
Она в жипеге весит столько же, сколько bc1, там энтропия чуть ли максимальная.