ทดสอบ Win86emu: เมื่อ Windows RT พร้อมรันโปรแกรม Windows x86

by hisoft
11 May 2013 - 19:03

หลังจากที่ไมโครซอฟท์เปิดตัว Windows RT ก็มีเสียงวิจารณ์ออกมาในหลาย ๆ ด้าน โดยเฉพาะความแตกต่างที่ทำให้รันได้เฉพาะแอปแบบเมโทรเท่านั้น

ปัญหาไม่ได้อยู่ที่มันถูกจัดอยู่ในประเภทแท็บเล็ต แต่อยู่ตรงที่หน้าตามันเหมือนกับ Windows 8 อย่างกับแกะ จนการใช้งานชวนให้อยากเรียกโปรแกรมที่คุ้นเคยขึ้นมาใช้มากกว่าเวลาใช้แท็บเล็ตอื่น ๆ

ก่อนหน้านี้ Windows RT ถูกแกะให้ติดตั้งโปรแกรมเดสก์ท็อปได้อิสระแล้ว แต่ด้วยความแตกต่างของสถาปัตยกรรม ทำให้มีโปรแกรมเพียงหยิบมือที่สามารถทำงานได้ นอกเหนือจากนั้นต้องไปดำเนินการพอร์ตโปรแกรมมาคอมไพล์กันใหม่ ซึ่งทีมพอร์ตเองก็ได้ดำเนินการกับโปรแกรมโอเพ่นซอร์สที่ใช้การมากไปพอสมควร เห็นได้จากรายชื่อโปรแกรมที่พอร์ตให้ Windows RT

แต่ด้วยโครงการ Win86emu บน XDA Developers ทำให้สถานการณ์เปลี่ยนไปอีกครั้ง ด้วยการทำเครื่องมือที่ยอมให้ผู้ใช้รัน x86 Windows application หรือโปรแกรมปกติสำหรับคอมพิวเตอร์ทั่วไปบน Windows RT ได้โดยไม่ต้องดำเนินการใด ๆ กับตัวโปรแกรมเลย โปรแกรมที่ได้รับอานิสงส์โดยตรงก็คงเป็นโปรแกรมปิดซอร์สทั้งหลายที่ไม่สามารถนำมาพอร์ตกันเองได้

mamaich ผู้พัฒนาโครงการนี้ได้แจ้งไว้ชัดเจนว่าโครงการนี้ยังอยู่ในขั้นเบต้าเท่านั้น อย่าคาดหวังมากนัก มันยังห่างไกลจากความสำเร็จ แต่อย่างน้อยตอนนี้มันก็ทำงานได้บ้าง

ภาพตัวอย่างการทดสอบความเร็ว SSD ของ Surface RT ด้วยโปรแกรม ATTO

รายชื่อโปรแกรมที่สามารถใช้งานได้แน่นอนที่เด่น ๆ ตอนนี้ได้แก่ WinAmp, WinRAR, 7-Zip, Heroes of Might and Magic III, Age of Empires 1, Might and Magic VI และ Fallout 2 ส่วนโปรแกรมนอกเหนือจากรายการนี้ต้องไปเสี่ยงโชคกันเอง

เห็นรายชื่อเกมแล้วอย่าเพิ่งมีความหวังกับเกมอายุสิบกว่าปีอย่าง Warcraft III นะ ผมหวังแล้วผิดหวังแล้วกับคำเตือน "Microsoft Visual C++ Runtime Error!"

ขั้นตอนการใช้งานถือได้ว่าไม่ยุ่งยาก ผมขอเรียบเรียงไว้ให้เห็นภาพเพราะคาดว่าคงมีคนใช้ Windows RT อยู่ไม่มาก

  • ดาวน์โหลด Win86emu
  • Jailbreak Windows RT เพื่อติดตั้ง Win86emu (Windows RT ต้อง jailbreak ใหม่ทุกครั้งที่รีสตาร์ทเครื่องขึ้นมาใหม่ ใช้เวลาราวสิบวินาที)
  • ติดตั้ง Win86emu โดยการเปิดไฟล์ .msi ที่ดาวน์โหลดมา ขั้นตอนนี้หากเราไม่ได้ jailbreak เครื่องก่อนระบบจะแจ้งเตือนว่าไฟล์ไม่ถูกเซ็นด้วยใบรับรองที่ถูกต้อง
  • รีสตาร์ทเครื่อง
  • Jailbreak เครื่องอีกครั้งหนึ่ง ทดลองเปิดโปรแกรม (แนะนำโปรแกรมที่อยู่ในรายชื่อ เพื่อความมั่นใจว่ามันจะต้องเปิดได้) ถ้าระบบแจ้งเตือนว่าโปรแกรมไม่สามารถทำงานได้ ให้เข้าไปรันไฟล์ "C:\x86node\Windows\Autostart_x86.cmd" เพื่อเปิดการทำงานของ auto hook จากนั้นลองเปิดโปรแกรมใหม่อีกครั้ง โปรแกรมควรจะรันขึ้นมาเป็นปกติ (ของผมเจอกรณีนี้)
  • หากยังไม่ได้ ให้เรียกใช้ผ่าน Run x86 Program ซึ่งเป็น manual launcher ที่ Start Screen แทน

มีข้อดีใช่ว่าจะไม่มีข้อเสีย ทางนักพัฒนาได้แจ้งไว้ว่าโปรแกรมที่เข้าข่ายเงื่อนไขต่อไปนี้จะไม่สามารถทำงานได้

  • ใช้พลัง CPU มาก
  • ใช้ฟีเจอร์ซับซ้อนที่ถูกตัดออกไปใน Windows RT เช่น D3D9 หรือ OpenGL
  • ต้องการไดรเวอร์หรืออุปกรณ์เฉพาะ
  • ใช้ COM interfaces อย่างหนักหน่วง
  • ใช้ undocumented windows internals
  • โปรแกรมที่พัฒนาด้วย .NET framework
  • x86 Metro apps
  • โปรแกรมที่เป็น ๑๖ และ ๖๔ บิต (คือได้เฉพาะโปรแกรม ๓๒ บิตเท่านั้น)

จากการทดสอบ สามารถเปิดใช้โปรแกรม MangaMeeyaCE ได้ เปิดไฟล์และปรับภาพค่อนข้างนาน แต่เมื่อแคชไฟล์แล้วการเปลี่ยนหน้าราบรื่นเทียบเท่าเปิดบนเครื่อง Windows 8 การพลิกหน้าไม่มีอาการสะดุดหรือกระตุก เท่าที่พบปัญหาคือจะแครชเมื่อใช้ open folder (Ctrl+D) เท่านั้น

อีกโปรแกรมที่เลือกมาทดสอบคือ Poweroff 3.0.1.3 ที่ผมเลือกตัวนี้เพราะมีการยุ่งกับอุปกรณ์ระบบบ้าง นั่นคือสั่งปิดจอ ผลคือทำงานได้ปกติ สามารถสั่งปิดจอได้ อาจจะเหมาะกับคนที่ไม่อยากใช้ปุ่มฮาร์ดแวร์หรือปุ่มมีปัญหา (Windows RT สามารถเปิดจอด้วยการแตะปุ่มวินโดว์แบบสัมผัสได้ โดยถ้าเป็น Microsoft Surface เมื่อสัมผัสปุ่มนี้และเครื่องจะสั่น ซึ่งผมยังไม่สามารถหาการทำงานอื่นใดมาทำให้เครื่องสั่นได้อีกเลย เป็นการใส่ความสามารถในการสั่นเครื่องเพื่อปุ่มสัมผัสนี้เพียงอย่างเดียว ด้วยสถานการณ์ปัจจุบันที่ทุกเจ้าพยายามลดต้นทุนการเต็มที่ นี่เป็นการเลือกใส่อุปกรณ์และใช้งานได้คุ้มมาก)

เราสามารถติดตั้งโปรแกรมที่ต้องใช้การติดตั้งได้ แต่จะไม่มีรายชื่อโปรแกรมขึ้น ถ้าต้องการถอนโปรแกรม ต้องเข้าไปเรียกตัวถอนการติดตั้งเองจากโฟลเดอร์ที่ติดตั้งลงไป

ตัวโฟลเดอร์ที่ใช้เก็บโปรแกรมที่ติดตั้งและไฟล์ระบบต่าง ๆ ถูกแยกไว้ในโฟลเดอร์ที่ติดตั้งโปรแกรม Win86emu รวมถึง registry ทั้งหมดของโปรแกรมที่รันผ่านตัว Win86emu จะถูกแยกไปเก็บไว้ต่างหาก จึงค่อนข้างแน่ใจได้ว่าเราจะจัดการกับไฟล์หรือ registry ที่ตกค้างอยู่ได้โดยสะดวกและไม่มีผลกับตัวระบบ Windows RT

อีกการทดสอบหนึ่งที่ผมทำเพื่อให้เห็นถึงประสิทธิภาพของตัว Win86emu คือจับเวลาการบีบอัดไฟล์ win86emu 0.04 beta.msi ขนาด 15.6 MB (รุ่น 0.05 ออกก่อนผมเขียนบทความนี้ไม่กี่ชั่วโมง ผมเองก็ยังไม่ได้อัพเดต) เปรียบเทียบกันระหว่าง 7-Zip 9.22 รุ่นปกติ (รุ่น ๓๒ บิตสำหรับคอมพิวเตอร์ทั่วไป) ที่รันผ่าน Win86emu กับ 7-Zip 9.22 รุ่นที่คอมไพล์สำหรับ ARM โดยเฉพาะที่รันแบบเนทีฟ ด้วยการตั้งค่าการบีบอัดแบบ Ultra, LZMA2 และใช้งานทั้ง 4 คอร์ของ NVIDIA Tegra3 บน Microsoft Surface RT ได้ผลดังนี้

  • ขนาดไฟล์ผลลัพธ์ เท่ากันที่ 13.5 MB
  • รุ่นปกติ ใช้เวลาบีบอัดไฟล์ทั้งสิ้น ๓ นาที ๐ วินาที
  • รุ่น ARM ใช้เวลาบีบอัดไฟล์ทั้งสิ้น ๑๖ วินาที

แม้ประสิทธิภาพจะต่างกันมากเกือบ ๑๒ เท่า แต่เมื่อคิดถึงข้อดีที่ว่า "มัน รัน ได้" ทำให้ผลลัพธ์อยู่ในระดับยอมรับได้ทันที

ที่มา: XDA Developers

Blognone Jobs Premium