- VTE (thư viện Virtual TErminal) là thư viện nền tảng cho các trình giả lập terminal của GNOME. Nó được dùng trong các ứng dụng như GNOME Terminal, Console, Black Box, Tilix, Terminator, Ptyxis, và cả terminal tích hợp của Builder và Workbench.
- Trong chu kỳ GNOME 46, hiệu năng của VTE đã được cải thiện đáng kể. Bài viết này đo lường mức cải thiện hiệu năng thực tế và xem xét người dùng sẽ cảm nhận khác biệt ra sao.
Đối tượng và phương pháp đo
- Có nhiều cách để đo hiệu năng của trình giả lập terminal, nhưng bài viết này tập trung vào độ trễ đầu vào (Input Latency).
- Độ trễ đầu vào là thời gian từ lúc nhấn bàn phím cho đến khi màu pixel trên màn hình thay đổi. Ứng dụng có độ trễ đầu vào thấp sẽ cho cảm giác phản hồi tốt, còn ứng dụng có độ trễ đầu vào cao có thể cho cảm giác chậm.
- Để đo độ trễ đầu vào, tác giả sử dụng thiết bị kiểm tra độ trễ đầu vào bằng phần cứng. Thiết bị này gồm một cảm biến ánh sáng nối với bo mạch Teensy và được kết nối với máy tính qua USB.
Kết quả kiểm tra độ trễ đầu vào
- Bài kiểm tra thứ nhất: tạo một trường nhập bằng lệnh
cat > /dev/null rồi đo thời gian con trỏ khối di chuyển sang phải một ô khi nhấn phím Space
- Các terminal dùng VTE trên Fedora 40 đã được cải thiện lớn so với Fedora 39, gần đạt ngang mức với Alacritty
- Bài kiểm tra thứ hai: mở tệp README trong neovim rồi đo trong lúc cuộn bộ đệm văn bản bằng Ctrl+D và Ctrl+U
- Một lần nữa, các terminal VTE của GNOME 46 được cải thiện mạnh và cho thấy mức gần tương đương với Alacritty
- Kết quả so sánh tất cả terminal trên Fedora 40 cùng lúc cho thấy trong bài kiểm tra neovim, độ trễ đầu vào tăng hơn so với bài kiểm tra
cat, nhưng mức tăng là tương tự nhau trên mọi terminal
Kết quả kiểm tra vtebench
- Chạy bộ kiểm thử vtebench của Alacritty trong cùng một môi trường
- Đây là bài kiểm tra đo hiệu năng đọc và phân tích PTY, đồng thời cũng hữu ích để tìm lỗi crash của VTE
- VTE của GNOME 46 cũng cho thấy cải thiện trong vtebench, nhưng vẫn chưa bằng Alacritty
Kết luận
- Trong GNOME 46, hiệu năng VTE đã được cải thiện lớn, giúp độ trễ đầu vào gần đạt mức của những terminal nhanh nhất
- Nếu trước đây bạn tránh các terminal dựa trên VTE vì phản hồi chậm và độ trễ đầu vào cao, thì giờ đã đáng để thử lại (khuyến nghị VTE phiên bản 0.76 trở lên)
Ý kiến của GN⁺
- Việc cải thiện hiệu năng của các terminal dựa trên VTE là tín hiệu rất đáng khích lệ. Có vẻ điều này sẽ đóng góp lớn vào việc nâng cao trải nghiệm người dùng.
- Việc dùng thiết bị phần cứng để đo độ trễ đầu vào là một điểm thú vị. Phần giải thích chi tiết về quá trình kiểm thử và cách diễn giải kết quả cũng rất hữu ích.
- Sẽ rất thú vị nếu so sánh thêm với Terminal.app, terminal mặc định của macOS, hoặc Windows Terminal, terminal mới của Windows.
- Dự kiến việc cải thiện hiệu năng của VTE sẽ tạo tác động tích cực lên toàn bộ hệ sinh thái GNOME. Tuy vậy, dường như vẫn còn những phần có thể cải thiện thêm (khả năng truy cập, thanh cuộn, v.v.).
- Đây là tin rất đáng mừng với người dùng desktop Linux. Hy vọng các trình giả lập terminal khác nhau sẽ tiếp tục phát triển hơn nữa dựa trên các cải tiến của VTE.
1 bình luận
Ý kiến trên Hacker News
catđơn giản, và sẽ hay hơn nếu thử thêm nhiều terminal khác, đặc biệt là console Linux native