• Почему умножение работает быстрее деления?

    @BurovAlex88
    Затестил в Benchmark'е. Результаты идентичные

    63f38eb99bfa1228457953.png

    [MemoryDiagnoser]
        [RankColumn]
        public class Operation_Benchmark
        {
            private static float a = 10f, buffer;
            
            private static Random _random = new Random();
            private static Stopwatch _stopwatch = new Stopwatch();
            private static int RandomInt => _random.Next(10);
            
            [Benchmark]
            public void Estimate_Multiply()
            {
                a += RandomInt;
                buffer += a * 0.5f;
            }
    
            [Benchmark]
            public void Estimate_Division()
            {
                a += RandomInt;
                buffer += a / 2f;
            }
        }
    Ответ написан
    Комментировать
  • Как сделать появление текста через какое-то время в игре?

    @BurovAlex88
    Мне больше всего нравится работать с async/await Task.Yield()
    Самый большой плюс такого подхода - все тайминги и каунтеры и прочие вспомогательные переменные остаются внутри функции
    private static async void SaveByTimeout()
            {
                var timer = 0f;
                var timeout = 5 * 60;
                while (IsSaveByTimeout)
                {
                    if (timer >= timeout)
                    {
                        timer = 0;
                        Save();
                    }
    
                    await Task.Yield();
                    timer += Time.deltaTime;
                }
            }
    Ответ написан
    Комментировать