Output Tmux lebih lambat ketika ada perpecahan vertikal: mengapa?

8

Ketika saya menggunakan Tmux dan membagi jendela menjadi panel, saya perhatikan bahwa program sedikit lebih lambat untuk mencetak garis teks ketika ada split vertikal (dua panel berdampingan) daripada ketika ada split horizontal (panel ditumpuk). Adakah yang tahu mengapa?

dan
sumber

Jawaban:

10

Lihat jawaban ini (titik terakhir khususnya). Pada dasarnya, tmuxharus melakukan lebih banyak gerakan kursor dan pekerjaan tambahan lainnya untuk meniru terminal dengan lebar lebih rendah daripada yang harus dilakukan untuk meniru terminal dengan ketinggian lebih rendah. Dengan terminal lebar penuh, tmux hanya dapat membiarkan emulator terminal yang sedang beroperasi dalam menangani pembungkus garis, sementara itu harus melakukan pembungkus garis sendiri untuk meniru terminal dengan lebar yang diperkecil untuk panel sisi-demi-sisi. Setiap gerakan kursor melibatkan mengeluarkan beberapa byte (mungkin 7 atau 8 byte atau lebih) dari urutan melarikan diri untuk memberitahu terminal pengontrol tmux untuk memindahkan kursor, dan ketika garis teks sedang dengan cepat di-output ke layar dan digulirkan, ini dapat menambah hingga perbedaan yang nyata.

jw013
sumber
0

Satu hal yang sedikit membantu adalah menggunakan :set lazyredrawdan :set ttyfast.

Pengaturan ini memungkinkan vim untuk memperbarui hanya karakter yang diperlukan di layar.

Kornél Lugosi
sumber