Почему тормозит Конфигуратор 1С на сервере при наборе текста и как это исправить

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При работе в режиме разработки через терминальный сервер (RDP) программисты 1С часто сталкиваются с неприятным симптомом: Конфигуратор начинает заметно "тупить" или зависать при вводе символов в редакторе модулей. Особенно ярко задержка проявляется в момент нажатия точки или сочетания клавиш Ctrl + Space, когда система пытаются сформировать контекстную подсказку (автодополнение). При этом монитор ресурсов сервера может не показывать пиковых нагрузок по процессору или оперативной памяти.

Рассмотрим подробно причины такого поведения Конфигуратора и разберем по шагам действенные способы решения этой проблемы.

Выясним причины задержки при синтаксическом анализе

Проанализируем механику работы редактора модулей 1С. В момент ввода символа точки платформа запускает процесс вычисления контекста и определения доступных типов, свойств и методов. На серверном оборудовании это может вызывать задержки по следующим причинам:

  1. Однопоточная нагрузка на CPU. Синтаксический разбор текста модуля и вычисление типов выполняются в одном UI-потоке процесса 1cv8.exe. Если у сервера низкая базовая тактовая частота процессора (даже при большом количестве ядер), одно ядро загружается на 100%, блокируя ввод с клавиатуры. При этом суммарный график загрузки процессоров сервера выглядит низким.
  2. Влияние службы DFSS в RDP. На терминальных серверах Windows включен механизм балансировки ресурсов CPU между сессиями — Dynamic Fair Share Scheduling (DFSS). Он может принудительно ограничивать выделение квантов времени процессу 1cv8.exe при резких всплесках нагрузки от автодополнения.
  3. Блокировки временных файлов антивирусом. При построении списка автодополнения платформа активно обращается к кэшу и временным файлам индексации. Если защитник Windows или сторонний антивирус сканирует каталоги AppData в момент записи, редактор блокируется.
  4. Избыточные настройки редактора. Попытка платформы динамически подмешивать шаблоны текста или выполнять автопроверку синтаксиса на лету в крупных конфигурациях с множеством метаданных и расширений.

Шаг 1. Временный обход проблемы в Конфигураторе

Если работу нужно продолжить незамедлительно, временно отключим автоматический вызов контекстной подсказки. Для этого выполним настройки в самом Конфигураторе:

  1. Откроем меню Сервис → Параметры.
  2. Перейдем на вкладку Модули, затем в раздел Контекстная подсказка.
  3. Снимем флажок Автоматический вызов или увеличим задержку срабатывания.
  4. Перейдем в раздел Проверка и отключим автоматическую проверку синтаксиса при наборе текста.

Это мгновенно снимет зависания при наборе текста, однако для комфортной разработки потребуется устранить системные причины на сервере.

Шаг 2. Отключение DFSS на терминальном сервере

Один из самых эффективных способов устранить подтормаживания RDP-сессий при работе с 1С — отключение механизма Fair Share. Проанализируем настройки реестра Windows Server:

  1. Откроем редактор реестра (regedit.exe) от имени администратора.
  2. Перейдем в ветку реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server.
  3. Найдем параметр EnableDFSS типа DWORD и установим его значение равным 0.
  4. Перезагрузим сервер для применения изменений.

Шаг 3. Оптимизация электропитания и антивируса

Для обеспечения максимального быстродействия синтаксического анализатора выполним следующие настройки ОС и защиты:

  1. Схема электропитания ОС. В панели управления сервера откроем раздел электропитания и переведем план в режим Высокая производительность (High Performance), а также отключим парковку ядер (Core Parking). Это предотвратит сброс тактовой частоты процессора.
  2. Исключения антивируса. Добавим в список исключений сканирования процессы 1cv8.exe и 1cv8c.exe, а также папки локального и роумингового кэша пользователей:

    %LOCALAPPDATA%\1C\1cv8

    %APPDATA%\1C\1cv8

  3. Очистка кэша Конфигуратора. Завершим работу Конфигуратора и удалим каталоги кэша конкретной информационной базы в AppData, чтобы платформа пересоздала индексы контекстной подсказки с нуля.

Шаг 4. Обновление платформы 1С:Предприятие

Проблема подвисания интерфейса при разборе автодополнения регулярно оптимизируется разработчиками 1С. В более старых релизах платформы 8.3 (например, 8.3.9) наблюдались известные ошибки работы с индексатором кода. Рекомендуется обновить платформу 1С:Предприятие до актуального стабильного релиза (8.3.10 и выше), где алгоритмы работы с памятью и вычислением типов в редакторе модулей были существенно доработаны.

Альтернативные варианты разработки

Если специфическая конфигурация или ограничения серверного оборудования не позволяют полностью избавиться от задержек в Конфигураторе, разберем альтернативные подходы к организации рабочего места разработчика:

  1. Переход на 1C:EDT (Enterprise Development Tools). В среде EDT анализ кода и вычисление контекстных подсказок выполняются асинхронно в фоновом режиме, благодаря чему ввод текста в редакторе никогда не блокируется.
  2. Локальная разработка с Хранилищем конфигурации. Выполнение доработки кода на локальном компьютере программиста с высокой однопоточной частотой CPU с последующей помещением изменений в Хранилище конфигурации на сервере.
← На главную