Công cụ miễn phí · chia sẻ màn hình và desktop từ xa

Máy tính latency & bandwidth khi chia sẻ màn hình

Lập kế hoạch cho pipeline chia sẻ màn hình trước khi phát hành. Đặt độ phân giải, frame rate, codec, bandwidth khả dụng và round-trip time; trang sẽ trả về ngân sách encode mỗi frame, bitrate ước tính, phân rã latency và những gì cần hạ cấp khi đường truyền chật.

Mọi con số trên trang này đều là ước tính. Các con số đến từ công thức bên dưới, không phải từ đo đạc encoder, mạng hay thiết bị của bạn. Hãy coi chúng là đầu vào lập kế hoạch, rồi kiểm chứng với pipeline của chính bạn.

Đầu vào

Mô tả luồng

Mbps
ms

Kết quả

1 · Ngân sách encode

Ngân sách mỗi frame

33.3ms mỗi frame

1000 ÷ 30 fps

Thời gian encode phần cứng điển hình ~5 ms
Dư địa trong frame 28.3 ms

2 · Nhu cầu bitrate

Bitrate ước tính

6.8Mbps

Khoảng 5–8.7 Mbps, với giả định trung vị 0.11 bits per pixel per frame (bpp).

Bandwidth khả dụng 20 Mbps
Dư địa so với ước tính trên 11.3 Mbps

3 · Ngân sách latency

Ước tính end-to-end

150ms

quanh mốc tham chiếu tương tác 150 ms

Phân rã latency — ước tính, không phải benchmark
Giai đoạn Ước tính Tỷ trọng Định mức Trạng thái

4 · Đánh đổi suy giảm

Giữ độ phân giải hay giữ frame rate?

Ở 20 Mbps với giả định bpp trung vị cho H.264, hai chiến lược hạ cấp cho kết quả:

Kết quả ước tính ở bandwidth đã cho
Chỉ số A · Giữ độ phân giải, giảm fps B · Giữ fps, giảm độ phân giải
Frame rate 30 fps 30 fps
Độ phân giải 1920 × 1080 1920 × 1080
Tỷ lệ so với đầu vào 100% 100%
Bitrate ước tính ~6.8 Mbps ~6.8 Mbps
Thời gian encode ước tính ~5 ms ~5 ms
Encode so với ngân sách frame — —
Giới hạn ràng buộc — —
Latency end-to-end ước tính ~150 ms ~150 ms
Chuyển động Mượt ở tốc độ mục tiêu. Giữ nhịp mục tiêu.
Chữ và chi tiết nhỏ Độ phân giải đầy đủ; chữ và UI vẫn sắc nét. Không đổi.
Phù hợp nhất Tài liệu, mã, dashboard, slide. Video, hoạt ảnh, chuyển động con trỏ, cloud gaming.

Khuyến nghị

Công thức và giả định — mở để kiểm tra phép tính

Ngân sách frame

budget_ms = 1000 / fps

Thời gian mỗi frame được phép dành cho bước encode trước khi frame tiếp theo đến hạn.

Bitrate

Mbps = width × height × fps × bpp / 1,000,000

Ước tính lập kế hoạch thô. Nội dung màn hình có vùng tĩnh lớn có thể tốn ít hơn nhiều; nhiễu, chuyển động và chroma 4:4:4 có thể tốn nhiều hơn.

fps tối đa ở độ phân giải đầy đủ

max_fps = bandwidth_bps / (width × height × bpp)

Cột A giữ độ phân giải đầu vào và giải ra frame rate mà đường truyền có thể mang.

Hệ số hạ mẫu

scale = √( bandwidth_bps / (width × height × fps × bpp) )

Cột B giữ frame rate mục tiêu và giải ra số điểm ảnh. Tỷ lệ tuyến tính là căn bậc hai của tỷ số diện tích.

Tỷ lệ vừa encode

scale_enc = √( 2,073,600 × (budget_ms / base_ms)^(1 / 0.85) / pixels )

Cột B lấy mức nhỏ hơn giữa tỷ lệ bandwidth và tỷ lệ vừa encode, để frame rate mục tiêu cũng vừa với encoder. Nếu đầu vào đã vừa, tỷ lệ bị giới hạn ở 100%.

Thời gian encode

t ≈ base_ms × (pixels / 2,073,600)^0.85

Ước tính lập kế hoạch cho encoder phần cứng. Mốc ở 1080p: H.264 5 ms, HEVC 8 ms, AV1 11 ms. Thiết bị, preset, nội dung và nhiệt độ làm thay đổi rất nhiều.

Thời gian decode

decode ≈ 0.6 × encode

Hệ số bất đối xứng thô; decoder phần cứng thường chạy nhanh hơn encoder.

Tổng latency

capture + encode + RTT/2 + 2 × frame + decode + render

Capture là một khoảng frame. Mạng là một chiều. Jitter buffer là hai frame. Render là 16.7 ms cho màn hình 60 Hz.

Giả định bpp

H.264 0.08–0.14 · HEVC 0.05–0.09 · AV1 0.035–0.07

Bits per pixel per frame. Máy tính dùng điểm giữa cho đầu ra một giá trị và hai đầu khoảng cho dải bitrate.

  • Đây là ước tính, không phải đo đạc. Không có encoder, thiết bị hay mạng nào được benchmark ở đây.
  • Dải bpp là giả định lập kế hoạch cho video tương tác và nội dung màn hình. Đây không phải bảo đảm của codec và không bao gồm hành vi rate control.
  • Thời gian encode và decode giả định tăng tốc phần cứng. Riêng AV1 có thể fallback sang phần mềm, khi đó thời gian encode có thể cao hơn vài lần.
  • Cột A bị giới hạn bởi mức thấp hơn giữa giới hạn bandwidth và thông lượng encoder (1000 / thời gian encode). Cột B hạ mẫu cho đến khi cả bitrate và thời gian encode mỗi frame đều vừa.
  • Latency mạng được mô hình hóa là RTT ÷ 2, không có truyền lại, xếp hàng hay tắc nghẽn. Wi-Fi, relay và uplink bận cộng thêm độ trễ thực.
  • Jitter buffer được cố định ở hai frame. Triển khai thực tế thường dùng một đến năm frame, hoặc thích ứng buffer khi chạy.
  • Mốc 150 ms là tham chiếu tương tác phổ biến, không phải yêu cầu. Cloud gaming thường nhắm thấp hơn; hỗ trợ từ xa và thuyết trình chấp nhận cao hơn.
  • Tăng frame rate làm nhỏ số hạng khoảng frame và jitter nhưng tăng bitrate. Giảm frame rate làm ngược lại.

Bước tiếp theo

Muốn checklist đầy đủ và các script đo đạc?

Checklist bao gồm các giai đoạn pipeline ở trên, những tín hiệu đáng thu thập và cách đọc chúng mà không phải đoán. Các script là thứ để chạy trên bản build của chính bạn.

Nhận checklist — mã FIRST50 →

Liên kết mang mã giảm giá FIRST50. Trang này không dùng script theo dõi.

Câu hỏi thường gặp về chia sẻ màn hình

Vì sao chia sẻ màn hình của tôi bị giật dù packet loss 0%?

Packet loss chỉ là một nguồn trễ. Mô hình ở đây tách thời gian encode, bitrate và jitter: nếu thời gian encode vượt ngân sách mỗi frame là 1000 ÷ fps, hãy dự kiến mất frame hoặc frame rate hiệu dụng thấp hơn; khi bandwidth là ràng buộc, luồng sẽ suy giảm thay vào đó. Jitter buffer được cố định ở hai frame, và ước tính latency loại trừ truyền lại, xếp hàng và tắc nghẽn, nên Wi-Fi, relay và uplink bận có thể cộng thêm độ trễ thực.

Chia sẻ màn hình nên nhắm ngân sách latency bao nhiêu?

Mốc 150 ms là tham chiếu tương tác phổ biến, không phải yêu cầu. Cloud gaming thường nhắm thấp hơn, trong khi hỗ trợ từ xa và thuyết trình chấp nhận cao hơn. Hãy coi đó là đầu vào lập kế hoạch, rồi kiểm chứng với pipeline của bạn.

Độ phân giải hay frame rate quan trọng hơn khi chia sẻ màn hình?

Tùy nội dung. Giữ độ phân giải và giảm frame rate tốt nhất cho tài liệu, mã, dashboard và slide; giữ frame rate và giảm độ phân giải tốt nhất cho video, hoạt ảnh, chuyển động con trỏ và cloud gaming. Với chữ hãy dùng cách đầu; với chuyển động dùng cách sau.