https://vk.com/video-173146266_456244796
Когда решил пофиксить баги в легаси проекте
Когда решил пофиксить баги в легаси проекте
Vk
Клава
vk video
😱1
#Практика
Часто встречаю споры по вопросу оптимизации через Update\FixedUpdate\Coroutine и решил создать свой пример где бы были реализованы все эти способы для наглядной демонстрации.
Каждый желающий может скачать этот пример и попробовать на практике как идёт нагрузка на систему в зависимости от используемого метода обновления.
В данной проекте используется перемещение простых кубов через Transform.Translate(). Но при большом кол-ве объектов можно понять какой из методов является самым низко затратным.
Ссылка на проект - https://github.com/Animus-Mortis/Optimization-Models/tree/main
Пользуйтесь на здоровье)
Часто встречаю споры по вопросу оптимизации через Update\FixedUpdate\Coroutine и решил создать свой пример где бы были реализованы все эти способы для наглядной демонстрации.
Каждый желающий может скачать этот пример и попробовать на практике как идёт нагрузка на систему в зависимости от используемого метода обновления.
В данной проекте используется перемещение простых кубов через Transform.Translate(). Но при большом кол-ве объектов можно понять какой из методов является самым низко затратным.
Ссылка на проект - https://github.com/Animus-Mortis/Optimization-Models/tree/main
Пользуйтесь на здоровье)
GitHub
GitHub - Animus-Mortis/Optimization-Models
Contribute to Animus-Mortis/Optimization-Models development by creating an account on GitHub.
👍2
#Практика
Для создания списка с возможностью выбора нескольких вариантов можно использовать Flags:
Для создания списка с возможностью выбора нескольких вариантов можно использовать Flags:
[System.Flags]
public enum TypeBuild
{
None = 0,
FirstType = 1 << 1,
SecondType = 1 << 2,
BestType = 1 << 3,
}👍1🔥1
https://www.youtube.com/watch?v=IH1YJacgWnI
Прошёл анонс новых Героев!
Прошёл анонс новых Героев!
YouTube
Heroes of Might and Magic: Olden Era – Official Reveal Trailer
The classic turn-based strategy game series returns to PC (via Steam Early Access) with Heroes of Might and Magic: Olden Era, as you return to the world of Enroth and explore the beginning of the franchise's saga. Expect a full non-linear campaign as well…
🔥1
#Практика
Одним из самых недооцененных настроек игрока в unity является использование инкрементального GC.
Его включение уменьшает заикание частоты кадров за счет распределения сборки мусора по нескольким кадрам, что приводит к более плавному игровому процессу.
Одним из самых недооцененных настроек игрока в unity является использование инкрементального GC.
Его включение уменьшает заикание частоты кадров за счет распределения сборки мусора по нескольким кадрам, что приводит к более плавному игровому процессу.
🔥1
#Практика
Оказывается если в Canvas перевернуть картинку в RectTransform по Ratation X на 180, то перестаёт работать Raycast Target.
Кто-то понимает как это работает? )
Оказывается если в Canvas перевернуть картинку в RectTransform по Ratation X на 180, то перестаёт работать Raycast Target.
Кто-то понимает как это работает? )
#Теория
TaskCompletionSource<TResult>
Представляет сторону производителя Task<TResult> без подключения к делегату, предоставляя доступ к стороне потребителя через свойство Task.
Во многих сценариях полезно разрешить Task<TResult> представлять внешнюю асинхронную операцию. TaskCompletionSource<TResult> предоставляется для этой цели.
Пример:
TaskCompletionSource<TResult>
Представляет сторону производителя Task<TResult> без подключения к делегату, предоставляя доступ к стороне потребителя через свойство Task.
Во многих сценариях полезно разрешить Task<TResult> представлять внешнюю асинхронную операцию. TaskCompletionSource<TResult> предоставляется для этой цели.
Пример:
private async Task<Sprite> GetIcon(int id)
{
Sprite icon = _defaultIcon;
if (id > 0)
{
var tcs = new TaskCompletionSource<Sprite>();
GetSpriteFromBundles bundles = new GetSpriteFromBundles();
bundles.GetIcon(id, sprite =>
{
if (sprite != null)
tcs.SetResult(sprite);
else
tcs.SetResult(_defaultIcon);
});
icon = await tcs.Task;
}
return icon;
}
🔥1