Latest post of the previous page:
А есть у кого нет никаких пауз, и консоль не legacy?Тормоза после апгрейда на RS5 (1809)
Тормоза после апгрейда на RS5 (1809)
Есть.
В связи с любовью к WSL, может всё-таки стоит обратить внимание, что в 1809 к WSL можно прикрутить Defender ?
Add: Но расчехлить procmon, конечно, было бы надёжнее.
Last edited by 2useven10 on Tue 09 Oct, 2018 15:55, edited 1 time in total.
Тормоза после апгрейда на RS5 (1809)
Ммм. Не понял. У меня дефендер вообще выключен, а тормоза — при запуске вообще всего, не обязательно WSL.
И если дефендер при делах, то отчего он становится не- для legacy console?
Тормоза после апгрейда на RS5 (1809)
Ну тогда или ждать, пока тормоза обнаружатся у того кто сможет описать ситуацию более полно,
либо procmon в руки, или ждать следующий апдейт - вдруг счастье придёт само.
-
- Posts: 1331
- Joined: Mon 04 Apr, 2005 13:41
- Location: San Ramon, CA / Kharkov, UA
- Has thanked: 32 times
- Been thanked: 61 times
Тормоза после апгрейда на RS5 (1809)
По умолчанию так у всех
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Тормоза после апгрейда на RS5 (1809)
Тут еще интересно, что тормоза (при переходе на новую консоль) были всегда, просто они были относительно невелики и не вызывали мучений, я это понял только сейчас, попробовав старую консоль, где, как оказалось, тормоза остутствуют полностью.
И только при последнем апгрейде эти тормоза преодолели некий барьер активации, стали вопиющими и заставили обратить на себя внимание.
Если кому-нибудь не влом, попробуйте старую консоль и сравните.
И только при последнем апгрейде эти тормоза преодолели некий барьер активации, стали вопиющими и заставили обратить на себя внимание.
Если кому-нибудь не влом, попробуйте старую консоль и сравните.
-
- Posts: 1331
- Joined: Mon 04 Apr, 2005 13:41
- Location: San Ramon, CA / Kharkov, UA
- Has thanked: 32 times
- Been thanked: 61 times
Тормоза после апгрейда на RS5 (1809)
У меня вообще никаких тормозов нет на ноутбуке 4-х летней давности.
Edit: CPU I7-4710HQ
Edit: CPU I7-4710HQ
Last edited by Yegor on Tue 09 Oct, 2018 22:10, edited 1 time in total.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Тормоза после апгрейда на RS5 (1809)
Вопрос к тем у кого нет тормозов: а Height в Screen Buffer Size у вас какая? У меня 9999. А у вас, я подозреваю, она маленькая — размера видимой области, поскольку вам скроллинг не нужен.
Тормоза возникают при вызове консольного API `ScrollConsoleScreenBuffer`, он отрабатывает почти секунду, когда пытается отмотать буфер на -1 по вертикали. Это происходит перед запуском чего угодно, видимо для скрытия самого нижнего ряда консоли (где подсказки для кнопок F1-F12) и после выполнения, когда этот ряд снова показывается.
Мне кажется, эта пара телодвижений (скрытие/показ нижнего ряда) тут абсолютно лишние.
Тормоза возникают при вызове консольного API `ScrollConsoleScreenBuffer`, он отрабатывает почти секунду, когда пытается отмотать буфер на -1 по вертикали. Это происходит перед запуском чего угодно, видимо для скрытия самого нижнего ряда консоли (где подсказки для кнопок F1-F12) и после выполнения, когда этот ряд снова показывается.
Мне кажется, эта пара телодвижений (скрытие/показ нижнего ряда) тут абсолютно лишние.
Last edited by awson on Wed 10 Oct, 2018 10:39, edited 2 times in total.
Тормоза после апгрейда на RS5 (1809)
А зачем в `execute_info` нужен `Echo`?
Если я его сразу ставлю в `false` то всё распрекрасно начинает летать и никаких других проблем я не вижу, ни на какие мои use cases его отсутствие не влияет.
Видимо, я не использую что-то для чего оно нужно? Но что?
Если я его сразу ставлю в `false` то всё распрекрасно начинает летать и никаких других проблем я не вижу, ни на какие мои use cases его отсутствие не влияет.
Видимо, я не использую что-то для чего оно нужно? Но что?
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Тормоза после апгрейда на RS5 (1809)
Фар использует буферизацию вывода - есть 2d матрица в памяти, куда всё пишется, периодически она флашится в физическую консоль.
Раньше, когда концепции большого буфера не было, и по каким-то причинам надо было прокрутить содержимое экрана вверх, достаточно было у этой матрицы дропнуть строку сверху и добавить снизу.
Сейчас, когда концепция большого буфера есть, это уже не катит: если строку сверху просто дропнуть - она уйдёт в никуда, а должна уйти вверх, за видимую границу окна (в этом как бы вся суть большого буфера).
ScrollConsoleScreenBuffer используется для сдвига невидимой части физического буфера вверх. После этого в образовавшийся промежуток фар пишет вытесняемую из видимой части линию.
Адекватных альтернатив ScrollConsoleScreenBuffer нет.
Если вас раздражает, что кто-то применил там Shlemiel the painter’s algorithm - в windows 10 есть встроенное средство для отправки багрепортов.
Еще есть official Windows Console issues & samples repo - возможно, там ответят быстрее.
Раньше, когда концепции большого буфера не было, и по каким-то причинам надо было прокрутить содержимое экрана вверх, достаточно было у этой матрицы дропнуть строку сверху и добавить снизу.
Сейчас, когда концепция большого буфера есть, это уже не катит: если строку сверху просто дропнуть - она уйдёт в никуда, а должна уйти вверх, за видимую границу окна (в этом как бы вся суть большого буфера).
ScrollConsoleScreenBuffer используется для сдвига невидимой части физического буфера вверх. После этого в образовавшийся промежуток фар пишет вытесняемую из видимой части линию.
Адекватных альтернатив ScrollConsoleScreenBuffer нет.
Если вас раздражает, что кто-то применил там Shlemiel the painter’s algorithm - в windows 10 есть встроенное средство для отправки багрепортов.
Еще есть official Windows Console issues & samples repo - возможно, там ответят быстрее.
Тормоза после апгрейда на RS5 (1809)
Сразу оговорюсь: разумеется это бага в винде. Но с вероятностью близкой с единице даже если её немедленно и качественно отрепортить (что само по себе требует усилий), её поправят не раньше, чем к следующему релизу. А может быть и никогда.
Мне известен абсолютно вопиющий баг, которому уже годы, он появился во втором релизе десятки, но его не чинят, и, скорее всего, никогда не починят (разве что случайно), потому что он затрагивает не сотню миллионов пользователей, а, скажем, сотню тысяч или меньше.
Так что втыкание костыля имеет таки смысл.
Я сходу не совсем понимаю написанное (устал, разбираться буду как-нибудь потом), поэтому вопрос — а что должно сломаться-то?
Вот я сейчас (с выпиленным `ScrollConsoleScreenBuffer`) в фаре с буфером максимального размера скроллю консоль и построчно и постранично и вверх и вниз и в самое начало и в самый конец и ничего у меня никуда не уходит и не пропадает.
Правда, вот нашел: если в промежутке сделать фуллскрин (Alt-9) и вернуться, то одна строка исчезает.
Мне известен абсолютно вопиющий баг, которому уже годы, он появился во втором релизе десятки, но его не чинят, и, скорее всего, никогда не починят (разве что случайно), потому что он затрагивает не сотню миллионов пользователей, а, скажем, сотню тысяч или меньше.
Так что втыкание костыля имеет таки смысл.
Я сходу не совсем понимаю написанное (устал, разбираться буду как-нибудь потом), поэтому вопрос — а что должно сломаться-то?
Вот я сейчас (с выпиленным `ScrollConsoleScreenBuffer`) в фаре с буфером максимального размера скроллю консоль и построчно и постранично и вверх и вниз и в самое начало и в самый конец и ничего у меня никуда не уходит и не пропадает.
Правда, вот нашел: если в промежутке сделать фуллскрин (Alt-9) и вернуться, то одна строка исчезает.
Last edited by awson on Wed 10 Oct, 2018 16:34, edited 1 time in total.
Тормоза после апгрейда на RS5 (1809)
Хотя действительно, раз они активны в процитированном гитхабовском репо, то, может быть, и пофиксят к следующему релизу.
По крайней мере, WSL-евская команда один баг, который я им на гитхабе отрепортил, пофиксила к следующему релизу.
По крайней мере, WSL-евская команда один баг, который я им на гитхабе отрепортил, пофиксила к следующему релизу.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Тормоза после апгрейда на RS5 (1809)
Если не репортить, то точно никогда.
Так альтернатив нет. Единственный способ сдвинуть содержимое физического буфера вверх, не используя ScrollConsoleScreenBuffer - это встать в самый конец и напечатать \n. При этом содержимое внутреннего буфера надо флашить (иначе будет месиво), как следствие - не будет работать "тихий" запуск, фар будет моргать панелями при запуске графических приложений. Может еще что вылезет. И не факт, что оно тоже не тормозит, проверять надо.Так что втыкание костыля имеет таки смысл.
0. Идем в папку, где много файлов - больше, чем высота экрана.а что должно сломаться-то?
1. Исполняем
cls
.2. Исполняем
dir
.3. Копируем весь вывод себе в текстовый файл.
4. Исполняем
lol
.5. Копируем весь вывод себе в другой текстовый файл.
6. Сравниваем текстовые файлы, ожидая, что различия будут только в самом конце ("'lol' is not recognized as an internal or external command...")
Тормоза после апгрейда на RS5 (1809)
На самом деле должно быть еще одно различие на самом верху (ушла строка).
И так и происходит! Именно эти два различия только и есть. Больше никаких нет.
На самом деле, если включить часы в панели, то там появляется глюк, когда строка с временем перемещается, но даже и в этом случае строки не исчезают. То есть, я подозреваю, что это другой глюк.
Last edited by awson on Wed 10 Oct, 2018 17:34, edited 1 time in total.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Тормоза после апгрейда на RS5 (1809)
Копировать, очевидно, надо всё (Alt+Space - Edit - Select All - Enter), а не в пределах окна, иначе зачем у вас там 9999 строк.
Тормоза после апгрейда на RS5 (1809)
Разумеется, я скопировал всё.
"Сверху ушла строка" означает ушла первая из 9999 строк (в моем случае она была пустой, но могла бы быть и не пустой, если б вывод содержал больше 9999 строк).
"Сверху ушла строка" означает ушла первая из 9999 строк (в моем случае она была пустой, но могла бы быть и не пустой, если б вывод содержал больше 9999 строк).
Last edited by awson on Wed 10 Oct, 2018 17:51, edited 1 time in total.