x11vnc повільний, але використовує лише 10% доступної пропускної здатності


11

Я використовую x11vnc через мережу 15 Мбіт / с із затримкою 20 мс. Коли екран змінюється багато, x11vnc повільно - наприклад, коли я перемикаю вкладку в браузері, потрібно майже дві секунди, поки подання повністю не перемальовано.

Дивна річ у тому, що максимальна швидкість з'єднання x11vnc навіть під час повільного перемальовування лише близько 10% від доступної пропускної здатності. Чому x11vnc не використовує доступну пропускну здатність для прискорення перемальовування? Наприклад, scp без проблем використовує 100% доступної пропускної здатності.

Як я можу визначити, що таке вузьке місце для x11vnc у моїй системі? Поки що я думаю:

  1. 10% використання мережі => мережа не є вузьким місцем
  2. fb швидкість читання: 601 MB / sec => читання fb не є вузьким місцем

Будь-які ідеї, як я можу надалі профілювати x11vnc та дізнатися, що спричиняє уповільнення?

Наприклад, чи є комутатор x11vnc, який показує, скільки даних обробляє і скільки часу потрібно, щоб схопити екран, обробити та стиснути його та надіслати по мережі?

Відповіді:


11

Щоб відповісти на моє власне запитання:

Перехід від жорсткого кодування до шестигранного кодування вирішив проблему з повільним перемальовуванням повністю.

Щоб додати трохи деталей: я помітив, що під час повільного перемальовування екрана процесор клієнта сприймався до 100% використання. Я використовував жорстке кодування, і зі сторінки VNC Tight Encoder - результати порівняння видно, що щільне кодування досить інтенсивне процесорне порівняння в порівнянні з шестигранним кодуванням. Після переходу на шестигранну максимум використання процесора ніколи не становить 100%, майже вся наявна пропускна здатність використовується, а перемальовування завжди займає менше секунди. Тож процесор клієнта був вузьким місцем.


Або ще кращою альтернативою (менша пропускна здатність, низьке використання процесора та здається, навіть швидше, ніж гексильний) є компіляція x11vnc з підтримкою TurboVNC і потім використання клієнта TurboVNC .


Ось деякі смуги пропускання і стиснення часу порівняння tightvnc.com/archive/compare.html
huyz

1
Як саме ви змінили кодування?
ScottF

1

Причина полягає в тому, що захоплення / візуалізація екрана неефективна. Для цього покращується багато різних VNC-реалізацій, щоб досягти кращої продуктивності.

Якщо вам не потрібно відображати саме те, що знаходиться на локальній консолі, кращим рішенням є NX або FreeNX NoMachine як середовище віддаленого робочого столу. Продуктивність - це день і ніч порівняно з VNC навіть за посиланнями WAN.


1

Я сподіваюся, що це має спрацювати. http://www.karlrunge.com/x11vnc/faq.html#faq ... пошук параметрів переглядача VNC та параметрів x11vnc:

Це працювало для мене.


1
Ласкаво просимо до помилки сервера! Ми дійсно вважаємо за краще, щоб відповіді мали зміст, а не вказівки на зміст. Це теоретично може відповісти на питання, однак було б бажано сюди включити істотні частини відповіді та надати посилання для довідки.
Кріс S
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.