Работа программиста 1С в среде Linux часто сопровождается специфическими трудностями, связанными с отрисовкой интерфейса. Одной из наиболее раздражающих проблем являются задержки (лаги) при прокрутке кода или выделении текста в Конфигураторе. Разберем подробно, почему возникают эти проблемы на платформе 8.3.16, 8.3.17 и выше, а также проанализируем методы оптимизации системы для комфортной разработки.
Проанализируем одну из самых частых причин медленной работы интерфейса современных дистрибутивов Linux (таких как Ubuntu 20.04+, Fedora или Debian). Современные дистрибутивы по умолчанию используют графический протокол Wayland. Несмотря на его технологичность, платформа 1С по-прежнему ориентирована на работу с классическим X.Org (X11).
При использовании Wayland отрисовка окон 1С может происходить через прослойку XWayland, что создает дополнительные накладные расходы ресурсов и приводит к визуальным тормозам. Рассмотрим, как это исправить:
Как показывает практика, простой переход на X11 в большинстве случаев полностью устраняет задержки при выделении текста.
Выясним причину, связанную с отрисовкой текста. Внутренние механизмы 1С:Предприятие при работе в Конфигураторе жестко завязаны на метрики шрифтов семейства Microsoft (например, Arial, Courier New, Tahoma). Если в системе установлены только свободные аналоги (например, Liberation Sans), движок 1С тратит значительные ресурсы процессора на подстановку шрифтов «на лету» при каждом скроллинге экрана.
Чтобы исключить эту нагрузку, установим пакет оригинальных шрифтов. Разберем по шагам процесс для систем на базе Debian/Ubuntu:
Откроем терминал и выполним следующую команду:
sudo apt update
sudo apt install ttf-mscorefonts-installer
sudo fc-cache -f -v
После установки шрифтов и обновления кэша шрифтов fontconfig отрисовка текста в редакторе кода станет значительно быстрее и плавнее.
Посмотрим на ситуацию со стороны графической подсистемы. Проблемы со скроллингом часто связаны с тем, как библиотека отрисовки Cairo взаимодействует с драйвером видеокарты. Если используются свободные драйверы (например, Nouveau для карт NVIDIA), аппаратное ускорение 2D-примитивов может работать некорректно.
Рассмотрим два противоположных метода решения, которые помогают в разных ситуациях:
Метод А: Принудительное программное ускорение. Парадоксально, но иногда отключение видеокарты для отрисовки графики 1С помогает убрать лаги. Для этого запустим 1С с переменной окружения LIBGL_ALWAYS_SOFTWARE=1. Это заставит систему использовать центральный процессор (через библиотеку LLVMpipe) вместо видеодрайвера.
Попробуем запустить платформу из терминала для проверки:
export LIBGL_ALWAYS_SOFTWARE=1
/opt/1cv8/x86_64/8.3.17.1386/1cv8
Метод Б: Использование проприетарных драйверов. Если у вас видеокарта NVIDIA, убедитесь, что вы не используете стандартный драйвер. Перейдите в «Программы и обновления» -> «Дополнительные драйверы» и выберите рекомендуемую проприетарную версию драйвера.
Разберем влияние графической оболочки на быстродействие окон 1С. В обсуждении на форуме упоминалось использование Compiz. Современные эффекты (тени, прозрачность, анимация сворачивания) могут конфликтовать с тем, как Конфигуратор обновляет содержимое своего окна.
В оболочке KDE Plasma попробуем временно отключить эффекты рабочего стола сочетанием клавиш Alt+Shift+F12. Если тормоза исчезли, значит проблема в композитном менеджере KWin.
В GNOME стоит проверить установленные расширения. Особенно сильно на скорость отрисовки могут влиять расширения, изменяющие поведение окон или добавляющие размытие (Blur). Рекомендуется отключить лишние украшательства при работе с тяжелыми IDE, к которым относится и Конфигуратор.
Проанализируем настройки самого приложения 1С. Платформа имеет встроенные механизмы, которые могут создавать дополнительную нагрузку на графический поток в среде Linux.
Конфигуратор 1С активно использует WebKit для отображения справочной системы и некоторых форм. Несоответствие версий библиотек (например, ожидание libwebkitgtk-3.0-0 при наличии только более новых версий) может приводить к скрытым ошибкам, которые «подвешивают» основной интерфейс.
Также стоит проверить файл настроек conf.cfg, расположенный в каталоге установки платформы или в домашней директории пользователя. Иногда помогает добавление параметров, ограничивающих использование определенных графических ресурсов, однако это требует индивидуальной подборки под конкретный дистрибутив.
В завершение отметим, что запуск 1С внутри виртуальной машины в Linux (например, через VirtualBox) без проброса 3D-ускорения гарантированно приведет к тормозам, так как 1С активно использует 2D-примитивы, которые в виртуальной среде без аппаратной поддержки обрабатываются крайне медленно.