Công cụ tính Frame Time

FPS ↔ Mili-giây

Chuyển đổi FPS sang mili-giây

Nhập vào ô bất kỳ, ô còn lại sẽ tự động tính toán. Frame time là quỹ thời gian dành cho một khung hình, và là đơn vị cốt lõi của bất kỳ ai đang tối ưu hiệu năng.

  • Tính hai chiều theo thời gian thực
  • Chọn nhanh FPS phổ biến
  • Bảng tra cứu đủ đến 480 FPS
  • Không cần đăng ký
Các mức tốc độ khung hình phổ biến

Ở mức 60 FPS, mỗi khung hình có 16.67 ms. Nếu vượt quá giới hạn đó, khung hình sẽ bị trễ.

Công thức là 1000 chia cho tốc độ khung hình. Giá trị của công cụ này không chỉ nằm ở phép tính — mà là việc đối chiếu các mức FPS phổ biến cạnh nhau một cách trực quan.

Ứng dụng thực tế

Công cụ này dùng để làm gì?

  1. 1

    Xác định quỹ thời gian

    Nhập tốc độ khung hình mục tiêu. Số mili-giây nhận được là khoảng thời gian tối đa để mọi tác vụ — logic, dựng hình, kết hợp lớp — phải hoàn thành.

  2. 2

    Đo lường chi phí thay đổi

    Nếu một tính năng mới làm tốn thêm 3 ms mỗi khung hình, hãy nhập frame time hiện tại vào ô bên phải, cộng thêm 3, rồi xem mức FPS mới ở ô bên trái.

  3. 3

    Kiểm tra kết quả benchmark

    Một công cụ báo 6.94 ms tức là đang đạt 144 FPS. Chuyển đổi qua lại là cách nhanh nhất để kiểm chứng xem hai công cụ đo có đồng nhất hay không.

Bảng tham chiếu

Bảng quy đổi FPS sang Frame Time

Tập hợp mọi mức FPS thông dụng, kèm theo cột quỹ thời gian nửa khung hình mà các nhà phát triển thường hướng tới.

Bảng chuyển đổi số khung hình trên giây sang thời gian khung hình (mili-giây)
Tốc độ Thời gian khung hình Thời hạn nửa khung hình
15 FPS 66.67 ms 33.33 ms
24 FPS 41.67 ms 20.83 ms
25 FPS 40.00 ms 20.00 ms
30 FPS 33.33 ms 16.67 ms
45 FPS 22.22 ms 11.11 ms
48 FPS 20.83 ms 10.42 ms
50 FPS 20.00 ms 10.00 ms
60 FPS 16.67 ms 8.33 ms
72 FPS 13.89 ms 6.94 ms
75 FPS 13.33 ms 6.67 ms
90 FPS 11.11 ms 5.56 ms
100 FPS 10.00 ms 5.00 ms
120 FPS 8.33 ms 4.17 ms
144 FPS 6.94 ms 3.47 ms
165 FPS 6.06 ms 3.03 ms
180 FPS 5.56 ms 2.78 ms
200 FPS 5.00 ms 2.50 ms
240 FPS 4.17 ms 2.08 ms
280 FPS 3.57 ms 1.79 ms
300 FPS 3.33 ms 1.67 ms
360 FPS 2.78 ms 1.39 ms
480 FPS 2.08 ms 1.04 ms

Làm thế nào để đổi FPS sang mili-giây?

Lấy 1000 chia cho tốc độ khung hình. Một giây có 1000 mili-giây, vì vậy 60 FPS sẽ tương đương 1000 ÷ 60 = 16.67 ms mỗi khung hình. Để đổi ngược lại, lấy 1000 chia cho frame time.

FPS → Mili-giây

1000 ÷ FPS = ms. Ví dụ 120 FPS là 8.33 ms.

Mili-giây → FPS

1000 ÷ ms = FPS. Ví dụ 11.1 ms là 90 FPS.

Tại sao nên tính toán theo frame time thay vì FPS?

Vì mili-giây có tính chất cộng dồn trực tiếp, còn FPS thì không. Một khung cảnh tốn 8 ms cộng thêm hiệu ứng tốn 4 ms sẽ thành 12 ms — rất đơn giản. Phép tính tương tự với FPS không thể cộng trừ dễ dàng như vậy. Frame time cũng cho thấy rõ quy luật hiệu suất giảm dần: từ 30 lên 60 FPS tiết kiệm được 16.7 ms mỗi khung hình, nhưng từ 120 lên 240 FPS chỉ tiết kiệm được 4.2 ms. Dù cùng tăng gấp đôi FPS, nhưng lượng thời gian thực tiết kiệm được lại ít hơn tới 4 lần.

Quy tắc nửa khung hình (half-frame rule) là gì?

Cột thứ ba trong bảng là một nửa thời gian khung hình, và đây là mức quỹ thời gian an toàn mà nhiều người thực sự hướng đến. Mã nguồn của bạn không phải là thứ duy nhất chạy trong một khung hình — trình duyệt còn phải tính toán bố cục và vẽ (paint), bộ tổng hợp kết hợp các layer, và driver chuyển dữ liệu đến màn hình.

Ở mức 60 FPS, bạn có 16.67 ms. Hãy chỉ dành khoảng 8 ms cho phần mã xử lý của mình để duy trì 60 FPS mượt mà. Nếu dùng trọn 16 ms, bạn chắc chắn sẽ bị rớt khung hình ngay khi có bất kỳ tác vụ bất ngờ nào phát sinh.

Frame time có giống với độ trễ (latency) không?

Không. Frame time là thời gian để tạo ra một khung hình. Còn độ trễ là khoảng thời gian từ lúc bạn thực hiện một thao tác cho đến khi kết quả hiển thị trên màn hình, bao gồm cả thiết bị đầu vào, hàng đợi khung hình, xử lý của màn hình và thời gian đổi màu điểm ảnh. Một tựa game đạt mức 8.33 ms hoàn hảo vẫn có thể có độ trễ toàn trình (end-to-end) lên đến 60 ms.

Có thể tính trung bình cộng tốc độ khung hình (FPS) không?

Không, và làm như vậy sẽ khiến kết quả trông đẹp hơn thực tế một cách sai lệch. Mười khung hình ở 100 FPS và mười khung hình ở 20 FPS không tương đương với 60 FPS — thực tế là mất 600 ms cho 20 khung hình, tức chỉ đạt 33 FPS. Hãy tính trung bình cộng frame time trước, sau đó mới quy đổi sang FPS. Đây là sai lầm phổ biến nhất trong các bài benchmark tự làm.

FAQ

Câu hỏi thường gặp

Frame time ở mức 60 FPS là bao nhiêu?

16.67 ms. Ở mức 30 FPS là 33.33 ms, 120 FPS là 8.33 ms và 144 FPS là 6.94 ms.

Mức frame time như thế nào là tốt?

Bằng hoặc thấp hơn chu kỳ làm tươi của màn hình và duy trì ổn định. Với màn hình 60 Hz là 16.67 ms; với 144 Hz là 6.94 ms.

Tại sao các nhà phát triển sử dụng frame time thay vì FPS?

Vì frame time có thể cộng dồn. Chi phí tài nguyên của từng tác vụ có thể tính trực tiếp bằng mili-giây, đồng thời giúp thấy rõ hiệu quả giảm dần khi tăng FPS lên các mức cao hơn.

Chỉ số 1% low tính theo mili-giây là gì?

Đó là cách nhìn từ góc độ khung hình chậm nhất: lấy 1% số khung hình chậm nhất và tính thời gian trung bình của chúng. Chỉ số 1% low đạt 33 ms có nghĩa là những khung hình tệ nhất của bạn chạy tương đương mức 30 FPS.

Công cụ này có hoạt động offline không?

Khi trang đã tải xong thì có — và bảng tham chiếu nằm trực tiếp trong HTML nên bạn vẫn có thể xem bình thường ngay cả khi tắt JavaScript.

Khám phá thêm

Tất cả công cụ đều chạy trực tiếp trên trình duyệt của bạn, hoàn toàn miễn phí và không cần đăng ký.

Chuyển đổi tốc độ khung hình

Nhập mức FPS, xem kết quả mili-giây và lưu lại bảng tra cứu cho công việc hàng ngày của bạn.

Sử dụng công cụ tính