Зависание bas при создании овер много строк без таймаута
-
такая проблема, когда интерфейс виснет по время работы софта, только у однопоточных приложений, БАС под это описание не подходит.
Думаю проблема как-раз таки в том, что запись идет сразу в файл, каждую строку. Т.е. нужно обратится к файлу 300к раз. А если бы использовался ресурс, то к файлу было бы всего несколько обращений (все остальное время, данные были бы в оперативке)
-
Согласен. Тут лучше в список писать, а в конце цикла сохранить список в файл. И БАС секунду считает вместо 1 мл как раз из-за времени чтения\записи в файл.
-
Тоже так же зависает, вот пример с ресурсом (ресурс создаеться в оперативке) пример в цикле генерит лям строк после чего закидывает ресурсы в список и список сохраняется в файл
0_1511929295359_srtroka.xmlминус этого способа что оперативку начинает отжирать когда строки в ресурсе копятся и симптомы остаються те же.
в ресурсе интервал между использованием что 1 что 10000 разницы нет.
перед записью поставил спать 1000 в это время бас отвисает что указывает на то что зависание формы происходит во время генерации строки и записи ее в ресурс.
Так что парни ваши предположения не верны.
-
@Alexx ок, тогда юзай это решение 0_1511958115024_1511929300297-srtroka.xml
1кк строк генерится 4сек, вместо 50сек. Да, интерфейс тоже при этом "подвиснет", но всего лишь на 4сек.ps: 1кк строк в процессе сожрет около 300мб RAM, но если оперативки жалко, можно писать каждую строку сразу в файл или к примеру каждые 10к.
-
@out said in Зависание bas при создании овер много строк без таймаута:
@Alexx ок, тогда юзай это решение 0_1511958115024_1511929300297-srtroka.xml
1кк строк генерится 4сек, вместо 50сек. Да, интерфейс тоже при этом "подвиснет", но всего лишь на 4сек.ps: 1кк строк в процессе сожрет около 300мб RAM, но если оперативки жалко, можно писать каждую строку сразу в файл или к примеру каждые 10к.
да решение шустрое, благодарю за код
-
еще советую, после записи строк в файл, очистить список, чтобы освободить память.
-
@out, а почему у меня такой огромный интерфейс в твоем проекте?
http://prntscr.com/hgtam1Это как-то настраивается?
-
да, масштаб можно менять http://ipic.su/img/img7/fs/kiss_40kb.1511964717.jpg
это для HIDPI экранов.
-
@out, круто, спасибо. Стало удобнее!