Оптимизация вывода информации в консоль

Раздел, посвящённый самому важному - скорости.

Оптимизация вывода информации в консоль

Сообщение gnoblin 22 май 2010, 04:01

Иногда нужно вывести тонну текста в консоль и этот самый вывод может намертво подвесить Unity.

Вот один из вариантов решения проблемы:

Синтаксис:
Используется csharp
    /// <summary>
    /// оптимизируем вывод в консоль
    /// </summary>
    System.Text.StringBuilder strb = new System.Text.StringBuilder();
    Queue ochered = new Queue();
    IEnumerator StrbDebug()
    {
        while (true)
        {
            if(ochered.Count>0)
                Debug.Log(ochered.Dequeue().ToString());
            yield return null;
        }
    }
   
    void DoStrb(int id, int k, int r)
    {
        strb.Remove(0, strb.Length);
        strb.Append("id: ");
        strb.Append(id);
        strb.Append(" k: ");
        strb.Append(k);
        strb.Append(" r: ");
        strb.Append(r);

        ochered.Enqueue(strb.ToString());
    }


Потом в нужных местах вызываем
Код: Выделить всё
DoStrb(id, k, r);
(например в тройном вложенном цикле который бы убил программу нафиг если просто написать там Debug.Log("") ).
И все значения аккуратно выведутся по одному за кадр в консоли (с задержкой, но это не всегда критично).
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Оптимизация вывода информации в консоль

Сообщение Neodrop 22 май 2010, 17:04

Вот примерно так, нужно передавать данные из параллельных потоков.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт


Вернуться в Оптимизация

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2