120fps — 120 Hz ریفریش ریٹ والے ڈسپلے پر دستیاب 120 فریم فی سیکنڈ کی فریم ریٹ، جہاں ہر فریم 8.3 ms لیتا ہے۔ Apple WWDC 2023 Session کے مطابق، ProMotion ہمواری اور توانائی کی کھپت کے توازن کے لیے خود بخود 24 سے 120 Hz تک فریکوئنسی تبدیل کرتا ہے۔ 8.3 ms معیاری بجٹ کا آدھا ہے، جس کے لیے رینڈرنگ کی سنجیدہ اصلاح درکار ہے۔
اہم نکات
120fps معیاری فریم ریٹ سے دوگنا ہے، جہاں ڈسپلے تصویر کو سیکنڈ میں 120 بار اپ ڈیٹ کرتا ہے۔ ہر فریم کے پاس 8.33 ms کا وقت بجٹ ہے — 60fps کا آدھا۔ اس کا مطلب ہے کہ GPU اور CPU کو گرافکس دوگنی رفتار سے پروسیس کرنا ہوں گے، اور تمام الگورتھم جو 60fps پر 16.7 ms میں کام کرتے ہیں وہ 120fps پر صرف اس صورت میں فٹ ہوتے ہیں جب وہ دوگنے موثر ہوں۔
120 Hz ڈسپلے والا پہلا موبائل آلہ Razer Phone (2017) تھا جس میں Sharp کا IGZO پینل تھا۔ Apple نے iPad Pro (2017) میں ProMotion کے نام سے 120 Hz متعارف کرایا، اور iPhones میں صرف 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 ڈسپلے MIPI DSI/DPI بس پر دوگنی فریکوئنسی پر سگنل بھیج کر پکسلز کو جسمانی طور پر 120 بار فی سیکنڈ اپ ڈیٹ کرتا ہے۔ ہر پکسل 8.3 ms میں ایک نیا چمک قدر حاصل کرتا ہے۔ OLED پینلز کے لیے، اس کا مطلب ہے کہ ہر ذیلی پکسل کا اخراج وقت کم ہو جاتا ہے، جس کے لیے ایک ہی تصویر کی چمک برقرار رکھنے کے لیے روشن بیک لائٹ درکار ہوتی ہے۔
LTPO (کم درجہ حرارت پولی کرسٹل لائن آکسائیڈ) ایک OLED ڈسپلے مینوفیکچرنگ ٹیکنالوجی ہے جو LTPS (تیز سوئچنگ سپیڈ) اور IGZO (جامد حالت میں کم توانائی کی کھپت) کو یکجا کرتی ہے۔ LTPO ڈسپلے کو اضافی توانائی کی لاگت کے بغیر 1 سے 120 Hz تک متحرک طور پر ریفریش ریٹ تبدیل کرنے کی اجازت دیتی ہے۔ Always-On Display موڈ میں، فریکوئنسی 1 Hz تک گر جاتی ہے؛ اسکرولنگ کے دوران، یہ 120 Hz تک بڑھ جاتی ہے۔ یہ مسلسل 120 Hz پر چلنے والے ڈسپلے کے مقابلے میں 30% تک توانائی کی بچت فراہم کرتا ہے۔
Frame pacing — فریموں کے درمیان وقفوں کی یکسانیت، 120fps پر سب سے اہم پیرامیٹر ہے۔ جہاں 60fps پر فریموں کے درمیان 2–3 ms کا فرق ناقابل تصور ہے، وہیں 120fps پر وہی مطلق فرق فریم کی مدت کا 25% بنتا ہے اور رکاوٹ کے طور پر محسوس کیا جاتا ہے۔ ہموار 120fps کے لیے، ہر فریم 8.3 ms ±1 ms کے اندر ہونا چاہیے۔ Xcode Instruments میں FrameRate جیسے ٹولز نہ صرف اوسط FPS دکھاتے ہیں بلکہ frame pacing کا جائزہ لینے کے لیے وقفوں کا ہسٹوگرام بھی دکھاتے ہیں۔
// iOS — CADisplayLink کے ذریعے 120 Hz ڈسپلے کا پتہ لگانا
func checkDisplayRefreshRate() {
let link = CADisplayLink(target: self,
selector: #selector(step))
if let preferredRate = link?.preferredFrameRateRange {
print("زیادہ سے زیادہ فریکوئنسی: \(preferredRate.maximum) ہرٹز")
}
}
ProMotion 120 Hz تک انکولی ریفریش ریٹ والے ڈسپلے کے لیے Apple کا ٹریڈ مارک ہے۔ پہلی بار iPad Pro 10.5 (2017) میں متعارف کرایا گیا، بعد میں iPhone 13 Pro (2021) اور MacBook Pro (2021) میں ظاہر ہوا۔ ProMotion صرف 120 Hz نہیں ہے — یہ ذہین فریکوئنسی مینجمنٹ ہے: سسٹم مواد کی قسم کا تجزیہ کرتا ہے اور کارکردگی اور توانائی کی کھپت کے بہترین توازن کے لیے فریکوئنسی تبدیل کرتا ہے۔
ProMotion چار موڈز کو سپورٹ کرتا ہے: جامد مواد اور 24fps ویڈیو کے لیے 24 Hz، 30fps ویڈیو کے لیے 30 Hz، UI نیویگیشن کے لیے 60 Hz، اور اسکرولنگ اور گیمنگ کے لیے 120 Hz۔ موڈز کے درمیان سوئچنگ ایک ہی فریم (8.3 ms) میں ہوتی ہے اور صارف کو نظر نہیں آتی۔ ڈیولپر CADisplayLink میں preferredFrameRateRange کے ذریعے فریکوئنسی انتخاب کو متاثر کر سکتے ہیں، لیکن حتمی فیصلہ مواد کے تجزیے کی بنیاد پر سسٹم کرتا ہے۔
Apple iOS 15 سے ProMotion کے ساتھ کام کرنے کے لیے APIs فراہم کرتا ہے۔ CADisplayLink.preferredFrameRateRange ترجیحی فریکوئنسی رینج سیٹ کرنے کی اجازت دیتا ہے۔ UIScene.ActivationConditions مناظر کے درمیان منتقلی کے وقت فریکوئنسی کو متاثر کر سکتا ہے۔ Metal رینڈرنگ کے لیے، ProMotion کے ساتھ ہم آہنگی کے لیے CAMetalLayer.displaySyncEnabled کو true ہونا چاہیے۔ اگر کوئی ایپ 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 کے لیے اصلاح صرف کوڈ کی رفتار دوگنی کرنے کے بارے میں نہیں ہے، بلکہ رینڈرنگ آرکیٹیکچر پر نظر ثانی کرنے کے بارے میں ہے۔ وہ آپریشنز جو 60fps پر 16.7 ms میں فٹ ہوتے تھے اب 8.3 ms میں مکمل ہونے چاہئیں۔ یہ پائپ لائن کے تمام مراحل کو متاثر کرتا ہے: CPU کی تیاری، GPU رینڈرنگ، اور سسٹم کالز۔
120fps پر، ایک جیسا GPU لوڈ برقرار رکھنے کے لیے فی فریم draw calls کی تعداد 60fps کے مقابلے میں آدھی ہونی چاہیے۔ اگر 60fps پر 400 draw calls قابل قبول ہیں، تو 120fps پر 200 سے زیادہ کی اجازت نہیں ہے۔ draw calls کم کرنے کے لیے ٹیکسچر اٹلس، میش انضمام، اور GPU انسٹینسنگ استعمال کریں۔ Metal پر، Indirect Command Buffers استعمال کریں؛ Vulkan پر، متوازی کمانڈ ریکارڈنگ کے لیے Secondary Command Buffers استعمال کریں۔
Shaders — ایک اور اہم عنصر۔ متعدد ٹیکسچر لوک اپس اور ریاضیاتی کارروائیوں والے پیچیدہ پکسل شیڈرز آسانی سے 8.3 ms کے بجٹ سے تجاوز کر سکتے ہیں۔ کم درستگی والے شیڈرز (float کی بجائے half) استعمال کریں، ہدایات اور ٹیکسچر نمونوں کی تعداد کم کریں۔ موبائل GPUs (Apple A17، Snapdragon 8 Gen 3) پر، ہر ٹیکسچر لوک اپ 2–4 سائیکل لیتا ہے، اور 120fps پر یہ رکاوٹ بن سکتا ہے۔
120fps پر، مرکزی دھاگے کو GPU رینڈرنگ کے لیے وقت چھوڑنے کے لیے 4–5 ms میں ایک فریم تیار کرنا ہوگا۔ مرکزی دھاگے پر کوئی بھی ہم آہنگ آپریشن — ڈیٹا بیس پڑھنا، JSON تجزیہ، تصویر لوڈنگ — رکاوٹ پیدا کرتا ہے۔ تمام بھاری آپریشنز کو پس منظر کے دھاگوں میں منتقل کریں، غیر ہم آہنگ APIs اور دھاگے کے پولز استعمال کریں۔ iOS میں، qualityOfService .userInteractive والے DispatchQueue کو صرف اہم رینڈرنگ کوڈ کے لیے محفوظ رکھنا چاہیے۔
| جزو | 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 بیٹری پر 120fps پر ایک گھنٹہ گیمنگ بیٹری کو تقریباً 25–30% تیزی سے ختم کرتی ہے۔ LTPO ڈسپلے جامد مناظر میں فریکوئنسی کو 1 Hz تک کم کرکے مسئلہ کو جزوی طور پر حل کرتے ہیں، لیکن فعال استعمال (اسکرولنگ، گیمنگ) کے دوران فریکوئنسی زیادہ سے زیادہ رہتی ہے۔
60fps اور 120fps کے درمیان انتخاب کا انحصار ڈیولپر کی ترجیحات پر ہے۔ سوشل نیٹ ورکس، میسنجرز اور خبروں کی ایپلی کیشنز کے لیے، 120fps کوئی خاص فائدہ نہیں دیتا — اہم تعامل (پڑھنا، ٹیکسٹ ان پٹ) الٹرا ہمواری سے فائدہ نہیں اٹھاتا۔ گیمز، نقشوں، گرافکس ایڈیٹرز اور شدید اینیمیشن والی ایپلی کیشنز کے لیے، 120fps مسابقتی فائدہ اور معیار کا نشان بن جاتا ہے۔
جانچ 120fps کے لیے ایک خاص نقطہ نظر درکار ہے: معیاری 60fps میٹرکس 120 Hz پر frame pacing کے مسائل ظاہر نہیں کرتے۔ اصل اسکرین رویے کو ریکارڈ کرنے کے لیے ہائی سپیڈ کیمرہ (120+ fps) یا پلیٹ فارم کے بلٹ ان ٹولز — iOS کے لیے Xcode Metal Capture اور Android کے لیے AGI (Android GPU Inspector) استعمال کریں۔ یہ ٹولز 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 سے شروع کرتے ہوئے، سسٹم مختلف ریفریش ریٹ سپورٹ کرتا ہے۔ ڈیولپر WindowManager.setPreferredRefreshRate کے ذریعے 120 Hz کی درخواست کر سکتے ہیں۔ تاہم، تمام آلات 120fps کو مستقل طور پر برقرار نہیں رکھ سکتے — GPU رینڈرنگ اصلاح درکار ہے۔
ایک نابینا ٹیسٹ میں، زیادہ تر صارفین اسکرولنگ اور اینیمیشنز کے دوران فرق محسوس کرتے ہیں۔ تاہم، روزمرہ استعمال (سوشل میڈیا، ویڈیو، میسنجر) کے لیے، فرق موضوعی طور پر چھوٹا ہے۔ 120 Hz کی عادت ہونے کے بعد 60 Hz پر واپس آنا سست محسوس ہوتا ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں