FPS Calculator|Đổi 30fps to ms, 60/120FPS ↔ mili giây cho animation & game

(Cập nhật: 19 tháng 7, 2026 ) FPS calculator 30fps to ms frame time animation Unity game
Kết luận

30fps to ms ≈ 33.33ms. 60 ≈ 16.67ms, 120 ≈ 8.33ms. Công thức hai chiều: ms = 1000 ÷ FPS, FPS = 1000 ÷ ms. Khi thiết kế animation / coroutine / CSS, đừng nhớ số lẻ — mở máy tính FPS, đổi FPS↔ms trên trình duyệt (không đăng ký), rồi dán vào code. Lý thuyết ngân sách frame xem thêm 1 frame bao nhiêu ms?.

Tìm “30fps to ms” hoặc “fps calculator” thường vì bạn đang cầm con số ở một đơn vị (FPS, frame count, ms, giây) và cần đơn vị kia ngay — timeline After Effects 45 frame, transition: 300ms, hoặc producer hỏi “hit lag bao nhiêu frame ở 60?”.

Bài 1 frame bao nhiêu ms? giải thích ngân sách và profiler. Bài này tập trung máy tính / quy trình đổi số: bảng tra, đổi hai chiều, case animation → Unity/CSS, và cách dùng Tính FPS & Frame Time trong 30 giây.

Bài viết này giúp bạn

  • Tra 30 / 60 / 90 / 120 / 144 → ms mà không mở Excel
  • Đổi ngược ms → FPS khi Profiler báo 22ms
  • Chuyển số frame ↔ giây cho animation và coroutine
  • Tránh lỗi WaitForSeconds(16.67f) và CSS steps lệch nhịp
  • Workflow freelance / lab VN: Chrome-only, không cài app

Công thức máy tính cần nhớ

ms/frame     = 1000 ÷ FPS
FPS          = 1000 ÷ ms
giây         = số_frame ÷ FPS
số_frame     = giây × FPS

Ví dụ hay search:

QueryPhép tínhKết quả
30fps to ms1000 ÷ 3033.33ms
60fps to ms1000 ÷ 6016.67ms
120fps to ms1000 ÷ 1208.33ms
16.67ms → FPS1000 ÷ 16.67~60
45 frame @ 6045 ÷ 600.75s

Số lẻ (16.666…, 33.333…) đủ cho design. Sync audio sample rate (44100 Hz) cần bước riêng — đừng giả định frame math = DSP.


Bảng tra nhanh (bookmark)

FPS → ms/frame (tra nhanh)
FPS ms/frame Gợi ý dùng
24 41.67 Nhịp phim — ít dùng làm target realtime
30 33.33 Mobile pin, fallback console
60 16.67 Chuẩn PC / web / nhiều mobile cao cấp
90 11.11 VR — vùng thoải mái phổ biến
120 8.33 ProMotion, competitive PC
144 6.94 Màn gaming 144Hz
240 4.17 Màn eSports — ngân sách cực chặt

Preset trên công cụ Kawa khớp các mốc 60 / 120 / 144 / 240Hz — chọn màn bạn đang tune thay vì gõ tay mỗi lần.


Đổi hai chiều: khi nào dùng chiều nào

FPS → ms (thiết kế trước)

Bạn đã chốt target (ví dụ ship 60 trên mid-range Android). Cần biết tối đa bao nhiêu ms/frame trước khi cắt VFX hoặc chia job.

  1. Mở máy tính FPS
  2. Nhập 60 (hoặc chọn preset)
  3. Đọc ~16.67ms → ghi vào Notion/PR: “budget frame = 16.67ms, để headroom ~2ms”

ms → FPS (đo rồi mới đổi)

Profiler trên máy thật báo spike 22ms. Hỏi nhanh: “ổn định được khoảng bao nhiêu FPS?”

1000 ÷ 22 ≈ 45.5 FPS

→ Dưới target 60 rõ. Nhập 22 vào ô frame time trên tool để confirm — đỡ nhầm máy tính bỏ túi khi họp Discord.

Frame count ↔ giây (animation)

Designer giao walk cycle 12 frame “ở 60”. Code cần giây:

12 ÷ 60 = 0.2s

Ở target 30 cùng 12 frame = 0.4s — cảm giác chậm gấp đôi nếu quên đổi FPS timeline. Đây là chỗ fps calculator thắng bảng cứng: đổi target rồi tính lại duration trong vài giây.


Áp dụng: Unity, CSS, tick

Unity — giây, không phải ms

Application.targetFrameRate = 60;

// ĐÚNG: nửa giây ≈ 30 frame @ 60
yield return new WaitForSeconds(0.5f);

// SAI: tưởng “16.67ms” nên ghi 16.67 giây
// yield return new WaitForSeconds(16.67f);

// N frame @ targetFps
float duration = frameCount / (float)targetFps;
yield return new WaitForSeconds(duration);

Time.deltaTime1/FPS giây khi ổn định (~0.0167 ở 60) — nhân tốc độ di chuyển, không nhầm với ms trong Inspector nếu field đang là giây.

Physics fixedDeltaTime mặc định 0.02s (50Hz) ≠ 60FPS render. Khi đổi số từ bảng FPS calculator sang FixedUpdate, khớp hệ thống đang tune (chi tiết hơn: bài 1 frame ms).

CSS / web game

/* ~10 frame @ 60FPS */
.fade { transition: opacity 166.7ms linear; }

/* sprite sheet 8 frame / giây @ 60 → mỗi frame ~16.67ms */
.walk { animation: walk 133.3ms steps(8) infinite; }

requestAnimationFrame bám refresh (60 hoặc 120). Callback phải xong trước paint kế — ngân sách ≈ ms/frame trừ phần browser. Lệch 1 frame walk cycle ở 60 dễ thấy hơn ở 30.

Network / sim tick

Tick 20Hz = 50ms mỗi bước (1000 ÷ 20). Đừng lấy số 16.67ms (render 60) làm interval gửi packet — hai đồng hồ khác nhau. Tool giúp confirm: nhập 50 ms → ~20 FPS tương đương.


Case study

Case 1: Freelance — AE 45 frame → Unity

Tình huống: Motion designer (After Effects, composition 60FPS) giao intro 45 frame. Lập trình viên Unity cần WaitForSeconds và AudioSource delay.

Tính: 45 ÷ 60 = 0.75s. Nhập FPS 60 trên tool để xác nhận ms/frame, rồi nhân: 45 × 16.67ms ≈ 750ms.

Lỗi tránh: Ghi WaitForSeconds(45f) hoặc giả định AE đang 30FPS trong khi composition là 60 → timing lệch nửa nhịp với SFX.

Case 2: Web landing — transition 300ms trên màn 120Hz

Tình huống: Frontend tune micro-interaction; máy MacBook ProMotion ~120Hz.

Đổi: 300ms ≈ 300 ÷ 8.33 ≈ 36 frame ở 120, hoặc ≈ 18 frame ở 60. Cảm giác “nặng” trên 120 không phải vì CSS sai — cùng 300ms chiếm nhiều frame hơn trên panel nhanh.

Quyết định: Giữ 300ms (thời gian tường) nếu UX theo giây; hoặc rút ~150–200ms nếu muốn “cùng số frame cảm nhận” như bản 60Hz. Tool cho số frame tương đương trước khi tranh luận cảm tính.

Case 3: QA — Profiler 28ms trên máy mid-range

Tình huống: Playtest quán net / máy bạn bè (phổ biến khi indie VN chưa có lab device farm). Frame time trung vị ~28ms.

Đổi ngược: 1000 ÷ 28 ≈ 35.7 FPS — không đạt ship 60. Ghi PR: “cần cắt UI rebuild / gộp spawn; budget còn lại theo bảng 16.67ms”.


Cách dùng trên Kawa (2 phút)

  1. Mở Máy tính FPS & Frame Time — chạy local trên trình duyệt, không upload project.
  2. Chọn preset màn hình (60/120/144/240) hoặc gõ FPS tùy ý (30, 90, 165…).
  3. Đọc thời gian 1 khung hình (ms).
  4. Cần chiều ngược: nhập ms (ví dụ 11.11) → xem FPS cần thiết (~90).
  5. Copy số vào code / ticket; đối chiếu Profiler trên thiết bị ship.

Không cần đăng ký — phù hợp máy lab trường, máy khách chỉ có Chrome.


5 lỗi khi “chỉ cần đổi số”

  1. Ghi ms vào API nhận giâyWaitForSeconds(16.67f), delay(1667) nhầm đơn vị.
  2. Đổi FPS timeline quên đổi duration — 12 frame @60 = 0.2s; @30 = 0.4s.
  3. Lấy ms render làm tick mạng — 16.67ms ≠ interval 20Hz.
  4. Tin empty-scene 300FPS — VSync tắt đo peak; ship theo budget đã tính từ target FPS.
  5. Dùng bảng 60 khi document ghi 120 — ngân sách còn 8.33ms, không phải 16.67.

Checklist trước khi merge timing

  • Đã chọn FPS ship và ghi ms/frame tương ứng
  • Animation duration đổi đúng theo FPS timeline (frame → giây)
  • Coroutine / CSS dùng giây hoặc ms đúng API
  • Spike Profiler đã đổi ngược ra FPS ước lượng
  • Không nhầm refresh màn với tick physics / network
  • Đã confirm bằng fps calculator khi số lẻ dễ nhầm

Tóm tắt

Nhu cầuCông thức / hành động
30fps to ms1000 ÷ 30 ≈ 33.33ms
60 / 12016.67ms / 8.33ms
ms → FPS1000 ÷ ms (nhập tool)
N frame → giâyN ÷ FPS
Tra nhanhKawa FPS Calculator

Muốn hiểu sâu budget vs frame time đo được, VSync và deltaTime: đọc 1 frame bao nhiêu ms — 60FPS & 120FPS. Cần đổi số ngay hôm nay: giữ tab máy tính FPS.


Liên kết liên quan

Chủ đề Liên kết
Máy tính FPS ⇔ ms [Mở công cụ](/vi/tools/fps-calculator/)
Lý thuyết 1 frame = ? ms [Bài 60/120FPS](/vi/blog/1-frame-ms-60fps-120fps/)
Bộ công cụ Kawa [/vi/tools/](/vi/tools/)