Mudar Afinidade de um processo (dual-core)

Windows, Linux, BeOS e tudo o mais

Moderadores: Administradores, Moderadores

Mudar Afinidade de um processo (dual-core)

Mensagempor Cyrus3v » Segunda Mai 18, 2009 10:23

Olá malta,

Preciso de ajuda aqui num problema que me surgiu ao instalar um jogo. É o Thief Deadly Shadows e pelo que parece este jogo não se dá bem com processadores dual-core pelo que é necessário mudar a afinidade do executável do jogo.

Como é que eu posso fazer isto?

Porque o que acontece é o seguinte, eu executo o jogo e não acontece nada, mas se usar o Task Manager vejo lá os dois processos do jogo (t3.exe e T3main.exe). Uma das possibilidades apresentadas é clicar no processo e selecionar a afinidade e selecionar apenas o CPU0. Mas esta solução não resulta dado q o processo já está a ser executado. Outra solução apresentada é fazer com que o processo ao carregar apenas tenha como afinidade um dos CPU.

Mas não faço ideia de como fazer isto.

Estamos a falar de um Windows XP Pro.
Imagem
Imagem
Cyrus3v
Membro Diamante
Membro Diamante
 
Mensagens: 1140
Registado: Sexta Mar 23, 2007 19:18
Localização: Lisboa

Mensagempor alr_tech » Segunda Mai 18, 2009 10:50

boas

como sabes, é o SO que que gere isso, em último caso o hardware....

penso que o programa não deve ter sido compilado para funcionar em sitemas multiCPU e como tal os links perdem-se..

acho que a MS tem alguma info sobre o assunto, acho que tens de criar um script para forçar o SO a correr determinados exe, num mesmo CPU...
lembro-me de ter lido alguma coisa, mas, foi superficialmente... não respondia à minha questão de então.. não tomei nota...

cumps
AMD XP 2400+, ASUS A7N8X-E Deluxe
1 Gb DDR 400, Seagate 80 GB ATA + 120 Gb ATA, ATI 9600 XT
alr_tech
Gurus
Gurus
 
Mensagens: 6768
Registado: Quinta Fev 17, 2005 18:01
Localização: Lisboa

Mensagempor Cyrus3v » Segunda Mai 18, 2009 11:22

Sim é isso ele não foi compilado para esse tipo de CPU's. Eles falam de um programa o imagecfg.

Tanto que dizem para fazer o seguinte:

cd "c:\Program Files\Thief - Deadly Shadows\System"
imagecfg.exe -u t3.exe
imagecfg.exe -u T3main.exe
imagecfg.exe -a 0x1 t3.exe
imagecfg.exe -a 0x1 T3main.exe

Lá na página dizem para copiar o executável imagecfg para o system32 e para o dllcache. Ora bem eu não encontro essa pasta dllcache e talvez seja por isso q me dá erro. Pensava que podesse existir uma outra possiblidade.

Obrigado pela resposta
Imagem
Imagem
Cyrus3v
Membro Diamante
Membro Diamante
 
Mensagens: 1140
Registado: Sexta Mar 23, 2007 19:18
Localização: Lisboa

Mensagempor alr_tech » Segunda Mai 18, 2009 12:26

boas

existe sim sr.... no XP
está pendurada na \...\system32 e é hidden...

cumps
AMD XP 2400+, ASUS A7N8X-E Deluxe
1 Gb DDR 400, Seagate 80 GB ATA + 120 Gb ATA, ATI 9600 XT
alr_tech
Gurus
Gurus
 
Mensagens: 6768
Registado: Quinta Fev 17, 2005 18:01
Localização: Lisboa

Mensagempor Cyrus3v » Segunda Mai 18, 2009 12:34

Bem nesse caso vou tentar copiar lá para dentro e testar os comandos. Já digo alguma coisa.

Edit:

Apenas consegui fazer num dos processos. No outro dá-me um erro em que diz:

IMAGECFG: unable to map and load t3.exe

Vou testar o jogo á mesma.
Imagem
Imagem
Cyrus3v
Membro Diamante
Membro Diamante
 
Mensagens: 1140
Registado: Sexta Mar 23, 2007 19:18
Localização: Lisboa

Mensagempor Cyrus3v » Segunda Mai 18, 2009 13:12

Bem, não resoltou. O jogo começa sim, mas quando chega á parte de iniciar o nivel,pará e não passa dali além de apagar quase todos os ficheiros da pasta do jogo.

A ferramenta que estou a usar é esta:

http://www.robpol86.com/pages/imagecfg.php


alr_tech estás-te a referir a esta ajuda da MS?

http://support.microsoft.com/default.as ... -us;252867
Imagem
Imagem
Cyrus3v
Membro Diamante
Membro Diamante
 
Mensagens: 1140
Registado: Sexta Mar 23, 2007 19:18
Localização: Lisboa

Mensagempor alr_tech » Segunda Mai 18, 2009 16:03

boas

- não te esqueças que as mudanças são permanentes...

- funciona com exe que cumprem as regras da M$, infelizmente alguns jogos, são compilados usando sistemas não standart e pode falhar o processo de modificação...

- algumas DLLs são ficheiros executáveis, e esses tb tem de ser "modificados"... ora não sei se o utilitário funciona da mesma maneira...

só tem esses exe?

o IntFiltr, é para outra coisa...

embora, esses jogos antigos tinham uma certa tendência para usar devices de forma directa....

não sei muito bém como ajudar mais...

cumps
AMD XP 2400+, ASUS A7N8X-E Deluxe
1 Gb DDR 400, Seagate 80 GB ATA + 120 Gb ATA, ATI 9600 XT
alr_tech
Gurus
Gurus
 
Mensagens: 6768
Registado: Quinta Fev 17, 2005 18:01
Localização: Lisboa

Mensagempor Cyrus3v » Segunda Mai 18, 2009 16:22

alr_tech obrigado pela ajuda. Vou colocar aqui o texto de um tweakguide:

Dual-Core CPU Issues


If you run a dual core CPU, such as a Pentium D or AMD X2, or even a Pentium 4 with HyperThreading, you may notice that the game has a range of problems, such as not loading up properly. To resolve this issue, use one of the methods below:


Setting Processor Affinity Manually: Launch Thief: Deadly Shadows, and as soon as the game appears to begin loading, or after it has loaded up, press CTRL+ALT+DEL to bring up the Task Manager. Under the Processes tab, find the t3.exe and t3main.exe processes, right-click on each one, select 'Set Affinity' and in the box which appears, untick 'CPU 1'.


Setting Processor Affinity Automatically: If you want to force the game to only use one of your CPUs automatically each and every time you run the game, see the instructions here for using the Imagecfg utility, a small Windows NT file you can safely copy into your \Windows\System32 directory and then use to permanently set the affinity for particular programs. I recommend you backup your t3.exe and t3main.exe files before applying this tweak, as the only way to undo it is to restore the original .exe files. Furthermore, note that you may have to redo this tweak each time you patch the game, since the executable will change.


Both these methods basically force the system to effectively see, and use, only one of the CPU cores on your dual core CPU to run the game, thereby resolving this problem.

http://www.tweakguides.com/TDS_8.html


Eu sei que as mudanças são permanentes e por isso já fiz backup do ficheiros em questão.

Agora num outro sitio vi uma referencia que diz o seguinte:

Normally, e.g., in T1 and T2, you can use imagecfg to change the affinity of an EXE permanently. See http://www.thief-thecircle.com/guides/hyperthreading/ . However, one of these T3 EXEs (I think it is T3.exe, but I forget) will not change that way. So you need a launcher that will do it on launch in real time. I use ProcessWatch to do that. http://www.softpedia.com/get/System/...sWatchV2.shtml Set it up so both T3.exe and T3main.exe are watched and have affinity set to one processor on launch.


Por isso vou tentar com este ProcessWatch. Sabes como se usa este programa?

Mas que complicação, não sei porque é que um jogo como este dá assim tantos problemas.
Imagem
Imagem
Cyrus3v
Membro Diamante
Membro Diamante
 
Mensagens: 1140
Registado: Sexta Mar 23, 2007 19:18
Localização: Lisboa


Voltar para Sistemas Operativos

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 0 visitantes

cron