Оптимизация работы FreeRDP3
В параметрах конфигурирования STAL доступен выбор видеокодека для улучшения производительности при передаче графически насыщенного контента (видео, 3D-графики и анимации).
Для оптимизации передачи графических данных по протоколу FreeRDP3 используются параметры rdp:shm, rdp:fps и rdp:codecs файла /etc/stal/stal-config.json (см. подраздел Файл stal-config.json).
STAL распределяет ресурсы системы для обеспечения возможности работы множества сеансов пользователей и значение FPS ограничивается, поскольку он непосредственно связан с ресурсами сервера STAL. Каждая единица параметра FPS - это операция захвата, кодирования и доставки изображения размером, равным разрешению пользовательского монитора.
Реальное значение FPS в процессе работы адаптируется в диапазоне значений от 1 до максимального (FPS max):
-
если значение параметра
rdp:fpsменьше 10, то адаптация возможна до значенияFPS max=rdp:fps+rdp:fps/ 2, т.е. возможно автоматическое увеличение на 50%; -
если значение параметра
rdp:fpsбольше или равно 10, то адаптация возможна до значенияFPS max=rdp:fps, т.е. без увеличения на 50%.
Алгоритм расчета реального значения FPS основан на анализе очереди кадров, находящихся в процессе обработки, и непосредственно связан с пропускной способностью канала связи:
-
при плохом качестве канала связи выполнять захват и кодирование изображения не имеет практического значения, поскольку есть очередь кадров, находящихся в обработке и не подтвержденных клиентской стороной. Поэтому значение FPS постепенно уменьшается (минимум до 1), пока не будет достигнут баланс;
-
при хорошем качестве канала связи, когда кадры могут передаваться быстро, значение FPS может адаптироваться в сторону увеличения до значения
FPS max, в зависимости от текущей загрузки сервера. Поэтому не рекомендуется изменять предустановленное значение 5 FPS, поскольку в большинстве случаев это оптимальное значение для работы с офисными приложениями в условиях многопользовательского режима использования ресурсов сервера.