Представляю свою библиотеку для обнуления байт выравнивания (padding) в unmanaged структурах.
Обнуление байт паддинга (padding) обеспечивает детерминированное состояние памяти, что критически важно для двоичного сравнения или вычисления хэша. И не менее важно при бинарной сериализации.
В Unity есть класс Gradient, который предоставляет удобные средства для управления градиентом в рантайме и редакторе. Но т.к. это класс, а не структура использовать его через Job system и burst нельзя. Это первая проблема. Вторая проблема — это работа с ключами градиента. Получение значений осуществляется через массив, который создаётся в куче. И как следствие напрягает сборщик мусора.
Сейчас я покажу как можно решить эти проблемы. И в качестве бонуса получить увеличение производительности до 8 раз при выполнении метода Evaluate.
Недавно мне понадобилось в своём проекте реализовать выбор цвета, встал выбор использовать уже готовое решение или писать самому. Быстрый гуглопоиск не дал ни одной подходящей реализации. Было принято решение написать свой.
Chrome с момента своего рождения прошёл длинный и успешный путь, но так ли он хорош на самом деле? Не возьмусь утверждать о всех его гранях, но хочу попытаться привлечь внимание общественности к тем проблемам с которыми мне довелось столкнуться лично.
Несколько месяцев назад я решился на написание своего расширения для Хрома. В голове давно затаилась маленькая, но очень жгучая идея переделать страницу выдачи Истории chrome://history/. И вот что из этого получилось.