Como definir a afinidade da CPU no Wine ou no CrossOver?

5

Existem alguns jogos antigos que não gostam dos processadores multicore nos computadores atuais. Eu estou querendo saber se existe uma maneira de definir a afinidade de CPU para eles '1' em vinho ou CrossOver? Ou seja, em um ambiente nativo do Windows, você clicaria com o botão direito do mouse no processo do jogo no Gerenciador de Tarefas e definiria a afinidade lá.

Eu me deparei com um programa chamado RunFirst.exe, mas não consigo descobrir uma maneira de executá-lo, então o jogo em um comando.

Sugestões são apreciadas. Obrigado!

    
por hpy 29.03.2010 / 07:10

3 respostas

0

Execute o taskmgr.exe que vem com o Wine, ele permite que você defina a afinidade como no Windows:).

Não sei como defini-lo permanentemente ou automatizá-lo.

Possivelmente, a mesma API que o Windows usa para essa tarefa está presente no Wine, o que significa que uma ferramenta do Windows pode ser usada para essa tarefa.

Editar:

Eu encontrei uma ferramenta que faz exatamente isso:

link

Process -a name_of_exe 1 define a máscara de afinidade para o processador 0.

Process -a name_of_exe 11 define a máscara de afinidade para o processador 0 e 1.

... e assim por diante.

Veja também:

link

    
por 16.04.2011 / 12:09
2

Eu acho que é possível com o comando taskset. Execute vinho assim:

taskset -c 0 wine program_name.exe

para se livrar das mensagens de depuração:

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

A parte "-c 0" irá definir a afinidade da cpu para o core 1, "-c 1" irá configurá-lo para o core 2, etc. Veja "man taskset" para mais informações.

    
por 29.03.2010 / 07:20
1

A definição da afinidade do processador no OS X não é suportada. Não existe essa chamada de sistema que o vinho poderia fazer para alcançar essa funcionalidade. O bug relacionado a isso no WineHQ é fechado apropriadamente como um WONTFIX ( Bug 30480 - A configuração da afinidade da CPU não funciona em Macs ).

Veja também esta questão SU relacionada: "Como definir a afinidade do processador no OS X? ".

Assim, enquanto a resposta de Jens é um esforço corajoso, o Wine irá, silenciosamente (ou não tão silenciosamente, dependendo do WINEDEBUG), descartar as chamadas da API para definir a afinidade em um Mac.

A solução normalmente citada é usar uma das ferramentas de desenvolvedor do Xcode (como o Instruments) para limitar o número total de núcleos ativos disponíveis para todo o sistema. Não é bonito, mas funciona.

    
por 02.04.2013 / 18:58