Тестируем производительность КОМПАС-3D на Linux
Привет! С вами Станислав Ермохин, руководитель группы методического обеспечения в команде КОМПАС-3D.
Наша команда продолжает разработку КОМПАС-3D под ОС на базе ядра Linux. Мы всё ближе и ближе к релизу, который состоится в этом году. Правда, пока нам есть над чем работать, но система уже находится в наиболее стабильном состоянии, когда можно производить нагрузочное тестирование. Окончательными результатами тестирования мы поделимся чуть позже, добавив к ним результаты тестирования от наших пользователей после бета-тестирования.
Дальше будут данные сравнительного тестирования, полученные на тестовом стенде.
Особенность данного сравнения заключается в том, что тестировать мы будем не разное оборудование на одной ОС, а разные ОС на одном оборудовании.
Аппаратная часть:
CPU: Intel Core i9–10900K
RAM: 32 Gb
GPU: NVIDIA Quadro P2200 [GP106GL]
видеокарта у нас не сильно новая, но не потерявшая актутальности
Операционные системы:
Альт Рабочая станция 11 Бета
Astra Linux SE 1.8
РЕД ОС 8.0
Windows 10
КОМПАС-3D v24 TR (технический релиз)
Быстродействие мы будет сравнивать по FPS, и тут есть такой момент, что найти кроссплатформенную утилиту для считывания этого самого FPS нам не удалось, поэтому:
для ОС Windows будем использовать утилиту Fraps
для ОС на ядре Linux приложение MangoHud.
Если вы знаете кроссплатформенное приложение для снятия показаний FPS, то напишите нам его название в комментария. Заранее большое спасибо!
А для сбора информации о системе Linux используем утилиту inxi (правда, её нет в Astra Linux, но мы возьмём этот пакет из Debian).
Что нам inxi-S говорит об установленных системах:
Альт 11 Бета | System: Host: host-57 Kernel: 6.12.12–6.12-alt1 arch: x86_64 bits: 64 |
Astra Linux SE 1.8 | System: |
РЕД ОС 8.0 | System: |
Команда inxi-G позволит нам получить данные по графической подсистеме. Данные по всем системам приводить не будем, там всё +/- одинаково и выглядит так:
Graphics:
Device-1: Intel CometLake-S GT2 [UHD Graphics 630] driver: i915 v: kernel
Device-2: NVIDIA GP106GL [Quadro P2200] driver: nouveau v: kernel
Display: x11 server: X.Org v: 1.21.1.7 driver: dri: nouveau gpu: nouveau
note: X driver n/a resolution: 1920×1080~75Hz
API: OpenGL v: 4.3 Mesa 22.3.6 renderer: NV136
Немного упорядочим данные:
Версия Linux | Графическая оболочка | Графический сервер | |
Альт 11 Бета | Kernel: 6.12.12–6.12-alt1 | GNOME v: 47.4 | X.Org v: 1.21.1.14 |
Astra Linux SE 1.8 | 6.1.90–1-generic arch | Fly | X.Org v: 1.21.1.7 |
РЕД ОС 8.0 | 6.6.51–1.red80.x86_64 | MATE 1.28.1 | X.Org 1.20.14 |
У нас разные ядра и разные графические оболочки. Интересно, как это повлияет на производительность графики?!
При этом, самое важное, что «из коробки» везде используется драйвер видеокарты nouveau — проект по созданию свободных драйверов для видеокарт компании Nvidia с поддержкой ускорения трёхмерной графики. Сейчас посмотрим, как он поддерживает видеокарты.
В качестве модели для тестирования используем сборку Двигателя АИ-14, на котором наши пользователи осваивают инструменты работы с системой КОМПАС-3D.
Компоненты всех уровней = 1706
Подсборки (*.a3d) = 122
Детали (*.m3d) = 1029
Библиотечные компоненты = 555
Оцениваем производительность и получаем такие данные, FPS:
Критерий | Альт 11 Бета | Astra Linux SE 1.8 | РЕД ОС 8.0 |
Скорость вращения сборки | 13 | 12 | 18–19 |
Скорость перемещения сборки | 13 | 12 | 18 |
Скорость масштабирования сборки | 12 | 10 | 13–16 |
Скорость перебора компонентов в Дереве модели | 2–3 | 1–2 | 1–2 |
Скорость перемещения сборочного чертежа (6 видов) | 3 | 3 | 3 |
Скорость масштабирования сборочного чертежа (6 видов) | 3–4 | 2 | 3 |
Нельзя сказать, что это выдающиеся результаты, но они такие, какие есть на самом деле. Выбиваются здесь только данные для РЕД ОС: они для случаев вращения и перемещения модели выше в 1,5 раза, чем у Альт и Astra Linux.
После получения данных производим установку проприетарного драйвера NVIDIA. Здесь стоит отметить положительный момент, что качать его с сайта NVIDIA не нужно, все необходимые пакеты драйвера есть в репозиториях наших целевых ОС.
Процесс установки драйвера описывать не будем, так как если вы выбрали работу в Linux, то и с установкой драйвера тоже разберётесь. Установив драйвер, видим такую картину:
Graphics:
Device-1: Intel CometLake-S GT2 [UHD Graphics 630] driver: i915 v: kernel
Device-2: NVIDIA GP106GL [Quadro P2200] driver: nvidia v: 550.54.14
Display: x11 server: X.Org v: 1.21.1.7 driver: gpu: nvidia, nvidia-nvswitch
note: X driver n/a resolution: 2560×1440~60Hz
API: OpenGL v: 4.6.0 NVIDIA 550.54.14 renderer: Quadro P2200/PCIe/SSE2
В первую очередь для gpu используется драйвер nvidia, для поддержки OpenGL вместо MESA используется компонент из драйвера, и нас это полностью устраивает.
Повторно выполняем оценку производительности на нашей модели Двигателя АИ-14.

Добавим результаты к предыдущей таблице. Также в эту таблицу добавим данные по работе КОМПАС-3D в ОС Windows 10.
Критерий | Альт 11 Бета | Альт 11 Бета | Astra Linux SE 1.8 | Astra Linux SE 1.8 | РЕД ОС 8.0 | РЕД ОС 8.0 | Win 10 |
nouveau | nvidia | nouveau | nvidia | nouveau | nvidia | nvidia | |
Скорость вращения сборки | 13 | 123 | 12 | 123 | 18–19 | 125 | 125 |
Скорость перемещения сборки | 13 | 123 | 12 | 125 | 18 | 125 | 125 |
Скорость масштабирования сборки | 12 | 18 | 10 | 18–22 | 13–16 | 18 | 19 |
Скорость перебора компонентов в Дереве модели | 2–3 | 2–3 | 1–2 | 2–3 | 1–2 | 1–2 | 2 |
Скорость перемещения сборочного чертежа (6 видов) | 3 | 53 | 3 | 46 | 3 | 41 | 34 |
Скорость масштабирования сборочного чертежа (6 видов) | 3–4 | 18 | 2 | 18 | 3 | 18 | 20 |
Результат прироста производительности виден «невооруженным взглядом». Но если вы всё же взяли инструмент для анализа данных — калькулятор и прикинули, то получаем что:
рост скорости при вращении/перемещении модели сборки составил 6–8 раз;
рост скорости при перемещения чертежа в 12–15 раз.
Обратим внимание, что при масштабировании изображения модели и чертежа значение зафиксировалось на числе 18. Объяснить это достаточно просто. Со стандартными настройками КОМПАС-3D (как для модели, так и для чертежа) изменение масштаба изображения происходит с коэффициентом 1.2. То есть у нас изображение приближается/отдаляется каждый раз на 20%, скачкообразно. Если коэффициент изменить на 1.05, то изображение будет масштабироваться более плавно (и как следствие подрастет FPS), но при этом крутить колесо прокрутки мыши придётся дольше. Тут сразу становится актуальной фраза: вам шашечки или ехать?
Какие можно сделать выводы:
Система КОМПАС-3D является аппаратно-зависимым приложением, в том числе и по видеокарте. Не стоит радоваться, если после установки ОС на ядре Linux монитор вам показывает цветное изображение графического интерфейса. Драйвера от сообщества могут подойти только для работы офисных приложений, а для работы КОМПАС-3D вам потребуется проприетарный драйвер от разработчика графического чипа.
Как видно из последней таблицы, скорость работы версии под Linux равна работе версии под Windows. Чудес не бывает! Быстрее в Linux КОМПАС-3D работать не стал, но главнее тут то, что нет просадки по скорости в сравнении с Windows.
А потому стоит проверить, поддерживается ли ваша «старенькая» или «очень новая» видеокарта драйверами от разработчика. Иначе вам придётся работать в режиме низкой производительности.
P.S. Мы в курсе, что в Linux-сообществе есть отдельные предубеждения относительно выбор видеокарты между AMD и NVIDIA и лучше выбирать AMD, потому что драйвер ampgpu встроен в ядро Linux.
Но придётся вас расстроить. Как показала практика, этот драйвер работает крайне нестабильно. Падает и тянет за собой КОМПАС-3D. В случае, если установить драйвер с сайта AMD, то такая ситуация не происходит. Там драйвер работает стабильно и производительно.
Возможно, это связано с тем, что, как и для видеокарт NVIDIA, по умолчанию используется MESA. А после установки проприетарного драйвера он заменятся на компонент от разработчиков AMD. Но, пока это только предположение, и наше тестирование продолжается в полной мере.