5

Есть некоторые старые игры, которым не нравятся многоядерные процессоры в современных компьютерах. Мне интересно, есть ли способ установить привязку процессора к ним на «1» под Wine или CrossOver? то есть в родной среде Windows вы должны щелкнуть правой кнопкой мыши по процессу игры в диспетчере задач, а затем установить сродство там.

Я сталкивался с программой RunFirst.exe, но не могу понять, как ее запустить, а затем игру одной командой.

Предложения приветствуются. Спасибо!

3 ответа3

2

Я думаю, что это возможно с командой taskset. Запустите вино так:

taskset -c 0 wine program_name.exe

избавиться от отладочных сообщений:

WINEDEBUG=-all taskset -c 0 wine program_name.exe

Часть «-c 0» установит привязку cpu для ядра 1, «-c 1» установит его для ядра 2 и т.д. См. "Man taskset" для получения дополнительной информации.

2

Настройка соответствия процессоров в OS X не поддерживается. Нет такого системного вызова, который Wine мог бы сделать для достижения этой функциональности. Связанная ошибка для этого в WineHQ надлежащим образом закрыта как WONTFIX (Ошибка 30480 - Настройка соответствия CPU не работает на Mac).

См. Также этот связанный вопрос SU: "Как установить сходство процессора в OS X?"

Таким образом, хотя ответ Дженса является отважным усилием, Wine будет молча (или не так тихо, в зависимости от WINEDEBUG) отбрасывать эти вызовы API для установки соответствия на Mac.

Обходное решение, которое обычно называют, заключается в использовании одного из инструментов разработчика Xcode (например, инструментов), чтобы ограничить общее количество активных ядер, доступных для всей системы. Не красиво, но это работает. Настройки Instruments.app: Общая панель

0

Запустите файл taskmgr.exe, который поставляется вместе с Wine, и он позволяет вам установить сходство, как в Windows :).

Я не знаю, как установить его постоянно или автоматизировать его установку.

Возможно, тот же API, который Windows использует для этой задачи, присутствует в Wine, что означает, что для этой задачи можно использовать инструмент Windows.

Редактировать:

Я нашел инструмент, который делает именно это:

http://retired.beyondlogic.org/solutions/processutil/processutil.htm

Process -a name_of_exe 1 устанавливает маску сходства для процессора 0.

Process -a name_of_exe 11 устанавливает маску сходства для процессора 0 и 1.

... и так далее.

Смотрите также:

http://en.wikipedia.org/wiki/Affinity_mask

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