ฉันเห็นปัญหาการรายงานหน่วยความจำแบบเดียวกัน ด้วยการจัดสรร 256MB ทั้ง Windows 8.1 และ Windows 7 รายงาน ~ 255MB สำหรับฉัน แปลกเมื่อตั้งค่าเป็น 128MB ทั้งรายงาน ~ 191MB ดูเหมือนว่าอาจมีปัญหากับโปรแกรมควบคุมวิดีโอ 3 มิติของ VirtualBox หรือนับหน่วยความจำเร่ง 3D บางส่วนไม่ถูกต้อง (เพิ่มเติมในภายหลัง) Windows XP Professional ซึ่งใช้ไดรเวอร์ 3 มิติที่แตกต่างกันรายงาน 128.0MB ที่ 128MB ที่จัดสรร การใช้VBoxManageเพื่อตั้งค่าหน่วยความจำเป็น 256MB ใน XP ช่วยให้สามารถทำลายอุปสรรคการตั้งค่า GUI 128MB และรายงาน 256.0MB ใน dxdiag
ได้รับอาจมีความไร้ประสิทธิภาพโดยธรรมชาติใน Windows 7 และ 8.1 เนื่องจากฉันพบแล็ปท็อป Dell Latitude ที่มี Win7 เพื่อรายงาน VRAM ของมันเป็น ~ 4051MB (3.96GB) และฉันไม่เชื่อว่า Intel จะโยนตัวเลขแปลก ๆ ลงไปในการแบ่งปัน หน่วยความจำกราฟิก
เพื่อตอบคำถามของคุณโดยตรงฉันไม่ทราบเกี่ยวกับวิธีการบังคับ VBox (หรือไดรเวอร์ 3D) เพื่อรายงานจำนวนหน่วยความจำที่ถูกต้องและในปัจจุบันไม่สามารถตั้งค่า VRAM ที่จัดสรรให้สำหรับ VM สูงกว่า 256MB การใช้คำสั่งVBoxManage modifyvm "Windows 7" --vram 1024ให้ผลตอบแทน:
VBoxManage: error: Invalid VRAM size: 1024 MB (must be in range [1, 256] MB)
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component SessionMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "COMSETTER(VRAMSize)(ValueUnion.u32)" at line 570 of file VBoxManageModifyVM.cpp
และการตั้งค่า VRAM ด้วยตนเองในไฟล์ * .vbox ทำให้ VM ขัดข้องเมื่อเริ่มต้นระบบหรือไม่ใช้การตั้งค่าหน่วยความจำใหม่
จากความจริงที่ว่าคุณบอกว่านี่เป็นเกมฉันจะเดา (แก้ไขฉันถ้าฉันผิด) ว่ามันเป็นเกม 3D หนัก ๆ (เช่น Portal, Borderlands, Half Life, Bioshock, Minecraft เป็นต้น) .) ที่ต้องการ VRAM พิเศษ ตามตั๋วนี้และคู่มืออย่างเป็นทางการหากเปิดใช้งานการเร่งความเร็ว 3 มิติและติดตั้งการเพิ่มผู้เยี่ยมชมที่ถูกต้องคำสั่ง 3D ของผู้เยี่ยมชมจะถูกส่งต่อไปยังการ์ดวิดีโอของโฮสต์โดยตรงแทนที่จะจำลองฮาร์ดแวร์ 3 มิติซึ่งจะช้ากว่ามาก ดังนั้นหากเกมต้องการหน่วยความจำสำหรับการประมวลผลแบบ 3D เกมควรทำงานบน 256MB (หรืออาจน้อยกว่า) เนื่องจากคอมพิวเตอร์โฮสต์ของคุณจัดการกับโหลด 3D โดยตรงรวมถึงหน่วยความจำ (โดยใช้ VRAM ของโฮสต์) Macbook Pro รุ่นเก่ากลางปี 2009 ของฉันมี VRAM ขนาด 256MB ดังนั้นคอมพิวเตอร์ที่ทันสมัยอาจใช้งานได้ดี
คำถามของฉันคือ: คุณได้ลองเรียกใช้เกมจริงหรือไม่? หากคุณยังไม่มีให้ยิง! มันอาจทำให้คุณประหลาดใจ หากคุณเรียกใช้เกมและเกิดข้อผิดพลาดบางครั้งข้อผิดพลาดของเกมอาจไม่ได้อธิบายมากที่สุด เกมจำนวนมากคิดว่าคุณมีฮาร์ดแวร์ 3D ที่มีความสามารถและบอกว่าปัญหาอาจเป็นปัญหาหน่วยความจำ เพื่อนของฉันมีข้อผิดพลาด "อาจมีหน่วยความจำไม่เพียงพอ" จากเกมที่ทำงานบน Virtualbox และปรากฎว่าพวกเขาไม่ได้เปิดใช้งานการเร่งด้วยฮาร์ดแวร์ 3 มิติในการตั้งค่า VM ซึ่งทำให้เกมหยุดทำงานเมื่อเปิดตัว หากเปิดใช้งานการเร่งความเร็ว 3 มิติและมีการติดตั้งไดรเวอร์ Direct3D จากการเพิ่มเติมของผู้เข้าพักให้ลองใช้ไดรเวอร์ Direct3D อื่น (มีสองสำหรับ Windows 7) ไดรเวอร์ WDDM รุ่นทดลอง (ซึ่งเปิดใช้งานการสนับสนุน Aero) ไม่จำเป็นต้องทำการบูทไปยังเซฟโหมดเพื่อเริ่มทำงานในขณะที่ไดร์เวอร์ Direct3D พื้นฐานทำ
หากคุณเปิดใช้งานการเร่งความเร็ว 3D และไดรเวอร์ Direct3D ไม่ทำงานเกมของคุณอาจไม่รองรับ / ต้องการ 3D ในแบบที่ VirtualBox สามารถให้ได้ คุณสามารถลองเปิดใช้งานการเร่งความเร็ว 2D (บางครั้งต้องปิดการใช้งาน 3D) เพื่อดูว่ามีการเปลี่ยนแปลงหรือไม่ หากไม่มีการเปลี่ยนแปลงฉันไม่สามารถช่วยคุณได้โดยไม่ทราบว่าเกมคืออะไรและมีข้อความแสดงข้อผิดพลาด (ถ้ามี) ปรากฏขึ้น
หากเกมยังคงใช้งานไม่ได้และไม่สามารถใช้การเร่งความเร็วแบบ 2D หรือ 3D ได้คุณอาจต้องใช้การ์ดกราฟิก PCI passthrough (โฮสต์ Linux เท่านั้น) ที่มีทรัพยากรที่เกมต้องการ นี่คือรายละเอียดในบทที่ 9 ของคู่มือ Virtualbox เป็นกระบวนการที่ค่อนข้างเกี่ยวข้องซึ่งต้องใช้ฮาร์ดแวร์เฉพาะดังนั้นทำวิจัยในระบบของคุณเพื่อดูว่ามันจะทำงาน คุณต้องตรวจสอบลีนุกซ์เคอร์เนลมาเธอร์บอร์ดซีพียูและการ์ดกราฟิกของคุณที่จะถูกส่งต่อ