คิดว่าหลายๆคนที่ใช้แอนดรอยด์ที่ใช้ ICS ขึ้นไปคงเคยเข้าไปซนในส่วนของ Setting กันมาบ้าง แล้วในหัวข้อของ Developer Option จะมีหัวข้อนึงที่น่าสนใจอยู่นั่นก็คือ Force GPU Rendering ซึ่งหลายๆคนคิดว่าถ้าติ๊กตรงนี้แล้วจะทำให้ GPU หรือการ์ดจอประมวลภาพสองมิติแทน CPU ซึ่งจะทำให้เครื่องของเราทำงานได้เร็วขึ้น …… จริงเหรอ? มาลองดูกันครับ
Force GPU Rendering เจ้าปัญหาอยู่ตรงนี้ไง เคยกดกันมั้ย ?
แล้วมันจะมาอยู่ในส่วน Developer Option ทำไมฟระ ถ้ามันจำเป็นจะมีให้เปิดปิดทำไม – -)|||
เพราะงั้นผมก็เลยไปหาข้อมูลเกี่ยวกับเจ้านี่ดูครับ ว่าจริงๆแล้วมันมีไว้ทำอะไรกันแน่ จึงได้ข้อสรุปมาดังนี้ครับ (ถ้าผิดตรงไหนช่วยติงกันได้นะครับ)
- โดยทั่วไปแล้วการประมวลผลเกี่ยวกับภาพต่างๆจะแบ่งออกเป็นสองส่วนคือประมวลผลด้วย Software ซึ่งใช้ CPU คำนวณและส่วนที่สองคือใช้ Hardware ก็คือใช้ GPU นั่นเอง
- ภาพสองมิติต่างๆ (2D) จะใช้ CPU และ สามมิติ (3D) จะใช้ GPU ในการประมวลผลครับ แต่อาจจะมีบางกรณีที่ผู้พัฒนาโปรแกรมจะใช้ GPU ในการประมวลผลภาพสองมิติครับ
- แต่เมื่อเราติ๊กถูกที่ Force GPU Rendering แล้วจะเกิดอะไรขึ้น ? แอนดรอยด์จะบังคับให้แอพพลิเคชันประมวลผลภาพสองมิติด้วย GPU ถึงแม้ว่าผู้พัฒนาจะไม่ได้เขียนโปรแกรมในส่วนนี้ยังไงล่ะ ซึ่งขั้นตอนนี้ จะทำให้แอพพลิเคชันนั้นรับประทาน Ram ในมือถือของเราเพิ่มขึ้นประมาณ 2-8MB ต่อแอพเพื่อโหลด OpenGL Driver ลงไปประมวลผลด้วย ซึ่งตรงนี้ไม่เป็นผลดีต่อเครื่องที่มีแรมน้อยๆแน่นอน นอกจากนั้นการบริโภคแรมของแอพเพิ่มขึ้น จะทำให้โปรแกรมเบื้องหลังอื่นๆ ถูำก Kill Process บ่อยขึ้น ซึ่งอาจจะทำให้เครื่องช้าลงเนื่องจากจะมีบางแอพ ถูก Kill และ ถูกเรียกใหม่ขึ้นมาบ่อยๆ
- แต่ถ้าในกรณีที่เครื่องมีแรมเหลือเฟือล่ะ? แน่นอนว่าในส่วนนี้ GPU จะช่วยแบ่งเบาภาระงานของ CPU ให้ทำงานน้อยลง ทำให้เครื่องดูเร็วขึ้น
- แต่!! มันมีปัญหาอยู่อีกตรงที่ว่า การที่เราบังคับให้โปรแกรมประมวลผลสองมิติด้วย GPU โดยที่ผู้พัฒนาไม่ได้เป็นคนกำหนดไว้และยังไม่ได้ทดสอบการนั้นไม่เป็นผลดีนักซึ่งปัญหาที่ผมพบเองโดยตรงคือมีการประมวลผลโดยรวมทั้งหมดของเครื่องที่ช้าลงรวมถึงเครื่องมีอาการงอแงและแสดงภาพผิดเพี้ยนไปจากเดิมแม้ว่าการประมวลผล 2D จะเร็วขึ้นก็ตาม (มีน้องที่ร่วมทดสอบท่านหนึ่งบอกว่าพอปิดแล้วเกมที่เคยกระตุกกับลื่นขึ้นมาทันตาเลยทีเดียว)
ภาพด้้านซ้ายและขวาคือการ Benchmark เมื่อเปิด/ปิดโหมด Force GPU Rendering
ซึงสังเกตว่าเมื่อเปิดจะมีคะแนน 2D ที่สูงขึ้นแต่ผลคะแนนรวมกลับลดลง
สังเกตได้ว่าพอเปิดการทำงานของ GPU Rendering ทำให้การแสดงผลของโปรแกรมผิดเพี้ยนไปจากเดิมพอสมควร
แล้วเราควรทำยังไง ?
พอมาถึงส่วนนี้ทุกคนคงจะรู้ถึงข้อดีและข้อเสียของการเปิดใช้กันแล้วซึ่งในส่วนนี้ผมแนะนำให้ ปิด การใช้งานส่วนนี้พื่อป้องกันข้อผิดพลาดของโปรแกรมบางตัว แต่ถ้ายังยืนยันที่อยากจะใช้อยู่ให้ลองสังเกตเครื่องดูซักนิดครับว่า หลังจากเปิดแล้วเครื่องของคุณมีอาการงอแงไปจากเดิมรึเปล่า ขึ้นอยู่กับวิจารณญาณของทุกคนครับ
สรุปง่ายๆอีกทีก็คือ
– โหมดนี้เป็นการบังคับให้ทุกโปรแกรมประมวลผลภาพด้วย GPU
– โดยทฤษฎีเราเชื่อว่าจะทำให้เครื่องของเราประมวลผลภาพเร็วขึ้น ซึ่งจริงๆมันก็ควรจะเป็นเช่นนั้น
– แต่อย่าลืมหว่าโหมดนี้อยู่ในส่วนของ Development Setting ซึ่งเป็นส่วนของผู้พัฒนา ไม่ใช่ของผู้ใช้ทั่วไป
– หลายๆโปรแกรมที่ไม่รองรับอาจจะแสดงผลผิดพลาดหรือทำงานช้าลง เครื่องคุณอาจจะเอ๋อและช้าลงไปเลย (กำ)
– สำหรับโปรแกรมที่รองรับการทำงานของ GPU Rendering อยู่แล้วจะปรับไม่ปรับตรงนี้ก็ไม่มีผลอะไร
– เพราะฉะนั้นโดยทั่วไปคนธรรมดาอย่างเราๆไม่ควรเปิดใช้โดยไม่รู้ที่มาที่ไปครับผม
ปล. บทความบางส่วนอ้างอิงจาก The truth about hardware acceleration on Android : EXTREME TECH ครับ
คนแรก
ไม่เคยปิดเลย อิอิ
จริงอะ ผมก็คนนึงล่ะที่เปิดมันตลอดเลย
ทั้งที่ไม่เคยเห็นว่ามันจะต่างกันเท่าไหร่
มาอ่านเป็นวิทยาทาน อันเนื่องมาจากผมไม่มีฟังก์ชันนี้ ก็เลยรอดตัวไป
ผมเปิดแล้วเล่นไลน์ลื่นมากแต่ถ้าไม่ปิดรู้สึกว่าเวลาเลื่อนมันกระตุกอ่ะครับ
ขอปรับหน้าตาบทความหน่อยนะครับ 🙂
ได้ครับ พอดีไม่ค่อยได้เขียนข่าวที่นี่ จัดอะไรๆ ไม่ค่อยถูกเหมือนกัน ^^"
ยินดีที่มาเขียนมาก มาบ่อยๆนะ ^^
กด edit ดูโค้ดที่ปรับแต่งในบทความนี้ได้เลยนะคับว่าใส่ tag อะไรพวกนี้ไปยังไงมั่ง
Confirm ว่า Line กระตุกถ้าไม่เปิด GPU ครับ ใช้ ICS แต่บน Jelly Bean ลื่นเลย
line นี่นักพัฒนาเค้าไม่รู้ตัวเลยเหรอ ว่าแอพครับกระตุกมาก -*-
+1 ให้บทความนี้คับ
ถ้าคุณไม่ใช่ Dev ก็ไม่ควรเข้าไปยุ่งกับ Developer option อยู่แล้ว
แต่เด๋ว Android 4.2 ก็จะซ่อนมานไปและ
ไม่ได้เปิดเหมือนกัน ^__^
ปล.ไลน์ผมไม่กระตุกนะ ram 1 gb
ใช่ๆ ถ้าไม่เปิด Line กระตุกชัดเจนเลยอ่ะ
ใช้ one x ใครเป็นบ้าง
เปิดตลอดเหมือนกัน
Line เหรอเลิกใช้ไปแล้วรู้สึกว่ามันมีปํญหากับเอส2ผมมาก
ว่าแล้วทามมัย RAM วิ่งเยอะจัง ไปติ๊กไวเมื่อ อาทิตย์ก่อน ขอบคุณสำหรับบทความ ….+1 ครับ
ว่าแล้วทามมัย RAM วิ่งเยอะจัง ไปติ๊กไวเมื่อ อาทิตย์ก่อน ขอบคุณสำหรับบทความ ….+1 ครับ
หลักๆ ที่ผมเห็นเลยคือ twicca มันลื่นชึ้นเห็นๆเลย และมันก็ไม่มีปัญหาในการใช้งานด้วย
เพราะงั้นยืนยันเปิดใช้งานต่อไป
แต่คำอธิบายเขียนว่า เร่งประสิทธิภาพของ 2D ซะงั้น น่าจะเขียนบอกด้วยนะว่า ถ้าใช้แล้วจะเกิดผลข้างเคียงไรบ้าง – -"
ไม่่เคยเปิดเลยครับ เพราะรู้สึกว่ามันเป็น option ของ dev เลยไม่อยากยุ่งกลัวเครื่องเอ๋อ
ผมหาข้อมูลนี้มานานมาก ขอบคุณที่สรุปมาให้อ่านได้ง่ายๆครับ ใช้ One X ถ้าไม่เปิดนี่ Line กระตุกหนักเลยครับ ตอนนี้เลยเปิดตลอดเลย
Note 2 เปิดตลอดนะครับ มันทำให้รู้สึกดีในหลายๆแอพอ่ะครับ 🙂
GPU มันประมวลผล parallel เร็วแต่ถ้าเขียนมาไม่ได้เป็นแบบ parallel ก็เท่านั้น สู้ cpu ที่ core ใหญ่กว่าไม่ได้
LINE ram 2 GB ก็เป็นครับ เป็นกันหมดแล้ว กว่าจะแก้บัคสักพักก็เป็นอีก (ส่วนอื่น)
แล้วพัฒนาช้าด้วย ถ้าเทียบกับขนาด บริษัท (ผมวัดจากรายได้นะ)
แล้วเจ้า disable hardware overlay ล่ะครับ เอาไว้ทำอะไร ท่านใดทราบบ้างค้าบ
แล้วเจ้า disable hardware overlay ล่ะครับ เอาไว้ทำอะไร ท่านใดทราบบ้างค้าบ
ผมวาเปิดแล้วมันกินแบตอ่ะ
เล่น need for speed most wanted เห็นผลนะครับ ผมใข้ xperia s
ตอนไม่เปิดมันจะหน่วงๆบางจังหวะ แต่ถ้าเปิดมันลื่นตลอดเกมเลยครับ(แต่รุ้สึกเครื่องก็ร้อนขึ้น)
เล่น need for speed most wanted เห็นผลนะครับ ผมใข้ xperia s
ตอนไม่เปิดมันจะหน่วงๆบางจังหวะ แต่ถ้าเปิดมันลื่นตลอดเกมเลยครับ(แต่รุ้สึกเครื่องก็ร้อนขึ้น)
ขอบคุณมากครับ เป็นความรู้ที่ผมอยากรู้มานานมาก ทีนี้จะลองเปิดๆ ปิดๆ แล้วสังเกตุดูบ้าง
เท่าที่ลองมา ถ้าเป็น Android รุ่นต่ำกว่า 4.0.4 นี่ เปิด Force GPU rendering ช่วยให้ใช้งานได้ลื่นขึ้นนะครับ แต่ใน JB นี่ช้าลงเห็นๆ
ส่วน Developer options นี่ ถ้าเป็น Power User ยังไงก็ต้องเข้าเมนูนี้ครับ เช่น
– เปิดใช้งาน ADB
– ปรับลด Window animation และ Transition animation เครื่องไม่ค่อยแรงนี่ช่วยได้เยอะ
– เปิดฟีเจอร์ Stay awake ไม่ต้องปิดหน้าจอเวลาเสียบชาร์จแบต
– ฯลฯ
ไม่ใช่ว่าจำกัดเฉพาะ Developer แน่นอนครับ
ใช้ ics ก่อนหน้านี้เปิดตลอด
พอลองปิด แล้วเครื่องเอ๋อ กระตุก ค้างบ่อย โดยเฉพาะเวลาเล่น chrome เห็นผลชัดเจนมาก
ตอนนี้ เลยเลือกเปิดดีกว่า ลื่นกว่าเยอะเลยครับ ^^
ความรู้สึก(คิดไปเอง)ผมว่ามันเหมือน Overclock GPU หรือเปล่า เปิดแล้วลื่น แต่ร้อนและซดแบตเพิ่มอีีกเยอะ