Чтение из текста в Unity намного медленнее, чем в консольном приложении C # - PullRequest
0 голосов
/ 18 января 2019

Опираясь на этот вопрос У меня есть текстовый файл в этом формате с 75 миллионами строк:

X Y Z colorvalues -0.680891 -90.6809 0 204 204 204 255

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

StreamReader sr;

// Use this for initialization
void Start () {
    sr = new StreamReader(Application.dataPath + "/PointCloud/DVS.txt");
    Debug.Log("Read is called");
    Read();
}

void Read()
{

    string line;
    while ((line = sr.ReadLine())!=null)
    {

    }
    Debug.Log("Read has ended");
}

Требуется 3 минуты, чтобы просто прочитать текстовый файл без каких-либо других операций. Когда я тестирую это с приложением C # или с C ++, это занимает максимум 30 секунд. Мне действительно любопытно, что вызывает проблему. Я был бы рад, если кто-нибудь может объяснить, почему эта проблема происходит на Unity. Спасибо!

Вот фотография Профилировщика с новой темой.

enter image description here

1 Ответ

0 голосов
/ 22 января 2019

Сегодня я понял, в чем проблема. Я тестировал эти коды в редакторе и в процессе разработки для некоторой отладки. Когда я собрал его для Windows должным образом, чтение стало намного быстрее, и все строки были прочитаны примерно за 30 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...