1 минут чтения
25 Sep

Если вы в игре часто использовали числа для вывода в пользовательском интерфейсе, то вы, наверное, заметили в профайлере (есть такая, да) аллокации, от которых вы не можете избавиться:

 текст = здоровье.ToString();

А ведь есть еще и всякие

 текст = $"{value}/{maxValue}";

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

если здоровье = 0..100, то можно занести массив и взять стоимость:

 текст = arr[здоровье];

или

 текст = arr[maxValue][значение];

Да, мы делаем небольшое подобное https://t.me/unsafecsharp/11, но мы не используем объединенные строки, т.к. у нас они уже созданы.

Комментарии
* Адрес электронной почты не будет отображаться на сайте.