Иногда при вставке слова из списка Т9 происходит длительная задержка

tormozit Открыто Высокий

Начал замечать такое уже давно. Повторяется на разных компьютерах (домашнем и рабочем).
Например ввожу "стру" и нажимаю ENTER в списке Т9 на слове "СтруктураОтличий".
Получаю "струСтруктураОтличий"

При этом в логе каждый раз вижу неудачу вставки перетаскиванием
[09.05.25 23:01:06:039] --Время ожидания реакции = 504ms. Result: False
[09.05.25 23:01:06:039] Warning: Вставка перетаскиванием отключена на 60 секунд.

Ссылка скрыта

Комментарии

tormozit
#1, 10 мая 2025 19:23

Опять такое случилось
Ссылка скрыта


bolsun
#2, ред. 12 мая 2025 17:39

Я давно ничего не менял в алгоритме вставки. Ищи причину у себя.

В логе вижу стороннее вмешательство в процесс вставки каждые 2000 мс, а именно получение типа текущего элемента. Что приводит к ошибке, т.к. конфигуратор не может ответить в этот момент.

System.Runtime.InteropServices.COMException (0x80131505): Время ожидания операции истекло. (Исключение из HRESULT: 0x80131505)
в UIAutomationClient.IUIAutomation.GetFocusedElementBuildCache(IUIAutomationCacheRequest cacheRequest)
в TurboConf.Core.TurboAPI.TurboApi.GetUIAutomationLocalizedControlType()


tormozit
#3, 12 мая 2025 17:43

(4) bolsun, Посмотрю.
Сообщения (2) и (3) добавил сюда ошибочно. Там другая проблема. Позже перенесу.


tormozit
#4, ред. 12 мая 2025 18:01

(4) bolsun, фоновым потокам скриптов было бы очень полезно дать методы для понимания состояния взаимодействия основного потока с окном конфигуратора. Тут ранее уже описал свои соображения на эту тему более развернуто https://turboconf.ru/Tasks/10271 . В частности описанная здесь проблема, получается предположительно возникает из-за казалось бы безобидного чтения типа активного элемента интерфейса каждые 2 секунды фоновым методом скрипта. И это чтение не сильно там нужно, т.е. это второстепенная функция. Ей было бы достаточно делать свои дела, когда она другим потокам не мешает.


tormozit
#5, ред. 12 мая 2025 18:49

(4) bolsun, Проверил оба лога (0) и (1) и не нашел там фрагмента "0x80131505" из указанной тобой ошибки. Уточни, какой лог ты анализировал в этом ответе.


tormozit
#6, 12 мая 2025 18:54

(3) tormozit, Сообщения (2) и (3) перенес в заявку https://turboconf.ru/Tasks/10266


bolsun
#7, 12 мая 2025 20:45

(5) tormozit, из этого дубля https://turboconf.ru/Tasks/10266


bolsun
#8, ред. 12 мая 2025 21:00

(5) tormozit, в этих логах такой ошибки нет, но фоновые вызовы UIAutomation при открытой подсказке T9 и в процессе вставки есть. Поэтому нужно устранить их и если проблема продолжится, то разбираться уже с новыми логами.


tormozit
#9, 21 мая 2025 07:13

Больше не замечал такой проблемы. Видимо новый алгоритм выбора момента фоновой активности помог.
tormozit изменил статус на Закрыто


tormozit
#10, ред. 22 мая 2025 17:50

Вроде опять случилось. Вижу при этом в служебных сообщениях снова

Вставка перетаскиванием отключена на 60 секунд

Ссылка скрыта
tormozit изменил статус на Открыто


tormozit
#11, 29 июля 2025 08:02

Вроде больше не случалось.
tormozit изменил статус на Закрыто


tormozit
#12, ред. 04 августа 2025 10:33

Видимо это как то связано с остановкой в отладке. Вот много раз вставлял и каждый раз сотни мс длилась вставка, хотя обработчики скрипта выполнялись очень быстро. А иногда слово вообще не вставлялось, т.е. старое удалялось, но новое не вставлялось.

Ссылка скрыта

nDGONBCeCY.mp4
tormozit изменил статус на Открыто


tormozit
#13, 04 августа 2025 10:36

(12) tormozit, после выхода из остановки отладки длительность вставки вернулась к обычным 200мс.


tormozit
#14, 04 августа 2025 10:37

(12) tormozit, снова остановился отладчиком в том же месте и повторил тест. Опять вставка замедлилась в той же степени, что и в первый раз.


tormozit
#15, 04 августа 2025 10:42

(12) tormozit, Похоже на свежую проблему. Вроде бы раньше настолько стабильного замедления не наблюдал.


bolsun
#16, ред. 04 августа 2025 11:04

(12) tormozit, вставка перетаскиванием была отключена и выполнялась медленная вставка через буфер, в какой момент это произошло в логе данных нет. Возможно останов был в обработчике перетаскивания, тогда это известная проблема.


tormozit
#17, 04 августа 2025 11:54

(16) bolsun, да, остановка делалась внутри обработки события "Перетаскивание"


bolsun
#18, ред. 04 августа 2025 12:21

(17) tormozit, тогда программа отработала корректно и переключилась на медленный и нестабильный режим вставки через буфер. В данной ситуации это единственное решение проблемы, из-за особенностей механизма перетаскивания в Windows (перетаскивание перестает работать если программа остановлена в обработчике перетаскивания).


tormozit
#19, ред. 04 августа 2025 22:25

Предлагаю при отключении Турбоконфом вставки перетаскиванием, если оно случилось из-за заморозки перетаскивания, выводить уведомление с пояснением "Из-за заморозки перетаскивания отладчиком вставка текста переведена в замедленный режим.". Это поможет пользователю предпринять действия для ускорения выхода из такой остановки отладки.


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера