View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004080 | Far Manager | Panel | public | 2025-08-10 15:03 | 2025-08-15 19:56 |
| Reporter | far.user | Assigned To | DrKnS | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | x64 | OS | Windows | OS Version | 11 |
| Product Version | 3.0 | ||||
| Fixed in Version | 3.0 | ||||
| Summary | 0004080: Windows 11: медленная навигация с помощью стрелок если вторая панель скрыта | ||||
| Description | В Windows 11(Default Terminal Application = Windows Console Host) при настройках по умолчанию наблюдается проблема с производительностью(CPU) если осуществлять навигацию в оставшейся панели зажав клавишу "Вверх" или "Вниз". | ||||
| Steps To Reproduce |
| ||||
| Additional Information | Условия для воспроизведения проблемы:
Указанная проблема НЕ воспроизводится на одном и том же устройстве если:
При запуске Far.exe в режиме отладки и профилирования(тэг builds/3.0.6446, запуск процесса из C:\Program Files\Far Manager) в Visual Studio было установлено, что нагрузка на CPU возникает из-за многократного вызова системной функции SetConsoleMode(kernelbase.dll) из console::SetMode при перерисовке экрана в процессе навигации. Результаты профайлинга прикреплены - скриншот и файл diagsession(Visual Studio). Обнаружено временное решение - установить Interface.VirtualTerminalRendering=true (или через UI - Options > Colors > Panel > Normal Text> Enable VT, то это решает проблему. Возможно для Windows 11 эта опция должна быть включена по-умолчанию либо каким-то способом исправить ScreenBuf::Flush. | ||||
| Tags | No tags attached. | ||||
| Build | 6526 | ||||
|
|
|
|
|
|
|
|
В ветке master появилось исправление https://github.com/FarGroup/FarManager/compare/b2310229579f6d3d3f0806914fb182d67d2948de...b6992615b6f5df16260dae16fc1382962193b77b , но оно не согласовано с отображением параметра VirtualTerminalRendering через far:config. Полагаю, что требуется аналогичное исправление для https://github.com/FarGroup/FarManager/blob/c63ee3dcbf2ce24fa09c6183aeeacda20f30d812/far/config.cpp#L1920 либо значение этого свойства по умолчанию должно устнавливаться только в InitConfigsData() и затем читаться в SetFarConsoleMode() |
|
|
ENABLE_VIRTUAL_TERMINAL_PROCESSING != VirtualTerminalRendering |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-08-10 15:03 | far.user | New Issue | |
| 2025-08-10 15:03 | far.user | File Added: Report20250810-slow.diagsession | |
| 2025-08-10 15:03 | far.user | File Added: profiling.png | |
| 2025-08-10 15:13 | far.user | Note Added: 0017633 | |
| 2025-08-10 15:13 | far.user | File Added: profiling-2.png | |
| 2025-08-15 19:31 | far.user | Note Added: 0017635 | |
| 2025-08-15 19:34 | far.user | Note Edited: 0017635 | |
| 2025-08-15 19:38 | far.user | Note Edited: 0017635 | |
| 2025-08-15 19:55 | far.user | Note Edited: 0017635 | |
| 2025-08-15 19:56 | DrKnS | Assigned To | => DrKnS |
| 2025-08-15 19:56 | DrKnS | Status | new => closed |
| 2025-08-15 19:56 | DrKnS | Resolution | open => fixed |
| 2025-08-15 19:56 | DrKnS | Fixed in Version | => 3.0 |
| 2025-08-15 19:56 | DrKnS | Build | => 6526 |
| 2025-08-15 19:56 | DrKnS | Note Added: 0017636 |