Замедление отрисовки Message без кнопок

Разработка Far.
Post Reply
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Замедление отрисовки Message без кнопок

Post by Shmuel »

Данный исполняется в Фар 3.0.5826 примерно в 3.3 раза медленнее, чем в 5629.
Замедление замечено в реальном коде, а это тест-кейс.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Замедление отрисовки Message без кнопок

Post by DrKnS »

примерно в 3.3 раза медленнее
5828.
Замедление замечено в реальном коде
Вывод в консоль - очень дорогая операция. А если его делать "правильно" - еще дороже.
Если вы наблюдаете замедление в реальном коде - возможно, стоит пересмотреть концепцию и выводить пореже.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Замедление отрисовки Message без кнопок

Post by Shmuel »

DrKnS wrote: Fri 18 Jun, 2021 01:09 возможно, стоит пересмотреть концепцию и выводить пореже
Слишком редко тоже плохо, получаются "застывания" прогресса и большие скачки.
Сделал так: запоминается текущая длина заполненного участка прогресс-бара, при очередном вызове рассчитывается новая длина, Message() вызывается только в случае изменения длины.
Last edited by Shmuel on Fri 18 Jun, 2021 08:00, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Замедление отрисовки Message без кнопок

Post by buniak_a_h »

Shmuel wrote: Fri 18 Jun, 2021 07:56 Message() вызывается только в случае изменения длины.
Я вначале так делал. А потом решил так, но не чаще, чем раз в секунду (полсекунды). Ну, т.е. ещё и по времени ограничить.
А потом оставил только по времени, т.к. кроме "ползунка" выводилось количество скопированных байт, и для больших файлов было ощущение замирания.
Last edited by buniak_a_h on Fri 18 Jun, 2021 10:26, edited 1 time in total.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Замедление отрисовки Message без кнопок

Post by Shmuel »

Конкретная утилита, на которой была замечена указанная выше проблема, у меня байты не выводит (хотя выводит процент). На файле 4 GB замирания нет. На 100 GB оно уже будет (процент мог бы меняться даже при неизменной длине заполнения).
Post Reply

Return to “Development”