Вывод в виртуальную консоль (tty1) смехотворно медленный; возможная проблема с графическим ускорением

1471
Mealynn

Некоторое время назад на старом компьютере с Ubuntu я заметил, что вывод на виртуальную консоль (например tty1) медленный. Это не было проблемой и едва заметно.

Но сейчас на моем новом ноутбуке с Manjaro Linux (производным от Arch) он иногда до смешного медлителен. Я думаю, что это отличается от ситуации, описанной и объясненной здесь, поэтому мой вопрос не является дубликатом. Я подозреваю, что проблема с ускорением графики.

Я обнаружил, что проблема сильно зависит от тактовой частоты процессора. Это видео показывает, как это выглядит на частоте 800 МГц.

Возможно актуальная информация от dmesg:

[ 0.474770] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) [ 0.478826] vesafb: mode is 1920x1080x32, linelength=7680, pages=0 [ 0.478827] vesafb: scrolling: redraw [ 0.478828] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0 [ 0.478843] vesafb: framebuffer at 0xa0000000, mapped to 0xffffc90001000000, using 8128k, total 8128k [ 0.661095] Console: switching to colour frame buffer device 240x67 [ 0.842325] fb0: VESA VGA frame buffer device [ 2.301199] fb: switching to inteldrmfb from VESA VGA [ 2.363655] fbcon: inteldrmfb (fb0) is primary device [ 2.363698] Console: switching to colour frame buffer device 240x67 [ 2.363705] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device 

scrolling: redrawЧасть выглядит интересно, хотя я не уверен, что это означает что - нибудь, так как он говорит switching to inteldrmfb from VESA VGA.

Выход fbset -i:

mode "1920x1080"  geometry 1920 1080 1920 1080 32  timings 0 0 0 0 0 0 0  accel true  rgba 8/16,8/8,8/0,0/0  endmode   Frame buffer device information:  Name : inteldrmfb  Address : 0xa0000000  Size : 8294400  Type : PACKED PIXELS  Visual : TRUECOLOR  XPanStep : 1  YPanStep : 1  YWrapStep : 0  LineLength : 7680  Accelerator : No 

Некоторые дополнительные тесты, чтобы документировать разницу:

  • time python -c "for i in range(100): print(\"hi\")"
    показывает мне 0.03sна xfce4-terminalи 0.23sна виртуальной консоли.

  • time echo -e "\033c"
    0sна xfce4-terminalи 0.14s- 0.16sна виртуальной консоли.

  • time man gpm(и нажав, Qпока он открывается)
    мгновенно xfce4-terminal, 3s- 4sна виртуальной консоли.

Это особенно неприятно при прокрутке manстраниц. Интересно, что nanoэто, похоже, не затронуто.

Как заставить мои виртуальные консоли отображать текст с приличной скоростью?

5
Это не дубликат: как видно из видео, проблема определенно заключается в прокрутке с ускорением, а не в том, что «терминал gnome обрабатывает данные пакетами, а виртуальная консоль - нет», как это предлагается в ответе elinked. dirkt 7 лет назад 0
Я тот, кто первым отметил ваш вопрос как дубликат. Я бы не стал этого делать сейчас, так как вы добавили видео и т. Д. Я привел в порядок ваш вопрос и подчеркнул возможную проблему ускорения графики. Я голосую, чтобы вновь открыть вопрос. Kamil Maciorowski 7 лет назад 0

1 ответ на вопрос

3
dirkt

Кстати, tty означает любое «телетайпное» устройство (последовательная линия, псевдотерминал, ...). Вы говорите о виртуальной консоли Linux . И прокрутка на этом смехотворно медленная, потому что последние версии Linux используют графический режим в фрейм-буфере вместо текстового режима, но иногда не графическое ускорение.

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

Редактировать : Как видно на видео, проблема определенно заключается в прокрутке без ускорения путем перерисовки всего, можно увидеть «волны» при движении контента.

Я также сбит с толку, почему сначала вы, кажется, используете vesafb(что делает медленную прокрутку без ускорения), а затем 2 секунды спустя inteldrmfb(что должно делать ускоренную прокрутку). Возможно, проблема связана с выключателем. Пожалуйста, предоставьте полный dmesgвывод после загрузки, поместите его в каталог и т. Д., И отредактируйте вопрос по ссылке.

Спасибо за ответ. Я посмотрел на это. К сожалению, я не нашел способа что-либо изменить для консоли, но «fbset» говорит мне, что ускорение активировано для / dev / fb0. Mealynn 7 лет назад 0
Гектометр Пожалуйста, отредактируйте вопрос с выводом `fbset -i`. Проблема в прокрутке, или вывод настолько медленный, что вы можете видеть символы, появляющиеся последовательно? Какие-нибудь связанные сообщения в `dmesg` или` syslog`? dirkt 7 лет назад 0
Насколько я могу судить, строки появляются сразу. И у меня нет системного журнала Mealynn 7 лет назад 0
Итак, если `man gpm` занимает 4 секунды, где задержка? Между строк? Из-за прокрутки? (Я пытаюсь сузить причину проблемы). А под systemd вы получаете доступ к системному журналу через `journalctl`. Я уверен, что у вас есть. :-) dirkt 7 лет назад 0
Я не смог найти ничего полезного в journalctl, которого не было в dmesg. И да, я думаю, задержка между строк. Также я добавил короткое видео в пост. Мне трудно объяснить, что именно я вижу, потому что я не родной английский. Mealynn 7 лет назад 0

Похожие вопросы