8

Я пытаюсь запустить игру в гостевой системе VBox, и она требует 256 МБ памяти. Однако при назначении 256 МБ памяти в окнах VBox используется 3 МБ, что оставляет только 253 МБ, как сообщает DXdiag в Windows 7. Есть ли способ сообщить 256 МБ памяти, чтобы запустить игру? Можно ли увеличить объем памяти VirtualBox выше 256 МБ или обмануть Windows7, чтобы сообщить о большем объеме памяти, чем доступно?

1 ответ1

6

Я видел ту же проблему с отчетами о памяти. При выделении 256 МБ Windows 8.1 и Windows 7 сообщают мне ~ 255 МБ. Как ни странно, когда установлено 128MB, оба отчета ~ 191MB. Похоже, что может быть проблема с 3D-видеодрайвером VirtualBox, или он неправильно подсчитывает часть 3D-ускоренной памяти (подробнее об этом позже). Windows XP Professional, использующая другой 3D-драйвер, сообщает о выделении 128,0 МБ на 128 МБ. Использование VBoxManage для установки памяти в 256 МБ в XP позволяет преодолеть барьер настроек графического интерфейса 128 МБ и сообщает о 256.0 МБ в dxdiag.

Конечно, в Windows 7 и 8.1 может быть некоторая внутренняя неэффективность, поскольку я обнаружил, что ноутбук Dell Latitude с Win7 сообщает о своей VRAM как ~ 4051 МБ (3,96 ГБ), и я не могу поверить, что Intel выбросит это странное число в общий ресурс. графическая память.

Чтобы ответить на ваш вопрос напрямую, я не знаю ни одного способа заставить VBox (или его 3D-драйвер) сообщать правильный объем памяти, и в настоящее время невозможно установить VRAM, выделенный для виртуальной машины, больше 256 МБ. Использование команды 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 приводит к сбою виртуальной машины при запуске или не применяет новый параметр памяти.

Исходя из того, что вы говорите, что это игра, я догадываюсь (поправьте меня, если я ошибаюсь), что это 3D-тяжелая игра (например, Portal, Borderlands, Half Life, Bioshock, Minecraft и т.д.). .) что требует дополнительной VRAM. Согласно этому билету и официальному руководству, если включено 3D-ускорение и установлены правильные гостевые дополнения, 3D-команды гостевой ОС перенаправляются непосредственно на видеокарту хоста, а не эмулируют 3D-оборудование, которое будет намного медленнее. Итак, если игре требуется память для трехмерной обработки, она должна работать на 256 МБ (или, может быть, даже меньше), поскольку ваш главный компьютер напрямую обрабатывает трехмерную загрузку, включая память (используя VRAM хоста). У моего старого 13-дюймового Macbook Pro середины 2009 года было 256 МБ видеопамяти, поэтому, вероятно, любой современный компьютер подойдет.

Мой вопрос: вы пытались запустить игру? Если нет, попробуйте! Это может вас удивить. Если вы запустили игру, и в ней произошла ошибка, иногда ошибки сбоя игры не являются наиболее описательными. Многие игры предполагают, что у вас есть компетентное 3D-оборудование, и говорят, что проблема может быть связана с памятью. Мой друг получил ошибку «возможно, не хватило памяти» из игры, запущенной на Virtualbox, и оказалось, что они не включили аппаратное 3D-ускорение в настройках виртуальной машины, что приводило к падению игры при запуске. Если 3D-ускорение включено и драйвер Direct3D установлен из гостевых дополнений, попробуйте другой драйвер Direct3D (для Windows 7 их два). Экспериментальный драйвер WDDM (который включает поддержку Aero) не требует загрузки в безопасном режиме для запуска, в отличие от основного драйвера Direct3D. В установщике гостевых дополнений, когда вы установите флажок для Direct3D, он даст вам возможность выбрать один из них.

Если у вас включено 3D-ускорение, и ни один из драйверов Direct3D не работает, ваша игра может не поддерживать / не поддерживать 3D в том виде, в котором может обеспечить VirtualBox. Вы можете попробовать включить 2D ускорение (иногда требуется отключение 3D), чтобы увидеть, есть ли какие-либо изменения. Если нет никаких изменений, я не могу помочь вам, не зная, что это за игра и какие (если есть) сообщения об ошибках видны.

Если игра по-прежнему не работает и не может использовать ускорение 2D или 3D, вам может потребоваться использовать проходную видеокарту PCI (только для хостов Linux), в которой есть ресурсы, необходимые для игры. Это подробно описано в главе 9 руководства Virtualbox. Это довольно сложный процесс, требующий определенного оборудования, поэтому проведите исследование вашей системы, чтобы увидеть, будет ли оно работать. Вам нужно проверить ядро Linux, вашу материнскую плату, ваш процессор и вашу видеокарту, которые будут пересылаться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .