Данный исполняется в Фар 3.0.5826 примерно в 3.3 раза медленнее, чем в 5629.
Замедление замечено в реальном коде, а это тест-кейс.
Замедление отрисовки Message без кнопок
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Замедление отрисовки Message без кнопок
5828.примерно в 3.3 раза медленнее
Вывод в консоль - очень дорогая операция. А если его делать "правильно" - еще дороже.Замедление замечено в реальном коде
Если вы наблюдаете замедление в реальном коде - возможно, стоит пересмотреть концепцию и выводить пореже.
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Замедление отрисовки Message без кнопок
Слишком редко тоже плохо, получаются "застывания" прогресса и большие скачки.
Сделал так: запоминается текущая длина заполненного участка прогресс-бара, при очередном вызове рассчитывается новая длина, Message() вызывается только в случае изменения длины.
Last edited by Shmuel on Fri 18 Jun, 2021 08:00, edited 1 time in total.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
Замедление отрисовки Message без кнопок
Я вначале так делал. А потом решил так, но не чаще, чем раз в секунду (полсекунды). Ну, т.е. ещё и по времени ограничить.
А потом оставил только по времени, т.к. кроме "ползунка" выводилось количество скопированных байт, и для больших файлов было ощущение замирания.
Last edited by buniak_a_h on Fri 18 Jun, 2021 10:26, edited 1 time in total.
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Замедление отрисовки Message без кнопок
Конкретная утилита, на которой была замечена указанная выше проблема, у меня байты не выводит (хотя выводит процент). На файле 4 GB замирания нет. На 100 GB оно уже будет (процент мог бы меняться даже при неизменной длине заполнения).