หากทุกครั้งที่คุณเข้าเล่นเกม Android ที่คุณชื่นชอบ... เฟรมเรตตก หน้าจอค้าง หรือภาพกระตุกไปหมดเป็นเรื่องปกติที่จะรู้สึกหงุดหงิด ข่าวดีก็คือ เว้นแต่ว่าโทรศัพท์ของคุณจะเก่ามากจริงๆ คุณสามารถใช้เทคนิคและวิธีการต่างๆ มากมายเพื่อปรับปรุงประสบการณ์การใช้งานของคุณได้อย่างมากโดยไม่ต้องเสียเงินมากมายซื้อสมาร์ทโฟนเครื่องใหม่
สิ่งสำคัญคือการเข้าใจว่า ไม่มีแอปวิเศษใดที่จะแก้ไขทุกอย่างได้แต่เป็นการปรับปรุงเล็กๆ น้อยๆ หลายอย่าง เช่น การปรับเปลี่ยนตัวเกมเอง การกำหนดค่าระบบเราจะพูดถึงการใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ เครื่องมือต่างๆ เช่น GFX Tool หรือ Game Booster และสุดท้าย ฟีเจอร์ใหม่ทั้งหมดของ Android 13 เกี่ยวกับการจำกัด FPS และโหมดเกม มาดูกันทีละขั้นตอนอย่างละเอียดโดยไม่พูดอ้อมค้อมกันเลย
ทำไมเกม FPS ของคุณถึงเล่นช้าบน Android?
เมื่อเกมเริ่มกระตุก มักเป็นเพราะส่วนประกอบอย่างน้อยหนึ่งส่วนทำงานถึงขีดจำกัดแล้ว: ซีพียู, การ์ดจอ, แรม, พื้นที่จัดเก็บข้อมูล หรือการตั้งค่ากราฟิกที่เลือกไม่เหมาะสมไม่ใช่ว่า "โทรศัพท์ไม่ดี" เสมอไป บางครั้งการตั้งค่าอาจไม่เหมาะสมกับอุปกรณ์ของคุณด้วยซ้ำ
โปรเซสเซอร์และ GPU เป็นตัวกำหนด พลังประมวลผลมหาศาลพร้อมใช้งานสำหรับการประมวลผลกราฟิก ฟิสิกส์ และเอฟเฟกต์หากตั้งค่าคุณภาพกราฟิกหรือเฟรมเรต (FPS) ในเกมสูงเกินไปสำหรับชิปประมวลผลของคุณ ผลที่ตามมาคือประสิทธิภาพการทำงานจะลดลงอย่างต่อเนื่องและเกิดความร้อนสูงเกินไป
RAM ก็มีความสำคัญเช่นกัน: เมื่อคุณมี เมื่อมีแอปพลิเคชันจำนวนมากเปิดอยู่เบื้องหลัง ระบบจะเริ่มปิดกระบวนการทำงานและย้ายข้อมูล จากที่หนึ่งไปยังอีกที่หนึ่ง ส่งผลให้เกิดการหยุดชะงัก เวลาในการโหลดพื้นผิวที่ยาวนานอย่างไม่มีที่สิ้นสุด และในกรณีที่แย่ที่สุด อาจทำให้เกมหยุดทำงานโดยไม่คาดคิด
ข้อความ "พื้นที่เก็บข้อมูลเกือบเต็ม" เป็นตัวอย่างคลาสสิกอีกอย่างหนึ่ง เช่น โทรศัพท์ที่มีความจุเหลือ 90-95% มันอ่านและเขียนข้อมูลได้ช้าลงมาก ข้อมูลกระจัดกระจาย และทำให้ระบบโดยรวมทำงานช้าลงเวลาในการโหลดนานขึ้น และความลื่นไหลในการเล่นเกมลดลง
และแน่นอน เรายังมีส่วนของซอฟต์แวร์ด้วย: การตั้งค่ากราฟิกภายในเกม เวอร์ชัน Android แอปที่ทำงานอยู่เบื้องหลัง การเชื่อมต่อไร้สาย และบริการระบุตำแหน่งทุกอย่างจะรวมกัน... หรือหักลบกัน ขึ้นอยู่กับการตั้งค่าของคุณ
Android 13, โหมดเกม และการจำกัด FPS อัจฉริยะ
ใน Android 13 กูเกิลได้นำเสนอระบบที่น่าสนใจอย่างหนึ่ง นั่นคือ... การจำกัด FPS เป็นการแทรกแซงโหมดเกมมันถูกออกแบบมาเพื่อให้เกมรักษาอัตราเฟรมที่เสถียร ใช้พลังงานแบตเตอรี่น้อยลง และหลีกเลี่ยงเอฟเฟกต์ "ขึ้นๆ ลงๆ" ที่มักพบในเกม FPS
ปัจจุบัน โทรศัพท์ Android หลายรุ่นมาพร้อมกับหน้าจอขนาด... ไม่ว่าจะเป็น 90 Hz หรือ 120 Hz เกมต่างๆ ก็พยายามปรับให้เข้ากับจังหวะนั้น โดยการเพิ่มเฟรมเรตให้สูงสุด ปัญหาคือแทบไม่มีโปรแกรมไหนคำนึงถึงว่าผู้ใช้ให้ความสำคัญกับอายุการใช้งานแบตเตอรี่หรือความเสถียรมากกว่ากัน และนั่นคือสาเหตุที่ทำให้เกิดอาการกระตุก: เกมพยายามทำงานด้วยความเร็วสูงสุด แต่ CPU/GPU ไม่สามารถตามทันได้
แนวคิดเบื้องหลังการปรับปรุงโหมดเกมนี้เรียบง่าย: มันไม่สามารถเพิ่มอัตราเฟรมต่อวินาที (FPS) ดั้งเดิมของเกมได้ แต่สามารถจำกัดได้เท่านั้นกล่าวอีกนัยหนึ่ง หากเกมถูกออกแบบมาให้ทำงานที่ 60 เฟรมต่อวินาที มันจะไม่กระโดดไปที่ 120 เฟรมต่อวินาทีโดยอัตโนมัติ แต่สามารถล็อกไว้ที่ค่าต่างๆ เช่น 40 หรือ 30 เฟรมต่อวินาที เพื่อให้เฟรมเรตมีความเสถียรมากขึ้นและลดการใช้ทรัพยากร
ผลการทดสอบของ Google แสดงให้เห็นว่าการจำกัดจำนวนเฟรมต่อวินาทีสามารถช่วยได้ ลดการใช้พลังงานของ GPU ได้สูงสุดถึง 50% และลดการใช้พลังงานโดยรวมของระบบได้ประมาณ 20%ในทางปฏิบัติ หมายความว่าโทรศัพท์จะไม่ร้อนเกินไป ประสิทธิภาพการทำงานจะลดลงน้อยลงเนื่องจากอุณหภูมิ และแบตเตอรี่จะใช้งานได้นานขึ้นในระหว่างการเล่นเกมครั้งเดียวกัน
สิ่งสำคัญอย่างยิ่งประการหนึ่งคือ การแทรกแซงนี้ มันถูกออกแบบมาโดยเฉพาะสำหรับเกมที่ "ไม่เน้นจังหวะ"กล่าวคือ เกมที่มีเฟรมเรตสูงมาก แต่มีความผันแปรอย่างมากในแต่ละช่วงเวลา แม้ว่าเฟรมเรตเฉลี่ยจะดูดี แต่ความผันแปรเหล่านี้เองที่ผู้เล่นรับรู้ว่าเป็นอาการแล็กหรือความไม่เสถียร
วิธีการทำงานของข้อจำกัด FPS ขึ้นอยู่กับขนาดหน้าจอมือถือของคุณ
การจำกัด FPS ไม่ได้ถูกนำมาใช้แบบสุ่มสี่สุ่มห้า ในอุดมคติแล้ว อัตราเฟรมที่เลือกจะต้องเป็นตัวหารที่ลงตัวของอัตราการรีเฟรชสูงสุด ของหน้าจอ เพื่อให้ทุกอย่างทำงานประสานกันและใช้งานแผงควบคุมได้อย่างมีประสิทธิภาพมากขึ้น
ในทางปฏิบัติ ขึ้นอยู่กับประเภทของหน้าจอ คุณจะมีค่า FPS ที่แนะนำดังนี้:
- จอแสดงผล 60Hz60 เฟรมต่อวินาที และ 30 เฟรมต่อวินาที
- จอแสดงผล 90Hz: 90 เฟรมต่อวินาที, 45 เฟรมต่อวินาที และ 30 เฟรมต่อวินาที
- จอแสดงผล 120Hz: 120 FPS, 60 FPS, 40 FPS และ 30 FPS
โปรดสังเกตว่า ไม่มีค่า "ผิดปกติ" ปรากฏขึ้น ตัวอย่างเช่น 50 FPS หรือ 70 FPS หากคุณบังคับตัวเลขที่ไม่ตรงกับอัตราการรีเฟรชของหน้าจอ อาจทำให้เกิดอาการกระตุกมากกว่าประโยชน์ เพราะระบบต้องปรับเวลาอยู่ตลอดเวลา
การแทรกแซงที่จำกัด FPS มันจะผสานรวมกับอัตราเฟรมที่เกมกำหนดไว้เองโดยทั่วไปแล้ว ใน "การต่อสู้" ของข้อจำกัดนี้ ค่าที่ต่ำกว่ามักจะชนะเสมอ: หากเกมต้องการทำงานที่ 60 เฟรมต่อวินาที แต่แพลตฟอร์มจำกัดไว้ที่ 40 เฟรมต่อวินาที คุณก็จะติดอยู่ที่ 40 เฟรมต่อวินาทีอย่างเสถียร
มีข้อยกเว้นที่น่าสนใจอย่างหนึ่งคือ หากแอปใช้เทคนิคการกำหนดจังหวะที่รวดเร็วมาก และ ระงับเธรดการเรนเดอร์อย่างชัดเจนเพื่อกำหนดจังหวะการทำงานระบบจะไม่สามารถลดขีดจำกัด FPS ได้อีกต่อไป ในกรณีนั้น ขีดจำกัด FPS ในโหมดเกมจะไม่มีผล และจะมีเพียงขีดจำกัด FPS ของเกมเท่านั้นที่มีผล
นอกจากนี้อย่าลืมว่า ผลลัพธ์อาจแตกต่างกันอย่างมาก ขึ้นอยู่กับอุปกรณ์ อุณหภูมิแวดล้อม และสถานะแบตเตอรี่ และปัจจัยอื่นๆ เกมเดียวกันที่มีข้อจำกัด FPS เท่ากัน อาจทำงานได้ดีกว่าบนโทรศัพท์เครื่องหนึ่งมากกว่าอีกเครื่องหนึ่ง แม้ว่าจะใช้ Android เวอร์ชันเดียวกันก็ตาม
ตั้งค่าการจำกัด FPS ด้วย ADB และโหมดเกม
หากคุณเป็นคนหนึ่งที่ไม่กลัวที่จะเชื่อมต่อโทรศัพท์มือถือกับพีซีและทดลองใช้ ADB ระบบ Android ก็ช่วยให้คุณทำเช่นนั้นได้ กำหนดค่าการแทรกแซง FPS ที่ระดับแพ็กเก็ต (แอป) โดยใช้เครื่องมือ device_configเอกสารนี้จัดทำขึ้นสำหรับนักพัฒนาเป็นหลัก แต่ก็เป็นเอกสารอ้างอิงที่มีประโยชน์มากเช่นกัน
ก่อนอื่นเลย มีคำเตือนที่สำคัญอย่างหนึ่งคือ เกมนี้ คุณต้องไม่ประกาศความเข้ากันได้กับ Game Mode APIหากนักพัฒนาได้ผสานรวม API นั้นแล้ว การปรับแต่งประสิทธิภาพของพวกเขาเองอาจลบล้างการจำกัด FPS ของแพลตฟอร์มได้
ในการเปิดใช้งานโหมดเกมในแอปพลิเคชันใดแอปพลิเคชันหนึ่ง จะใช้คำสั่งดังนี้:
adb shell device_config put game_overlay <PACKAGE_NAME> <CONFIG>
ภายในการตั้งค่านั้น คุณสามารถระบุได้ดังนี้ โหมดเกมและอัตรา FPS เป้าหมายตัวอย่างเช่น คำสั่งทั่วไปจะเป็นดังนี้:
adb shell device_config put game_overlay <PACKAGE_NAME> mode=2,fps=90:mode=3,fps=30
ในกรณีนี้ mode=2 มักเกี่ยวข้องกับโหมดประสิทธิภาพ และ mode=3 เกี่ยวข้องกับโหมดแบตเตอรี่ในขณะที่พารามิเตอร์ fps ค่าที่ยอมรับได้ ได้แก่ 0, 30, 40, 45, 60, 90 และ 120 ขึ้นอยู่กับว่าหน้าจอของอุปกรณ์รองรับค่าใดบ้าง โดยค่าเริ่มต้นคือ 0 ซึ่งไม่มีการกำหนดขีดจำกัดเพิ่มเติมใดๆ
โปรดจำไว้ว่าคำสั่ง ADB เหล่านี้เป็นคำสั่งขั้นสูง และว่า การเปลี่ยนแปลงใดๆ ที่คุณกระทำ คุณต้องรับความเสี่ยงเองหากเกิดข้อผิดพลาด คุณสามารถเปลี่ยนกลับไปใช้ค่าเริ่มต้นหรือลบการตั้งค่าโอเวอร์เลย์สำหรับแพ็กเกจนั้นได้เสมอ
วิธีตรวจสอบ FPS และวัดผลลัพธ์

เมื่อคุณปรับค่าจำกัด FPS แล้ว ไม่ว่าจะจากตั้งค่าเกม โหมดเกม หรือด้วยวิธีการทางเทคนิคอื่นๆ สิ่งที่ควรทำต่อไปคือ... ตรวจสอบ FPS และสังเกตสิ่งที่เกิดขึ้นบนหน้าจออย่างแท้จริง รวมถึงพฤติกรรมของเกม
ในโทรศัพท์ Android หลายรุ่นที่มีแผงเกมหรือแดชบอร์ดเกม คุณสามารถทำได้ เปิดใช้งานตัวนับ FPS แบบซ้อนทับโดยทั่วไปแล้วจะเป็นเช่นนี้:
- เปิดเกมแล้วเลื่อนแถบแจ้งเตือนลงมา
- แตะที่ไอคอนแดชบอร์ดเกม
- เปิดใช้งานตัวเลือกตัวนับ FPS สัมผัสปุ่มที่เกี่ยวข้อง
- ปิดแผงควบคุมด้วยปุ่มปิด (X) แล้วเลื่อนไปด้านข้างเพื่อดูตัวนับขณะเล่นเกม
ด้วยวิธีนี้ คุณสามารถตรวจสอบได้ เช่น ว่าชื่อของคุณยังคงมีเสถียรภาพหรือไม่ 120 FPS บนหน้าจอ 120Hz หรือหากเฟรมเรตค้างอยู่ที่ 40 FPS เมื่อคุณเปิดใช้งานโหมดประหยัดแบตเตอรี่หรือตั้งค่าขีดจำกัดการใช้งานไว้
หากคุณต้องการก้าวไปอีกขั้น Android ก็มีตัวเลือกให้เลือกใช้ เครื่องมือสร้างกราฟ เช่น Perfettoเครื่องมือเหล่านี้มีประโยชน์มากหากคุณเป็นนักพัฒนาหรือชอบทำงานกับข้อมูล การเก็บรวบรวมข้อมูลประสิทธิภาพจากซอร์สโค้ดนั้นมีประโยชน์มาก android.game_interventionsคุณจะสามารถดูบันทึกโดยละเอียดเกี่ยวกับการจำกัด FPS ที่ใช้เมื่อใดและด้วยค่าใด
ในโปรแกรมอ่านข้อมูลการติดตาม ภายใต้หัวข้อ ข้อมูลและสถิติ คุณจะเห็น รายชื่อโหมดเกมและการแทรกแซงที่ใช้งานอยู่สิ่งที่เกี่ยวข้องกับเกม FPS จะปรากฏในรูปแบบนี้ fps=Xโดยที่ X คืออัตราที่ใช้สำหรับโหมดนั้นๆ เมื่อปรากฏค่า 0 หมายความว่าไม่ได้กำหนดขีดจำกัดเฉพาะใดๆ ไว้
แม้ว่าฟังดูจะซับซ้อนในเชิงเทคนิค แต่ประเด็นสำคัญก็คือ คุณมีวิธีการที่ค่อนข้างแม่นยำในการตรวจสอบว่าการเปลี่ยนแปลงของคุณได้ผลหรือไม่ และความเสถียรของ FPS จะดีขึ้นจริงหรือไม่
การเพิ่มประสิทธิภาพเกมมือถือ: การตั้งค่าโปรเจ็กต์, RAM, CPU และ GPU
นอกเหนือจากสิ่งที่ Android นำเสนอในระดับระบบแล้ว ปัญหาด้านประสิทธิภาพหลายอย่างยังเกิดจากตัวเกมเอง ตัวอย่างในโลกแห่งความเป็นจริง: นักพัฒนาเกมรายหนึ่งสามารถลดการใช้หน่วยความจำของเกมลงได้... แรม 2,5 GB โดยแต่ละช่องมีพื้นที่ใช้งานประมาณ 250 MBและจากเดิมที่เกมค้างทันที ก็กลับมาเล่นได้อย่างเสถียรที่เฟรมเรตมากกว่า 60 FPS บน Galaxy S8 เพียงแค่ปรับพารามิเตอร์เล็กน้อยเท่านั้น
ในแง่ของกราฟิก การตั้งค่าต่างๆ เช่น คุณภาพการสุ่มตัวอย่าง หรือการตั้งค่า GPU มักจะสร้างความแตกต่างเพียงเล็กน้อย แต่ ตัวเลือกต่างๆ เช่น คุณภาพการปรับขนาด หรือขนาดสูงสุดของสไปรต์ชีท มันอาจเป็นปัจจัยชี้ขาดได้ โดยเฉพาะในโทรศัพท์มือถือที่มี RAM น้อย
การลดขนาด โดยเฉพาะอย่างยิ่ง สามารถเป็นอาวุธที่ทรงพลังได้: การลดขนาดลงจะทำให้... ไม่ต้องสร้าง mipmap (ไฟล์พื้นผิวขนาดเล็ก)วิธีนี้ช่วยประหยัดหน่วยความจำเนื่องจากจัดเก็บภาพหลายเวอร์ชันน้อยลง ซึ่งส่งผลอย่างมากต่อเกมที่มีพื้นผิวขนาดใหญ่มาก
ขนาดสูงสุดของสไปรต์ชีทก็เป็นสิ่งสำคัญเช่นกัน การลดขนาดจาก 4096 เหลือ 2048 เป็นต้น มันช่วยลดการใช้ RAM ลงอย่างมาก แต่แลกมาด้วยภาระการทำงานของ CPU ที่เพิ่มขึ้นเล็กน้อยในโทรศัพท์มือถือ วิธีนี้มักจะได้ผลดีกว่า: คุณควรเลือกให้หน่วยประมวลผลทำงานหนักขึ้นเล็กน้อย ดีกว่าที่จะทำให้หน่วยความจำทำงานหนักเกินไป
ในส่วนของคุณภาพการแสดงผลแบบเต็มหน้าจอ เอ็นจิ้นหลายตัวอนุญาตให้ทำเช่นนั้นได้ เรนเดอร์ภาพด้วยความละเอียดต่ำก่อน แล้วค่อยขยายขนาดให้ใหญ่ขึ้น เพื่อปรับให้เข้ากับความละเอียดของหน้าจอ การตั้งค่าเป็นระดับต่ำอาจทำให้เกมดูแตกพิกเซลเล็กน้อย (แทบไม่สังเกตเห็นบนหน้าจอมือถือความละเอียด 1440p) แต่ประสิทธิภาพที่เพิ่มขึ้นนั้นมหาศาลในบางกรณี
ในทางกลับกัน การลดรอยหยัก (Antialiasing) มักเป็นสิ่งที่เพิ่มความสะดวกสบายในการใช้งาน: โปรแกรมนี้ใช้ทรัพยากรในการปรับขอบแต่ละด้านให้เรียบในเกมมือถือ หากรูปแบบภาพไม่ได้ต้องการกราฟิกสูงเป็นพิเศษ การปิดใช้งานหรือลดระดับกราฟิกให้เหลือน้อยที่สุดอาจช่วยเพิ่มเฟรมเรตได้อีกหลายเฟรม
การควบคุมการใช้งาน RAM: ขนาดสไปรท์และทรัพยากร
ในแง่ของหน่วยความจำ ข้อผิดพลาดที่พบบ่อยที่สุดอย่างหนึ่งคือการใช้สไปรท์ขนาดใหญ่เกินไป ตัวอย่างเช่น รูปภาพขนาด 4000 x 4000 พิกเซล มันไม่ได้ใช้พื้นที่เป็นสองเท่าของขนาด 2000 x 2000 แต่ใช้พื้นที่มากกว่าถึงสี่เท่าเนื่องจากหน่วยความจำขึ้นอยู่กับจำนวนพิกเซลทั้งหมด
ในทางปฏิบัติ คุณสามารถลดขนาดกราฟิกส่วนใหญ่ (ปุ่ม พื้นหลัง องค์ประกอบอินเทอร์เฟซ) ให้มีขนาดที่เหมาะสมยิ่งขึ้นได้โดยไม่สูญเสียคุณภาพที่มองเห็นได้ ตัวอย่างเช่น ปุ่มขนาด 250 x 250 พิกเซล โดยปกติแล้วพลังงานนี้ก็เพียงพอสำหรับหน้าจอส่วนใหญ่แล้วและการลดขนาดใดๆ ก็ตามหมายถึงการใช้ RAM น้อยลง
นอกจากนี้ การเข้าใจวิธีการจัดแพ็กเกจไฟล์ภาพสไปรต์ชีทก็เป็นประโยชน์เช่นกัน โดยทั่วไปแล้ว ภาพขนาด 400 x 400 พิกเซลจะมีขนาด... จองพื้นที่ขนาด 512 x 512 บนแผ่นงานนั้น ภาพขนาด 600 x 600 พิกเซล สามารถใช้พื้นที่ได้ถึง 1024 x 1024 พิกเซล หากคุณลดขนาดภาพจาก 258 x 258 พิกเซล เหลือ 256 x 256 พิกเซล คุณจะยังคงเห็นภาพเดิม แต่จะจัดวางบนตารางได้ดีขึ้นและไม่เปลืองพื้นที่
อีกประเด็นหนึ่งที่ทำให้หลายคนสับสน: การบีบอัดรูปภาพจะช่วยลดขนาดของไฟล์ APK หรือไฟล์ติดตั้งเท่านั้นไม่ใช่หน่วยความจำ RAM ที่ใช้ในการทำงาน แต่เมื่อเกมโหลดไฟล์เหล่านั้น ไฟล์จะถูกบีบอัดให้เป็นรูปแบบที่เหมาะสมสำหรับ GPU และนั่นคือจุดที่ขนาดพิกเซลที่แท้จริงมีความสำคัญ
หากคุณใช้กราฟิกแบบคงที่ (ไอคอน โลโก้ อินเทอร์เฟซ) รูปแบบเวกเตอร์อย่าง SVG อาจเป็นตัวเลือกที่ดี อย่างไรก็ตาม ไม่แนะนำให้ใช้ SVG มากเกินไปในสไปรท์ที่เคลื่อนไหวหรือมีแอนิเมชั่นมากเพราะในกรณีนั้น CPU จะต้องคำนวณรูปทรงเรขาคณิตใหม่ในแต่ละเฟรม ส่งผลให้ประสิทธิภาพลดลงอย่างมาก
ในโปรแกรมที่มีเครื่องมือดีบัก คุณจะเห็นได้ เลเยอร์หรือฉากใดใช้หน่วยความจำมากที่สุดใช้แดชบอร์ดเหล่านี้เพื่อระบุทรัพยากรที่ไม่สมดุลได้อย่างรวดเร็ว และเริ่มตัดลดทรัพยากรเหล่านั้น แทนที่จะทำไปโดยไม่รู้ข้อมูลอะไรเลย
ลดการใช้งาน CPU: เหตุการณ์ ข้อความ และตรรกะของเกม
ปัญหาที่เกมหลายเกมประสบคือการใช้งาน CPU สูง มีโปรเจ็กต์จำนวนมากที่เต็มไปด้วยเหตุการณ์ที่กำลังทำงานอยู่ “ทุกจังหวะ” หรือ “ทุกเฟรม” โดยที่ไม่จำเป็นต้องทำเช่นนั้นจริง ๆ สิ่งนี้บังคับให้โปรเซสเซอร์ประเมินเงื่อนไขหลายพันครั้งต่อวินาที และในที่สุด ปัญหาคอขวดก็ปรากฏขึ้นตามหลักตรรกะ ไม่ใช่เนื่องจากกราฟิก
เทคนิคพื้นฐานแต่ได้ผลดีคือการแทนที่ "each tick" จำนวนมากด้วย เงื่อนไขที่เฉพาะเจาะจงมากขึ้น (ตัวอย่างเช่น ตรวจสอบตัวแปรเฉพาะเมื่อมีการเปลี่ยนแปลงสถานะ)หากคุณต้องการให้การกระทำทำงานเพียงครั้งเดียวเมื่อเกิดเหตุการณ์บางอย่าง ให้เปิดใช้งานฟังก์ชันต่างๆ เช่น "เรียกใช้งานครั้งเดียว" หรือ "เรียกใช้งานเฉพาะเมื่อเงื่อนไขเปลี่ยนแปลง"
การอัปเดตข้อความอย่างต่อเนื่องเป็นการใช้พลังงาน CPU อีกรูปแบบหนึ่ง การแก้ไขข้อความบนหน้าจอ แต่ละเฟรมหรือหลายครั้งต่อวินาทีเกินไป ขั้นตอนนี้เกี่ยวข้องกับการคำนวณขนาด ตำแหน่ง และในบางกรณี การประกอบพื้นผิวข้อความใหม่ สำหรับองค์ประกอบที่เปลี่ยนแปลงบ่อย (ตัวนับ เครื่องหมาย) ฟอนต์แบบสไปรต์อาจเป็นตัวเลือกที่ดีกว่า
มีประโยชน์มากเช่นกัน ปิดใช้งานกลุ่มเหตุการณ์หรือส่วนของโค้ดทั้งหมด เมื่อไม่จำเป็นต้องใช้งาน ตัวอย่างเช่น โค้ดที่ควบคุมร้านค้าจะจำเป็นต้องใช้งานเฉพาะตอนที่ร้านค้าเปิดทำการเท่านั้น ส่วนเวลาอื่น ๆ สามารถปิดใช้งานเพื่อประหยัด CPU ได้
และหมายเหตุสำหรับผู้ที่มีความรู้ด้านเทคนิคมากขึ้น: ในเครื่องยนต์บางรุ่น ย้ายส่วนตรรกะบางส่วนไปใช้ JavaScript หรือภาษาอื่นที่ตรงไปตรงมามากกว่า คุณสามารถปรับปรุงเพิ่มเติมได้อีก อย่างไรก็ตาม การใช้งานระบบเหตุการณ์ภาพอย่างเหมาะสมมักจะเพียงพอที่จะทำให้เกมมือถือเล่นได้อย่างราบรื่น
การเพิ่มประสิทธิภาพ GPU: เอฟเฟกต์ อนุภาค และเลเยอร์
ในด้านกราฟิกล้วนๆ นั้น หมายถึงสิ่งใดก็ตามที่เกี่ยวข้องกับเอฟเฟกต์ขั้นสูง การประมวลผลภาพหลังการเรนเดอร์ หรือเชเดอร์ที่ซับซ้อน ซึ่งหมายความว่า GPU จะต้องทำงานหนักขึ้นการใช้เอฟเฟ็กต์น้ำแบบง่ายๆ กับภาพตัวละครขนาดใหญ่ อาจทำให้เฟรมเรตลดลงบนอุปกรณ์ระดับกลางได้
อนุภาคเป็นอีกปัจจัยสำคัญ พวกมันดูสวยงามตระการตา แต่จำเป็นต้องควบคุม แนะนำให้ควบคุม ทำลายหรือรีไซเคิลอนุภาคที่ไม่ปรากฏบนหน้าจออีกต่อไปแทนที่จะปล่อยให้พวกมันมีชีวิตอยู่นอกพื้นที่เล่น เพราะพวกมันยังคงใช้ CPU (สำหรับตรรกะ) และ GPU (สำหรับการเรนเดอร์) ต่อไป
เครื่องยนต์บางรุ่นมีตัวเลือกให้เลือกดังนี้ “การเรนเดอร์เซลล์” ในเลเยอร์คงที่การเปิดใช้งานฟังก์ชันนี้กับพื้นหลังที่ไม่เปลี่ยนแปลงจะช่วยเพิ่มประสิทธิภาพ เนื่องจากเอนจิ้นสามารถนำเซลล์เหล่านั้นกลับมาใช้ใหม่ได้แทนที่จะวาดทุกอย่างใหม่ตั้งแต่ต้นในแต่ละเฟรม อย่างไรก็ตาม อย่าเปิดใช้งานฟังก์ชันนี้กับเลเยอร์ที่มีอนุภาคหรือวัตถุเคลื่อนไหวจำนวนมาก เพราะต้นทุนในการคำนวณเซลล์ใหม่ตลอดเวลาจะเปลี่ยนสมการไปโดยสิ้นเชิง
เป็นสิ่งสำคัญที่ต้องจำไว้ว่า ในหลายสถานการณ์ วัตถุที่มีค่าความทึบแสง 0% ก็ยังคงถูกวาดออกมาอยู่ดีหากไม่ต้องการใช้สไปรท์อีกต่อไปแล้ว ควรทำลายทิ้งหรือทำให้มันมองไม่เห็นอย่างแท้จริง (ขึ้นอยู่กับเอนจิ้นที่ใช้) มากกว่าที่จะทำให้มันโปร่งใสเพียงอย่างเดียว
สุดท้ายแล้ว การเพิ่มเลเยอร์เองนั้นโดยทั่วไปไม่ได้ทำให้ภาพเสียคุณภาพมากนัก สิ่งสำคัญคือวัตถุและเอฟเฟ็กต์ที่คุณใส่ลงไปในเลเยอร์เหล่านั้น การควบคุมความซับซ้อนทางภาพและ หลีกเลี่ยงการใช้ฟิลเตอร์หนักๆ ทั่วทั้งหน้าจอ นี่เป็นวิธีโดยตรงในการกู้คืน FPS
ตัวเลือกสำหรับนักพัฒนา: แอนิเมชัน, บังคับใช้ GPU และบังคับใช้ MSAA 4x
ระบบปฏิบัติการ Android เองมีเมนูที่ผู้ใช้หลายคนแทบไม่เคยแตะต้อง แต่เมนูนั้นอาจสร้างความแตกต่างได้: ตัวเลือกนักพัฒนาในการเปิดใช้งาน เพียงไปที่ การตั้งค่า > เกี่ยวกับโทรศัพท์ (หรือเมนูที่คล้ายกัน) แล้วแตะที่ "หมายเลขรุ่น" หลายๆ ครั้ง จนกว่าจะมีข้อความปรากฏขึ้นว่าคุณเป็นนักพัฒนาแล้ว
ภายในเมนูนั้น คุณจะพบเครื่องมือที่มีประโยชน์มากมายที่จะช่วยปรับปรุงความเร็วที่รับรู้ได้ และในบางกรณีก็ปรับปรุงประสิทธิภาพการทำงานจริงด้วย หนึ่งในเครื่องมือที่มีประสิทธิภาพมากที่สุดคือ ลดหรือปิดใช้งานแอนิเมชันของระบบ: ขนาดของหน้าต่างแอนิเมชัน การเปลี่ยนภาพ และระยะเวลาของแอนิเมชัน
หากคุณตั้งค่าเป็น 0.5xo โดยตรงใน “ปิดใช้งานแอนิเมชัน” การเปลี่ยนหน้าจอเกิดขึ้นเกือบจะในทันที และโทรศัพท์ก็ตอบสนองได้ดีขึ้นมาก มันไม่ได้เพิ่มประสิทธิภาพของฮาร์ดแวร์ แต่เป็นการปลดปล่อย GPU ส่วนหนึ่งที่ไม่ได้ใช้สำหรับงานตกแต่งภาพอีกต่อไป
อีกตัวเลือกที่น่าสนใจคือ “บังคับการเรนเดอร์ด้วย GPU” (หรือตัวเลือกที่คล้ายกัน ขึ้นอยู่กับส่วนติดต่อผู้ใช้ของผู้ผลิต) เมื่อเปิดใช้งานแล้ว ส่วนหนึ่งของการเรนเดอร์ภาพ 2 มิติของอินเทอร์เฟซจะถูกส่งต่อไปยัง GPU แทนที่จะปล่อยให้ CPU ประมวลผลทุกอย่าง วิธีนี้มักส่งผลให้การนำทางราบรื่นขึ้น และภาพเคลื่อนไหวดูนุ่มนวลขึ้น
ข้อเสียคือ ในอุปกรณ์หลายๆ รุ่น GPU จะใช้พลังงานมากกว่า CPU สำหรับงานเหล่านี้ ดังนั้นคุณอาจสังเกตเห็นได้ว่า... ลดการใช้แบตเตอรี่ลงได้ระหว่าง 5 ถึง 15% หากคุณเปิดใช้งานไว้ตลอดเวลา ฟังก์ชันนี้จะมีประโยชน์อย่างยิ่งในโทรศัพท์ที่มีซีพียูประสิทธิภาพต่ำ ในขณะที่โทรศัพท์ระดับไฮเอนด์ในปัจจุบันมักไม่จำเป็นมากนัก
นอกจากนี้ คุณจะเห็นการตั้งค่าต่างๆ เช่น "Force MSAA 4x" หรือ "Force 4x MSAA" ซึ่งจะเปิดใช้งานการลดรอยหยักขั้นสูงในเกมที่รองรับ OpenGL ES 2.0 มันช่วยเพิ่มคุณภาพกราฟิก แต่ก็ทำให้สิ้นเปลืองพลังงาน GPU และแบตเตอรี่มากขึ้นด้วยหากโทรศัพท์ของคุณทำงานได้ไม่เต็มประสิทธิภาพ ควรปิดใช้งานฟังก์ชันนี้เพื่อหลีกเลี่ยงปัญหาเฟรมเรตตก
จำกัดกระบวนการทำงานเบื้องหลังและปิดแอปก่อนเล่น
ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ยังอนุญาตให้ จำกัดจำนวนกระบวนการที่สามารถทำงานในพื้นหลังได้ด้วยวิธีนี้ Android จะให้ความสำคัญกับแอปที่ทำงานอยู่เบื้องหน้า (เกม) และปิดแอปที่คุณไม่ได้ใช้งานอย่างรวดเร็วยิ่งขึ้น
คุณต้องระมัดระวังอย่าตั้งค่าขีดจำกัดต่ำเกินไป เพราะอาจทำให้เกิดปัญหาได้ แอปส่งข้อความหรือบริการสำคัญปิดตัวลงและหยุดรับการแจ้งเตือนควรลองเล่นในระดับปานกลางดูก่อน แล้วสังเกตดูว่าเกมดีขึ้นหรือไม่ โดยที่ฟังก์ชันการใช้งานไม่เปลี่ยนแปลง
นอกเหนือจากนั้นแล้ว การทำสิ่งที่เราทำมาโดยตลอดก็ยังคงเป็นความคิดที่ดีอยู่: ปิดแอปพลิเคชันที่ใช้ทรัพยากรมากซึ่งทำงานอยู่เบื้องหลังด้วยตนเอง ปิดโปรแกรม (เครือข่ายสังคมออนไลน์, เบราว์เซอร์ที่เปิดแท็บไว้หลายแท็บ ฯลฯ) ก่อนเปิดเกมโปรดของคุณ เพื่อให้หน่วยความจำ RAM ว่างมากที่สุดเท่าที่จะเป็นไปได้
หากคุณต้องการทำมากกว่านั้น คุณสามารถใช้แอปอย่าง Advanced Task Killer หรือยูทิลิตี้ปิดกระบวนการทำงานอื่นๆ ซึ่งควรดาวน์โหลดจากแหล่งที่มาอย่างเป็นทางการและใช้งานอย่างพอเหมาะ เพราะ การหยุดกระบวนการทำงานอย่างต่อเนื่องอาจทำให้เกิดการใช้พลังงานเพิ่มขึ้นได้ เมื่อระบบจำเป็นต้องรีสตาร์ทพวกมัน
ความสว่าง โหมดมืด การเชื่อมต่อ และการแจ้งเตือน: การปรับแต่งเล็กๆ น้อยๆ ที่รวมกันแล้วสร้างความแตกต่างได้มาก
อาจฟังดูเหมือนเป็นเทคนิคเล็กน้อย แต่การปรับความสว่างให้สูงสุดเป็นวิธีที่ยอดเยี่ยมในการ... โทรศัพท์มือถือร้อนเกินไปเมื่ออุณหภูมิสูงขึ้น ทั้ง CPU และ GPU มักจะลดความถี่ในการทำงานลงเพื่อป้องกันตัวเอง และนั่นคือสาเหตุที่ทำให้เฟรมเรตลดลง
ตามหลักการแล้ว ควรปรับความสว่างให้ได้ตามค่าที่กำหนด ต่ำกว่าที่คุณรู้สึกสบายใจ และเมื่อใดก็ตามที่เกมและระบบอนุญาต ให้เปิดใช้งานโหมดมืด โหมดนี้ช่วยให้หน้าจอและโปรเซสเซอร์ทำงานได้อย่างมีประสิทธิภาพมากขึ้น โดยเฉพาะอย่างยิ่งในช่วงเล่นเกมเป็นเวลานานในเวลากลางคืน
นอกจากนี้ การเปิดใช้งานการเชื่อมต่อทั้งหมดโดยไม่จำเป็นก็ดูจะไม่สมเหตุสมผลเท่าไหร่ ควรปิดใช้งาน บลูทูธ, NFC, บริการระบุตำแหน่ง และแม้แต่ข้อมูลมือถือ (หากคุณเล่นผ่าน Wi-Fi) จะช่วยให้ระบบสามารถโฟกัสไปที่เกมได้มากขึ้น และลดเวลาในการสแกนเครือข่ายหรืออัปเดตบริการเบื้องหลังลง
การแจ้งเตือนเป็นอีกสาเหตุหนึ่งที่ทำให้เกิดการรบกวนและอาการหน่วงเล็กน้อย ควรเปิดใช้งานโหมดห้ามรบกวนหรือใช้ระบบป้องกันการแจ้งเตือน (Do Not Disturb) โหมดเกมในตัวของผู้ผลิต ซึ่งโดยปกติจะปิดเสียงการแจ้งเตือนและการโทร ระหว่างเล่นเกม คุณจะไม่เพียงแต่ได้รับความลื่นไหลเท่านั้น แต่ยังหลีกเลี่ยงการแจ้งเตือนที่บังครึ่งหน้าจอในเวลาที่แย่ที่สุดอีกด้วย
สุดท้ายนี้ ควรหลีกเลี่ยงการเล่นเกมขณะที่เสียบสายชาร์จโทรศัพท์ไว้ทุกครั้งที่ทำได้ มันทำให้อุณหภูมิสูงขึ้นอย่างมากและเร่งการเสื่อมสภาพของแบตเตอรี่นอกจากการบังคับให้ระบบลดประสิทธิภาพลงเพื่อหลีกเลี่ยงความร้อนสูงเกินไปแล้ว ควรชาร์จแบตเตอรี่ก่อนหรือหลังการเล่นเกมด้วย
Game Booster, GFX Tool และแอปอื่นๆ ที่ช่วยเพิ่ม FPS
แบรนด์ส่วนใหญ่มีมาให้แล้ว โหมดเกมหรือบูสเตอร์เกม มันมาพร้อมกับแอปพลิเคชันพื้นฐาน โดยปกติจะมาในรูปแบบแอปที่ติดตั้งไว้ล่วงหน้าชื่อ “เกมส์”, “พื้นที่เกมส์”, “ตัวเรียกใช้เกมส์” หรือชื่อที่คล้ายกัน และหน้าที่ของมันก็ง่ายๆ คือ การปรับแต่งประสิทธิภาพของมือถือโดยอัตโนมัติเมื่อตรวจพบว่าคุณกำลังเล่นเกม
สาธารณูปโภคเหล่านี้สามารถ ปิดการแจ้งเตือน ปรับความสว่าง จัดลำดับความสำคัญการใช้งาน CPU และ RAM สำหรับการเล่นเกม ควรปรับปรุงการตอบสนองการสัมผัสและแม้กระทั่งเพิ่มประสิทธิภาพการเชื่อมต่ออินเทอร์เน็ต ลดเวลาแฝง ในเกมออนไลน์
Game Boosters หลายรายยังอนุญาตให้... บันทึกหน้าจอหรือถ่ายภาพหน้าจอได้ทันทีรวมถึงการสร้างโปรไฟล์แบบกำหนดเองสำหรับแต่ละเกม ซึ่งคุณสามารถเลือกได้ว่าจะให้ความสำคัญกับประสิทธิภาพโดยรวมหรือคุณภาพกราฟิกมากกว่ากัน
หากโทรศัพท์ของคุณไม่มีโหมดเกมในตัว หรือคุณต้องการฟังก์ชั่นขั้นสูงกว่านั้น ก็มีแอปพลิเคชันเฉพาะทาง เช่น เครื่องมือ GFX – เกมบูสเตอร์ไฟล์เหล่านี้ออกแบบมาสำหรับเกมเฉพาะบางเกมเท่านั้น ด้วยไฟล์เหล่านี้ คุณสามารถปลดล็อกความละเอียดและอัตราเฟรมต่อวินาที (FPS) ที่เกมไม่ได้รองรับโดยค่าเริ่มต้น ปรับระดับรายละเอียด และเปิดหรือปิดเอฟเฟกต์เฉพาะได้
ตัวอย่างเช่น GFX Tool ช่วยให้ เพิ่มความละเอียด เปิดใช้งานกราฟิก HDR บนอุปกรณ์สเปคต่ำ ปลดล็อกเฟรมเรตสูงสุด และเปลี่ยนรูปแบบการแสดงผล นอกจากนี้ มักจะมีฟีเจอร์ "Game Turbo" เพื่อปิดแอปพลิเคชันที่ทำงานอยู่เบื้องหลังและเพิ่มทรัพยากรให้เพียงพอก่อนเริ่มเกมด้วย
อย่างไรก็ตาม สิ่งสำคัญคือต้องใช้งานแอปพลิเคชันเหล่านี้อย่างมีความรับผิดชอบ การตั้งค่าที่ไม่ถูกต้องอาจก่อให้เกิดปัญหาได้ เครื่องปิดเองโดยไม่คาดคิด แบตเตอรี่หมดเร็วเกินไป หรือเครื่องร้อนเกินไปควรเลือกใช้ตัวเลือกที่เหมาะสมกับฮาร์ดแวร์ที่มีอยู่ และอย่าใช้งานหนักเกินไป
อัปเดต Android และตัวเกมเองด้วย
สิ่งหนึ่งที่มักถูกลืมอยู่เสมอคือ การอัปเดตระบบและเกมนำมาซึ่งการปรับปรุงประสิทธิภาพและการแก้ไขข้อบกพร่องข้อผิดพลาดในการจัดการหน่วยความจำ ความล้มเหลวในการซิงโครไนซ์ FPS หรือปัญหาด้านกราฟิก อาจได้รับการแก้ไขแล้วในเวอร์ชันที่ใหม่กว่า
ตรวจสอบในเมนูการตั้งค่าบนมือถือของคุณว่ามีหรือไม่ การอัปเดตระบบที่รอดำเนินการ โปรดทำการอัปเดตเหล่านี้เมื่อคุณมีแบตเตอรี่เพียงพอและเชื่อมต่อกับ Wi-Fi แล้ว ตรวจสอบใน Google Play ว่าเกมโปรดของคุณมีเวอร์ชันใหม่หรือไม่ และติดตั้งเวอร์ชันเหล่านั้น
โดยปกติแล้วนักพัฒนาจะรวมสิ่งเหล่านั้นไว้ในการอัปเดตแต่ละครั้ง การปรับปรุงประสิทธิภาพสำหรับอุปกรณ์รุ่นใหม่ การปรับแต่งโปรไฟล์กราฟิก และการปรับปรุงเสถียรภาพหากคุณใช้เวอร์ชันที่ล้าสมัย คุณอาจเจอปัญหาที่ไม่มีอยู่อีกต่อไปแล้ว
นอกจากนี้ ผู้ผลิตหลายรายยังปรับแต่ง Game Booster, ไดรเวอร์ GPU และระบบจัดการพลังงานของตนเองอยู่เรื่อยๆ ดังนั้น การอัปเดตข้อมูลอยู่เสมอถือเป็นสิ่งจำเป็นอย่างยิ่งหากคุณกังวลเกี่ยวกับประสิทธิภาพในการเล่นเกม FPS.
ด้วยเคล็ดลับทั้งหมดนี้ ไม่ว่าจะเป็นการจำกัด FPS ใน Android 13 การตั้งค่ากราฟิกที่ดี การจัดการ RAM, CPU และ GPU การใช้งานตัวเลือกสำหรับนักพัฒนาอย่างชาญฉลาด และเครื่องมือต่างๆ เช่น Game Booster หรือ GFX Tool คุณจะมีพื้นที่เหลือเฟือที่จะทำให้เกม FPS บน Android ของคุณเล่นได้อย่างราบรื่นและสนุกสนานมากขึ้น โดยใช้ประโยชน์จากฮาร์ดแวร์ที่คุณมีอยู่แล้วอย่างเต็มที่โดยไม่จำเป็นต้องเปลี่ยนโทรศัพท์ในโอกาสแรก