120fps — อัตรา 120 เฟรมต่อวินาที ที่มีในหน้าจอที่มีอัตรารีเฟรช 120 Hz โดยแต่ละเฟรมใช้เวลา 8.3 ms ตาม Apple WWDC 2023 Session ProMotion จะเปลี่ยนความถี่อัตโนมัติจาก 24 ถึง 120 Hz โดยอัตโนมัติเพื่อสมดุลความลื่นและการใช้พลังงาน 8.3 ms เป็นครึ่งของงบประมาณมาตรฐาน ซึ่งต้องการเพิ่มประสิทธิภาพการแรนเดอร์อย่างจริงจัง
ข้อความสำคัญ
120fps เป็นสองเท่าของอัตราเฟรมมาตรฐาน โดยหน้าจอจะอัพเดตรูปภาพ 120 ครั้งต่อวินาที แต่ละเฟรมมีงบประมาณเวลา 8.33 ms — ครึ่งของ 60fps ซึ่งหมายความว่า GPU และ CPU ต้องประมวลผลกราฟิกได้เร็วเป็นสองเท่า และอัลกอริทัมทั้งหมดที่ทำงานภายใน 16.7 ms ที่ 60fps จะเหมาะกับ 120fps เมื่อมีประสิทธิภาพเป็นสองเท่าเท่านั้น
อุปกรณ์มือถือรุ่นแรกที่มีหน้าจอ 120 Hz คือ Razer Phone (2017) ที่มีแผง IGZO ของ Sharp Apple เปิดตัว 120 Hz ใน iPad Pro (2017) ภายใต้ชื่อ ProMotion และใน iPhone เฉพาะในปี 2021 กับ iPhone 13 Pro บน Android 120 Hz กลายเป็นกระแสหลักตั้งแต่ปี 2020: Samsung Galaxy S20, OnePlus 8 Pro, Xiaomi Mi 10 ทุกวันนี้ 90–120 Hz เป็นมาตรฐานสำหรับอุปกรณ์รุ่นพลัง และเทคโนโลยี LTPO ช่วยให้สามารถเปลี่ยนความถี่แบบไดนามิกได้
การรับรู้ของผู้ใช้ต่อ 120fps แตกต่างจาก 60fps ไม่ใช่เพราะไม่มีการกระตุก แต่เป็นเพราะ ความรู้สึกถึงการตอบสนองทันที — เคเซอร์, การเลื่อนแถบ และแอนิเมชันตามนิ้วด้วยหน่วงสายต่ำที่สุด ความรู้สึกนี้มักถูกอธิบายว่าเป็นหน้าจอแบบใช้เสยวหรือเหมือนน้ำมัน หลังจากใช้ 120 Hz การกลับไปที่ 60 Hz รู้สึกได้อย่างเป็นอัตตยาไกรยะช้า แม้ว่าจะไม่มีการตกเฟรมที่เป็นวัตถุประสงค์
หน้าจอ 120 Hz จะอัพเดตพิกเซลทางกายภาพ 120 ครั้งต่อวินาที โดยส่งสัญญาณผ่านบัส MIPI DSI/DPI ด้วยความถี่สองเท่า แต่ละพิกเซลจะได้รับค่าความสว่างใหม่ทุก 8.3 ms สำหรับแผง OLED ซึ่งหมายว่า เวลาการปล่อยแสง ของแต่ละซับพิกเซลจะลดลง ทำให้ต้องใช้แสงย่อนหลังที่สว่างขึ้นเพื่อรักษาความสว่างของภาพเดิม
LTPO (ออกไซด์ผลิกผลึกอุณหมิตต่ำ) เป็นเทคโนโลยีการผลิตหน้าจอ OLED ที่รวม LTPS (ความเร็วสัยเพลาะสูง) และ IGZO (การใช้พลังงานต่ำในสภาพหยุดนิ่ง) LTPO ทำให้หน้าจอสามารถเปลี่ยนอัตรารีเฟรชแบบไดนามิกจาก 1 ถึง 120 Hz โดยไม่มีค่าใช้จ่ายพลังงานเพิ่มเติม ในโหมด Always-On Display ความถี่จะลดลงเหลือ 1 Hz ในระหว่างการเลื่อนแถบ ความถี่จะเพิ่มขึ้นเป็น 120 Hz ซึ่งช่วยประหยัด พลังงาน ได้มากถึง 30% เมื่อเทียบกับหน้าจอที่ทำงานที่ 120 Hz ตลอดเวลา
Frame pacing — ความสม่ำเสมอของช่องว่างระหว่างเฟรม เป็นพารามิเตอร์ที่สำคัญที่สุดที่ 120fps ในขณะที่ 60fps ความแตกต่าง 2–3 ms ระหว่างเฟรมไม่สามารถรับรู้ได้ แต่ที่ 120fps ความแตกต่างสมบูรณ์เดียวกันนี้คิดเป็น 25% ของระยะเวลาเฟรม และรับรู้ได้ว่าเป็นการกระตุก สำหรับ 120fps ที่ลื่นไหล แต่ละเฟรมต้องอยู่ภายใน 8.3 ms ±1 ms เครื่องมืออย่าง FrameRate ใน Xcode Instruments จะแสดงไม่เฉพาะ FPS เฉลี่ย แต่ยังแสดงฮิสโตแกรมของช่องว่างเพื่อประเมิน frame pacing
// iOS — ตรวจจับหน้าจอ 120 Hz ผ่าน CADisplayLink
func checkDisplayRefreshRate() {
let link = CADisplayLink(target: self,
selector: #selector(step))
if let preferredRate = link?.preferredFrameRateRange {
print("ความถี่สูงสุด: \(preferredRate.maximum) เฮิรตซ์")
}
}
ProMotion เป็นเครื่องหมายการค้าของ Apple สำหรับหน้าจอที่มีอัตรารีเฟรชแบบปรับตัวได้สูงถึง 120 Hz เปิดตัวครั้งแรกใน iPad Pro 10.5 (2017) และต่อมาปรากฏใน iPhone 13 Pro (2021) และ MacBook Pro (2021) ProMotion ไม่ใช่แค่ 120 Hz — แต่เป็น การจัดการความถี่อย่างฉลาด โดยระบบจะวิเคราะห์ประเภทของเนื้อหา และเปลี่ยนความถี่เพื่อความสมดุลที่ดีที่สุดระหว่างประสิทธิภาพและการใช้พลังงาน
ProMotion รองรับสี่โหมด: 24 Hz สำหรับเนื้อหานิ่งและวิดีโอ 24fps, 30 Hz สำหรับวิดีโอ 30fps, 60 Hz สำหรับการนำทาง UI และ 120 Hz สำหรับการเลื่อนแถบและเกมไฟล์ การสลับระหว่างโหมดเกิดขึ้นภายในเฟรมเดียว (8.3 ms) และผู้ใช้ไม่สามารถรับรู้ได้ นักพัฒนาสามารถมีอิทธิพลต่อการเลือกความถี่ผ่าน preferredFrameRateRange ใน CADisplayLink แต่การตัดสินใจขั้นสุดท้ายเป็นของ ระบบ โดยอิงตามการวิเคราะห์เนื้อหา
Apple ให้ API สำหรับการทำงานกับ ProMotion ตั้งแต่ iOS 15 CADisplayLink.preferredFrameRateRange ช่วยให้สามารถตั้งช่วงความถี่ที่ต้องการได้ UIScene.ActivationConditions สามารถมีผลต่อความถี่เมื่อเปลี่ยนระหว่างซีน สำหรับการแรนเดอร์ Metal CAMetalLayer.displaySyncEnabled ต้องเป็น true สำหรับการซิงโครไนซ์กับ ProMotion หากแอพไม่ได้รับการเพิ่มประสิทธิภาพสำหรับ 120fps iOS จะเปลี่ยนเป็น 60 Hz โดยอัตโนมัติ ซึ่งสามารถเห็นได้ใน Xcode ในส่วน GPU Report
// iOS — ขอ 120fps สำหรับโหมดเกม
let displayLink = CADisplayLink(
target: self,
selector: #selector(gameLoop)
)
if #available(iOS 15.0, *) {
displayLink?.preferredFrameRateRange =
CAFrameRateRange(minimum: 80,
maximum: 120,
preferred: 120)
}
displayLink?.add(to: .current,
forMode: .default)
การเพิ่มประสิทธิภาพสำหรับ 120fps ไม่ใช่แค่การเพิ่มความเร็วของโค้ดเป็นสองเท่า แต่เป็นการคิดใหม่เกี่ยวกับสถาปัตยกรรมการแรนเดอร์ งานที่เคยอยู่ใน 16.7 ms ที่ 60fps ต้องแร้วเสร็จใน 8.3 ms ซึ่งส่งผลกระทบต่อทุกขั้นตอนของไพป์ไลน์: การเตรียม CPU, การแรนเดอร์ GPU และการเรียกระบบ
ที่ 120fps จำนวน draw calls ต่อเฟรมต้องเป็นครึ่งของที่ 60fps เพื่อรักษาโหลด GPU เดิม หาก 400 draw call ยอมรับได้ที่ 60fps แล้วที่ 120fps จะอนุญาที่ไม่เกิน 200 ใช้ แผ่นโครงพื้นผิว, การรวมเมช และ GPU instancing เพื่อลด draw calls บน Metal ใช้ Indirect Command Buffers บน Vulkan ใช้ Secondary Command Buffers สำหรับการบันทึกคำสั่งแบบขนาน
Shaders — อีกปัจจัยสำคัญ เชดอร์พิกเซลที่ซับซ้อนที่มีการตรวจเนื้อเพื้อพิวต์เทคเจอร์หลายครั้งและการดำเนินการทางคณิตศาสตร์สามารถเกินงบประมาณ 8.3 ms ได้ง่าย ใช้เชดอร์ความแม่นต่ำ (half แทน float) ลดจำนวนคำสั่งและตัวอย่างเนื้อเพื้อพิว บน GPU มือถือ (Apple A17, Snapdragon 8 Gen 3) แต่ละการตรวจเนื้อเพื้อพิวใช้ 2–4 รอบและที่ 120fps นี้อาจกลายเป็น จุดคอดคอ
ที่ 120fps เธรดหลักต้องเตรียมเฟรมภายใน 4–5 ms เพื่อเหลือเวลาให้กับการแรนเดอร์ GPU การดำเนินการแบบซิงก์โครนัสใดๆบนเธรดหลัก — การอ่านฐานข้อมูล, การแยกวิเคราะห์ JSON, การโหลดรูปภาพ — ทำให้เกิดการกระตุก ย้ายงานหนักทั้งหมดไปยังเธรดพื้นหลัง ใช้ API แบบอสิงโครนัส และ แอสสังเธรด ใน iOS DispatchQueue กับ qualityOfService .userInteractive ควรที่จองไว้สำหรับโค้ดการแรนเดอร์ที่สำคัญเท่านั้น
| ส่วนประกอบ | งบประมาณ 120fps | งบประมาณ 60fps |
|---|---|---|
| CPU (เธรดหลัก) | 4 ms | 8 ms |
| GPU แรนเดอร์ | 4 ms | 8 ms |
| การประกอบ | 0.3 ms | 0.7 ms |
| รอ VSync | 0–2 ms | 0–5 ms |
การเปรียบเทียบ 120fps และ 60fps ไม่ใช่แค่การเพิ่มความลื่นเป็นสองเท่า ความแตกต่างถูกรับรู้แตกต่างกันขึ้นอยู่กับประเภทของเนื้อหา สำหรับการเลื่อนแถบและแอนิเมชัน UI 120fps มอบอินเทอร์เฟซที่ตอบสนองได้มากขึ้นสำหรับเกม ข้อดีของ 120fps แสดงในการลดภาพเบลือการเคลื่อนไหว และการติดตามวัตถุที่เร็วได้แม่นยำยิ่งขึ้น
การใช้พลังงาน — ข้อเสียหลัก 120fps ใช้พลังงานมากกว่า 60fps 30–50% ที่ความสว่างหน้าจอเดิมซึ่งหมายความว่าบนแบตเตอรี่ 4000 mAh การเล่นเกม 1 ชั่วโมงที่ 120fps จะหมดแบตเตอรี่เร็วขึ้นประมาณ 25–30% หน้าจอ LTPO แก้ปัญหาได้บางส่วนโดยการลดความถี่ในฉากนิ่งเป็น 1 Hz แต่ระหว่างการใช้งานอย่างกระฉัน (การเลื่อนแถบ, เกม) ความถี่จะอยู่ที่ สูงสุด
การเลือกระหว่าง 60fps และ 120fps ขึ้นอยู่กับลำดับความสำคัญของนักพัฒนา สำหรับโซเชียลมีเดีย, แอปแชตและแอพข่าว 120fps ไม่ให้ข้อดีที่สำคัญ — การโต้ตอบหลัก (การอ่าน, การป้อนข้อความ) ไม่ได้รับประโยชน์จากความลื่นพิเศษ สำหรับเกม, แผนที่, โปรแกรมแก้ไขกราฟิก และแอพที่มีแอนิเมชันหลาย 120fps กลายเป็นข้อได้เปรียบและเครื่องหมายคุณภาพ
การทดสอบ 120fps ต้องใช้วิธีการพิเศษ: ตัววัด 60fps มาตรฐานไม่เปิดเผยปัญหา frame pacing ที่ 120 Hz ใช้กล้องความเร็วสูง (120+ fps) บันทึกพฤติกรรมหน้าจอจริง หรือใช้เครื่องมือที่ติดตั้งมากับแพลตฟอร์ม — Xcode Metal Capture สำหรับ iOS และ AGI (Android GPU Inspector) สำหรับ Android เครื่องมือเหล่านี้แสดงเวลาที่แม่นยำของแต่ละเฟรม รวมถึงการรอ VSync และช่วยระบุการกระตุกขนาดเล็ก
คำถามที่พบบ่อย
ไม่เสมอ 120fps ต้องการพลังงานและทรัพยากรคอมพิวเตอร์เป็นสองเท่า สำหรับเนื้อหานิ่งและ UI ที่เรียบง่าย 60fps ก็เพียงพอ ข้อดีของ 120fps เห็นได้ชัดในฉากเคลื่อนไหว: การเลื่อนแถบ, เกม, แอนิเมชันการเปลี่ยน
ใช้ Xcode Instruments (แม่แบบ Core Animation) หรือ Android Studio Profiler บน iOS ตรวจสอบ CADisplayLink.timestamp — ช่องว่างระหว่างการเรียกควรจะประมาณ 8.3 ms บน Android เปิดใช้งาน Show refresh rate ในตัวเลือกนักพัฒนา
หน้าจออัพเดตพิกเซลบ่อยครั้งเป็นสองเท่า GPU ทำงานรีเนอร์เป็นสองเท่า และ CPU ประมวลผลเฟรมเป็นสองเท่า แต่ละการดำเนินการใช้พลังงาน หน้าจอ LTPO ลดความถี่ในสภาพหยุดนิ่ง แต่ระหว่างการใช้งานอย่างกระฉัน การใช้พลังงาน จะเพิ่มขึ้นตามสัดส่วนของความถี่
ได้ ตั้งแต่ Android 11 ระบบรองรับอัตรารีเฟรชที่หลากหลาย นักพัฒนาสามารถขอ 120 Hz ผ่าน WindowManager.setPreferredRefreshRate อย่างไรก็ตาม ไม่ใช่ทุกอุปกรณ์จะรักษา 120fps ได้อย่างมั่นคง — จำเป็นต้องเพิ่มประสิทธิภาพการแรนเดอร์ GPU
ในการทดสอบแบบตาบอด ผู้ใช้ส่วนใหญ่ สังเกตความแตกต่าง ระหว่างการเลื่อนแถบและแอนิเมชัน อย่างไรก็ตาม สำหรับการใช้งานประจำวัน (โซเชียลมีเดีย, วิดีโอ, แอปแชต) ความแตกต่างจะมีเล็กในแง่อัตตยา หลังจากชินชินกับ 120 Hz การกลับไปที่ 60 Hz จะรู้สึกช้า
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม