ในอดีตนั้น เราไม่เคยเห็นการวัดค่า Benchmark บนสมาร์ทโฟนมาก่อน จนกระทั่งเราเห็น Qualcomm ออก Snapdragon รุ่นเเรกออกมา (Qaulcomm MSM8250) โดยเครื่องเเรกที่ใช้คือ Nexus One ต่อจากนั้นมาก็เป็น HTC Desire ทำให้เราเห็น Neocore (จริงๆ ก็ของ Qualcomm เองนี่เเหละ) เเละ Quadrant Standard ออกมา เเละสองโปรเเกรมนี้ก็มักจะเป็นมาตรฐานในการวัดประสิทธิภาพการใช้งานของสมาร์ทโฟน Android ที่อยู่ในตลาดขณะนี้
สาเหตุหลักๆ ก็ไม่มีอะไรมากมาย เป็นเรื่องธรรมดาว่าในปัจจุบันโทรศัพท์นั้น ไม่ได้เป็นเเค่โทรศัพท์อีกต่อไป เราใช้มันทำกิจกรรมต่างๆ มากมาย ไม่ว่าจะเป็นด้านความบันเทิง บันทึกข้อมูลส่วนตัว เล่นเกมส์ ซึงกิจกรรมเหล่านี้ โดยเฉพาะการเล่นเกมส์ เป็นการใช้พลังในการประมวลผลในสมาร์ทโฟนมาก จนกระทั่งทำให้หลายๆ คนที่ซื้อสมาร์ทโฟนไปเป็นหมื่นในอดีต เพื่อหวังว่ามันจะทำได้ทุกอย่าง บางครั้งก็ทำได้บ้างไม่ได้บ้างก็มี ความซับซ้อนในการใช้งานต่างๆ ที่มีมากขึ้นตามฟีเจอร์ จนเราปฏิเสธไม่ได้ว่า มันเป็นคอมพิวเตอร์ขนาดย่อมๆ เครื่องนึง ถึงเเม้ตอนนี้จะยังสู้คอมพิวเตอร์โน้ตบุคหรือพีซีไม่ได้ เเต่ในเเง่ของการทำหน้าที่ง่ายๆ อย่างเช่น เช็ค status บนเฟซบุค อ่านอีเมล์ ใช้งานอินเตอร์เน็ตเเบบเล็กน้อย รวมไปถึงการเเชต สมาร์ทโฟนทำได้คล่องตัวกว่าโน้ตบุคหรือพีซีมาก
ด้วยสาเหตุนั้ โดยเฉพาะการเล่นเกมส์ ทำให้มีหลายคนเริ่มนำการ Benchmark มาใช้วัดประสิทธิภาพบนสมาร์ทโฟน เเต่ก็เป็นข้อถกเถียงกันว่า ค่าคะเเนนที่ได้กับการใช้งานจริงนั้น ไม่ค่อยตรงกัน ในฐานะผมเองก็เคยคลุกคลีกับวงการฮาร์ดเเวร์ PC มาเล็กน้อย ก็เข้าใจถึงข้อดีเเละข้อเสียในการ Benchmark ดี วันนี้จึงอยากมาเล่าให้ผู้อ่านหลายๆ คนเข้าใจเกี่ยวกับการ Benchmark ให้มากขึ้นครับ
Benchmark คืออะไร เเล้วทำไมถึงต้อง Benchmark?
การ Benchmark นั้นเป็นการวัดประสิทธิภาพของฮาร์ดเเวร์เเละซอฟเเวร์ไปด้วยกัน ว่าการเปลี่ยนเเปลงของปัจจัยหนึ่งนั้น ทำให้ผลลัพธ์ออกมาได้ดีขึ้นกว่าเดิมหรือไม่ โดยหลักๆ เเล้วเราจะใช้ในเชิงการเปรียบเทียบ ระหว่างรุ่น เช่น รุ่น A ที่เป็นรุ่นเก่า กับรุ่น B ที่ออกมาใหม่นั้น ประสิทธิภาพต่างกันมากน้อยเเค่ไหน? ทำให้เราตัดสินใจได้ว่า การอัพเกรดไปยังรุ่น B นั้นสมเหตุผลหรือไม่ ถ้าค่า Benchmark นั้นมีเเค่เพียงรุ่นเดียว จะไม่มีประโยชน์ใดๆ เลยเพราะมันมีเพียงเเค่รุ่นเดียว ดังนั้นมันจึงเป็นของที่ดีที่สุดไปโดยปริยายโดยไม่ต้องเปรียบเทียบ
โดยสรุปเเล้ว การ Benchmark เป็นเพียงเเค่อีกวิธีหนึ่งเท่านั้น (another approach) ในการวัดความเร็ว สาเหตุหลักๆ คือการตัดสินจากความรู้สึกว่าเร็วหรือช้านั้น เเตกต่างกันไปเเต่ความรู้สึกเเต่ละคน ถ้าในเชิงการทดลองเเล้ว การวัดจากความรู้สึกเป็นการเก็บข้อมูลเเบบอัตวิสัย (subjective) ซึ่งอาจจะมีอคติจากผู้ให้ข้อมูลได้ ส่วนการวัดจาก Benchmark ก็เป็นเเบบวัตถุวิสัย (objective) ที่ดูจากหลักฐานที่เราสามารถวัดได้เป็นตัวเลขเท่านั้น เพื่อลดอคติในการให้ข้อมูลของเราเองว่าเราเอียงไปทางรุ่นนี้โดยใช้อารมณ์มากเกินไปหรือไม่ในเเง่ของความเร็ว
หลักฐานที่เข้าใจยาก
สิ่งหนึ่งที่ทำให้การ Benchmark ดูไม่สมเหตุผลคือ การไม่เข้าใจข้อมูลที่กราฟเเสดงออกมา ซึ่งในเเง่จุดบอดขอการ Benchmark บนสมาร์ทโฟนขอยกตัวอย่างที่มีปัญหาดังนี้ครับ
ผลการทดสอบจาก anandtech
ถ้าดูผลเทส จะดูไม่สมเหตุผล ตรงที่ว่า
- ทำไม iPhone 3GS ได้คะเเนนมากกว่า iPhone 4
- ทำไม LG Optimus One ได้คะเเนนมากกว่า Google Nexus One
- ทำไม Motorola Atrix ได้คะเเนนน้อยกว่า LG Optimus 2X ทั้งๆ ที่ใช้ Tegra 2 เหมือนกัน
จากตารางนี้ ซอฟเเวร์ที่ใช้ Benchmark คือ GLBenchmark ซึ่งใช้ OpenGL ES ในการเรนเดอร์ภาพสามมิติ ไม่ว่าจะเป็น Android หรือ iOS ต่างก็ใช้ OpenGL ES ด้วยกันทั้งนั้น จึงทำให้สามารถนำ iPhone หรือ iPad นำมาเปรียบเทียบด้วยได้ เกมส์ของค่าย Gameloft ก็ใช้ OpenGL ในการเรนเดอร์ด้วยเช่นเดียวกัน เเต่โดยธรรมชาติของโปรเเกรม Benchmark เเล้วมักจะกินทรัพยาการมากกว่าการใช้งานจริงๆ คะเเนนที่เราเห็นจึงอยู่เพียงการอ้างอิงเท่านั้น ว่าตัวประมวลผลใดมีประสิทธิภาพในการเรนเดอร์ภาพสามมิติมากกว่ากัน
การเรนเดอร์ภาพสามมิตินั้น ยิ่งจอที่มีความละเอียดสูง จะทำให้การประมวลผลทำออกมาได้ช้ามากขึ้น ตัวอย่างเช่นจอของ LG Optimus One มีความละเอียดจอ 480 x 320 พิกเซล ในขณะที่ Nexus One มีความละเอียดหน้าจอ 800 x 480 เมื่อ Nexus One มีความะเอียดหน้าจอมากกว่า ทำให้ Nexus One ต้องประมวลผลเยอะกว่า ด้วยเหตุนี้จึงทำให้ Nexus One ทำคะเเนนได้น้อย
ในกรณีของ LG Optimus 2X กับ Motorola Atrix (800 x 480 กับ 960 x 540) เเละ iPhone 3GS กับ iPhone 4 (480 x 320 กับ 960 x 540) ก็เช่นเดียวกัน Motorola Atrix เเละ iPhone 4 มีคะเเนนน้อยกว่าเพราะมีความละเอียดหน้าจอมากกว่าตัวที่เปรียบเทียบ เราจึงไม่สามารถเทียบกันได้ตรงๆ โดยประสิทธิภาพเกี่ยวกับการเเสดงผลสามมิติจะมีผลมากกับเกมส์เเละเอฟเฟคลูกเล่นต่างๆ ของหน้าจอ เช่นเอฟเฟคซูมเข้าซูมออกของ Launcher หรือการอนิเมชั่นต่างๆ ใน Android ครับ
การเปรียบเทียบในกราฟนี้ ไม่ได้บอกว่า Optimus One เร็วกว่า Nexus One ในภาพรวม (เพราะต้องมีเรื่องของรอมเข้ามาเกี่ยว จะพูดถึงในตอนหลัง) เเค่บอกว่าการประมวลผลกราฟฟิคของ Optimus One เร็วกว่า Nexus One เท่านั้น ถ้าเราเล่นเกมส์เดียวกันบนทั้งสองเครื่อง สามารถการันตีได้ว่าเฟรมเรทที่ได้จะพอๆ กันเพราะต่างกันเเค่ 2 เฟรมเท่านั้น ไม่มีนัยยะสำคัญอะไรมากนัก เเต่ก็ต้องยอมรับว่าหน้าจอที่เล็ก ไม่เหมาะสมกับการเล่นเกมส์เท่าไร ดีไม่ดีจะไม่สามารถเล่นเกมที่ความละเอียดสูงๆ ได้อีกต่างหาก คะเเนนตรงนี้จึงเหมือนคะเเนนดิบเท่านั้นครับ คะเเนน Benchmark ผมว่าจะจำเป็นสำหรับเครื่อง Hi end มากกว่าเครื่องระดับล่าง ที่มีความละเอียดหน้าจอต่ำ ยังไงๆ ผลเทสมันก็ออกมาดี เเต่ไม่สะท้อนการใช้งานจริงมากนัก ต่างกับเครื่องที่หน้าจอความละเอียดสูง จะซัพพอร์ทกับเกมมากกว่า เพราะเกมส่วนใหญ่เขียนมากับหน้าจอความละเอียดสูงครับ
สรุปเเล้ว ถึงเเม้ว่าตัวประมวลผลจะใช้ตัวเดียวกัน อย่างเช่น โทรศัพท์สองตัวใช้ Tegra 2 เหมือนกัน เเต่ถ้าความละเอียดหน้าจอตัวไหนสูงกว่า จะทำให้การเเสดงผลช้ากว่า อย่าง Motorola Atrix มีความละเอียดจอ 960 x 540 ในขณะที่ LG Optimus 2X มีความละเอียด 800 x 480 ดังนั้นถ้าเล่นเกมส์นั้น LG จะลื่นกว่า Motorola ครับ เเต่ในความเป็นจริงเเล้วเราอาจจะมองด้วยตาเปล่าไม่เห็นก็ได้ถ้าเกมนั้นไม่ได้ใช้การเเสดงผลสามมิติมากนัก อาการกระตุกจะมีให้เห็นต่อเมื่อตัวประมวลผลทำงานจนสุดความสามารถของมันเเล้ว เเละในอนาคตเกมส์จะใช้ทรัพยากรมากกว่าในปัจจุบันเเน่นอน ขึ้นอยู่กับว่าช้าหรือเร็วเท่านั้น
ซอฟเเวร์ก็เป็นสิ่งจำเป็น
อย่างไรก็ตาม ซอฟเเวร์เองก็มีผลต่อประสิทธิภาพเช่นกัน เพราะในโลกเเห่งความเป็นจริง iPhone 4 นั้นเราสามารถเรียกได้ว่ามันเล่นเกมส์ได้ลื่นมาก ตรงนี้เราไม่สามารถเปรียบเทียบกับ Android ได้โดยตรงครับ เพราะ iOS เเละ Android เเอพนั้นเขียนต่างกัน iOS นั้นมีฮาร์ดเเวร์ที่ใช้เรนเดอร์ภาพสามมิติมีเพียงเเค่ PowerVR เท่านั้น ซึ่งใช้กับ iPhone หรือ iPad ทุกรุ่น ทำให้คนเขียนซอฟเเวร์ดึงประสิทธิภาพออกมาได้ง่าย เพราะศึกษาการเขียนเเอพให้กับ PowerVR เพียงตัวเดียวเท่านั้น ในขณะที่ Android เราจะเจอทั้ง Adreno(Qualcomm), PowerVR, Tegra 2 (NVIDIA) เเละตอนนี้มี Mali 400 (ARM) ของ Samsung Galaxy S II เพิ่มเข้ามาอีก ซึ่งความหลากหลายของฮาร์ดเเวร์นี้ทำให้คนเขียนเเอพ Android ต้องปวดเศียรเวียนเกล้ามากในการเขียนเเอพให้สนับสนุนกับฮาร์ดเเวร์จำนวนมาก ทำให้ประสิทธิภาพนั้นสู้กับของ iOS ไม่ได้ครับ iOS เป็นตัวอย่างที่ดีถึงความสามารถของซอฟเเวร์ที่สูง โดยไม่จำเป็นต้องพึ่งฮาร์ดเเวร์ที่มีประสิทธิภาพมากเเบบ Android ครับ ความเเตกต่างของฮาร์ดเเวร์ที่มีมากนั้นทำให้การ Benchmark มีประโยชน์ตรงที่ว่า เราจะรู้ว่าตัวไหนเร็วกว่าตัวไหนได้อย่างชัดเจนจากคะเเนนประมวลผลทางด้านกราฟฟิคครับ
ถ้าโลกของ iOS นั้น ความรู้ด้านฮาร์ดเเวร์ไม่มีความจำเป็น เพราะเครื่องนั้นจะออกมาจาก Apple เท่านั้น ซึ่งเครื่องมีก็จำนวนน้อยรุ่น เรียกว่ามีเงินพอก็ถอยออกมาได้เเล้ว นี่ถือเป็นข้อดีของระบบปิดอย่าง Apple ครับ ถ้ามีเงินพอก็เรียกว่าจบในตัวเลย ไม่จำเป็นต้องศึกษาเรื่องต่างๆ ให้มากความ
ในขณะเดียวกัน Android นั้นเป็นระบบเปิด นั้นหมายความว่า ทุกๆ เจ้า สามารถเข้ามาพัฒนาตัว Android ได้ ผลลัพธ์ของมันนั้นเหมือนดาบสองคม ในเเง่ที่ดีของมัน คือทำให้คนทุกระดับสามารถเข้าถึงสมาร์ทโฟนได้ ด้วยราคาที่มีตั้งเเต่หลักพันถึงหลักหมื่น มีให้เลือกตามงบประมาณเเละความชอบ เเต่ข้อเสียของมันก็คือ ในเมื่อมีผู้ผลิตหลายราย เเละไม่มีมาตรฐานเรื่องการกำหนดสเปคของฮาร์ดเเวร์เหมือนกับ Windows Phone 7 หรือ iOS ทำให้เราเห็นว่ามี Android หลายเครื่องที่มีประสิทธิภาพค่อนข้างน่าผิดหวังในการใช้งาน ซึ่งถือเป็นเรื่องธรรมชาติของระบบเปิดในเเนวคิด Survival of the Fittest เเต่มันไม่ดีกับภาพลักษณ์ของ Android ที่ดูว่าเป็นระบบที่เป็นรอง iOS ในเรื่องของประสบการณ์ใช้งาน
ด้วยเหตุนี้ ตัวอัพเดทไม่ว่าจะเป็น Android หรือ iOS ก็จะมีการปรับปรุงด้านประสิทธิภาพใหม่ๆ มาด้วย ตัวอย่างที่เห็นชัดที่สุดคือจาก Android 2.2 ที่มักจะได้คะเเนน Quadrant มากกว่าตัว Android 2.1 เสมอ เพราะฟีเจอร์ JIT (Just in Time) ที่ทำให้การประมวลผลเป็นไปเเบบตามเวลาจริง ซึ่ง 2.1 นั้นจะต้องมีการรวบรวมข้อมูลจำนวนหนึ่งก่อนถึงจะประมวลผลทีหนึ่ง ทำให้คะเเนนจาก Quadrant เราจะไม่เห็นว่ามันสะท้อนกับโลกความเป็นจริงมากนัก อย่าง HTC Desire S ที่ค่า Quadrant ได้เพียงพันนิดๆ เเต่ Incredible S ได้ถึง 1,500 กว่าๆ เเต่การใช้งานจริง ก็ไม่ได้เเตกต่างกันชัดเจนอย่างคะเเนนที่ต่างกันเกือบ 50%
ประสิทธิภาพนั้นสำคัญ?
โดยปกติเเล้ว การเลือกซื้อโดยคำนึงถึงประสิทธิภาพ จะอยู่ในกลุ่มของพวก geek (คนเขียนก็เป็น ฮา) ประสิทธิภาพนั้นสำคัญต่อประสบการใช้งานมาก ไม่ยิ่งหย่อนไปกว่าซอฟเเวร์หรือรอมที่อยู่บนสมาร์ทโฟน ที่สำคัญคือใน Android นั้นเราไม่สามารถเปลี่ยนฮาร์ดเเวร์ได้นอกจากซื้อเครื่องใหม่ เเต่เราสามารถเปลี่ยนรอมได้ใหม่ โดยไม่ต้องเสียค่าใช้จ่ายเพิ่ม ซึ่งนักพัฒนารอมก็มักจะเพิ่มประสิทธิภาพของรอมเข้าไปให้ใช้งานได้เร็วขึ้นบ้าง เเต่คงไม่ถึงขั้นเร็วกว่าเดิมอย่างเปลี่ยนเครื่องใหม่ ในกรณีที่ดีที่สุดก็น่าจะเร็วกว่าเดิมได้ประมาณ 20% ครับ เป็นการยืดระยะในการใช้งานออกไปได้บ้างก่อนอัพเกรดเครื่องใหม่
ปัญหาอีกอย่างนั้นคือ ผู้ซื้อ Android หลายๆ คนมักจะรู้สึกไม่ดีว่า Android ที่ตนเลือกซื้อมาไม่สามารถอัพเดทเป็นรุ่นใหม่ได้ (ส่วนใหญ่มักจะเจอกับรุ่นล่างๆ) ปัญหาเรื่องนี้จะเเก้ได้ส่วนหนึ่งถ้าเราเลือกซื้อโดยใช้ประสิทธิภาพเป็นตัวตัดสิน ยกตัวอย่างเช่น HTC Desire หรือ Nexus One ที่เป็นสมาร์ทโฟนมาตั้งเเต่ปีที่เเล้ว เเต่ก็ยังได้รับ Android 2.3 ในปีนี้ ในขณะที่ตัวรุ่นอื่นๆ ไม่ได้รับ สิ่งหนึ่งที่ควรรู้ไว้คือ ตัวอัพเดท Android ใหม่ๆ นั้นจะใช้ใช้ประสิทธิภาพของฮาร์ดเเวร์มากขึ้น ทำให้ตัวสมาร์ทโฟน Android ที่มีประสิทธิภาพสูงมักจะได้รับตัวอัพเดทใหม่ๆ มากกว่ารุ่นเก่า
อีกอย่าง ต้นทุนด้านฮาร์ดเเวร์ เราไม่สามารถเปลี่ยนได้เมื่อซื้อมาเเล้ว เเต่สำหรับ Android เราสามารถเปลี่ยนเเปลงในซอฟเเวร์ได้ถ้าเราศึกษา เเละให้เวลามันอย่างเพียงพอ เช่นการรูทเเละลงรอมเอง อาจจะดูลำบากไปบ้างในตอนต้น เเต่ถ้าพ้นระยะนั้นมาได้เเล้ว รับรองว่าเวลาที่ลงทุนไปนั้นจะคุ้มค่าเเน่นอน เเต่ถ้าเป็นคนที่เปลี่ยนโทรศัพท์บ่อยอยู่เเล้ว การเลือกซื้อโดยใช้ประสิทธิภาพเป็นเกณฑ์อาจจะไม่จำเป็นครับ เพราะเเต่ละรุ่นส่วนใหญ่จะมีเวลาซัพพอร์ทในรุ่นนั้นประมาณ 1 ปีโดยเฉลี่ย (อันนี้ขึ้นอยู่กับนโยบายของเเบรนด์ บางเจ้าก็ออกตัวอัพเดทช้ามาก อย่าง Motorola)
จิ๊กซอชิ้นเล็กๆ ในภาพใหญ่
สุดท้ายเเล้ว เราเองไม่ได้ใช้ข้อมูลเเค่ในเเง่ประสิทธิภาพในการเลือกซื้ออย่างเดียว เพราะปัจจัยในการเลือกซื้อของเเต่ละคนนั้นเเตกต่างกัน บางคนต้องการสมาร์ทโฟนที่ใช้งานไปได้นานๆ ก็ควรจะเลือกซื้อโดยใช้ในเรื่องประสิทธิภาพเป็นหลัก ดังนั้นการ Benchmark นั้นเป็นเพียงเเค่จิ๊กซอว์ชิ้นเล็กๆ ชิ้นหนึ่งในการเลือกซื้อเท่านั้น บางคนอยากจะได้วัสดุดีๆ ถือเเล้วรู้สึกเเสดงถึงสถานะทางสังคมของตนได้ หรือสมาร์ทโฟนที่กล้องชัดๆ ซึ่งปัจจัยเหล่านี้เราไม่สามารถวัดเป็นค่าคะเเนนออกมาได้ เเละสุดท้ายเเล้วก็ต้องใช้ ?ความรู้สึก? ในการตัดสิน
สรุปเเล้ว Benchmark นั้นเหมาะสำหรับคนที่ชอบคิด วิเคราะห์ข้อมูลมากกว่า ว่าการเปลี่ยนไปเป็นรุ่นนั้นดีจริง คุ้มค่าพอที่จะเสียเงินหรือไม่ในเเง่ของประสิทธิภาพ? เเต่สำหรับคนที่เงินถุงเงินถัง เปลี่ยนมือถือได้เเบบเดือนเว้นเดือน ก็อาจจะเอาเวลาไปทำงานหาเงินได้เยอะเเยะกว่ามาใช้เวลาเลือกซื้อรุ่นคุ้มค่าคุ้มราคา ซึ่งเเต่ละคนก็มีสไตล์การเลือกซื้อที่ไม่เหมือนกัน ในฐานะที่เป็นคนที่ให้ช้อมูลในการเลือกซื้อได้ ก็อยากให้ผู้อ่านได้รับข้อมูล เพื่อตัดสินใจให้เลือกของได้เหมาะสมกับตัวเองครับ