Aplicable a Pentium 4 con hypertreading y cpu de doble nucleo
Síntoma o problema:
Juego se queda pegado en forma intermitente o no inicia.
Solución
Hyperthreading es una técnica usada por xp(con los últimos modelos de cpu pentium 4)Para hacer que un solo procesador apareciera como dos. Y por supuesto la actual existencia de cpus de dual core es decir un escenario de dos nucleos.Algunos juegos (basados en windows), escritos antes de Xp no pueden manejar este intercambio entre procesadores y en forma al azar se pegan.Aquí algunos ejemplos:
Grim Fandango
Thief: The Dark Project
Outcast
Tex Murphy: Overseer
Si tienes un pc con hyperthreading/dual core, existe un parche universal programado para que ejecutes en forma permanente una particular aplicación(juego o programa) para un single processsor(un solo procesador).aquí bajar:
http://www.metzomagic.com/Help/download/imagecfg.zip
https://robpol86.com/imagecfg.html
The -u option sets a specified executable to only run in “uni-processor” mode on multi-processor systems. This is probably optional but I run it anyways.
The -a option sets a process affinity mask (hexadecimal value) to the specified executable, so that it always runs using the specified CPU. You can also add up the bits to set multiple CPUs (thanks LigH). Examples (hex = decimal = CPU):
0x01 = 1 = CPU0
0x02 = 2 = CPU1
0x04 = 4 = CPU2
0x08 = 8 = CPU3
0x10 = 16 = CPU4
0x20 = 32 = CPU5
0x40 = 64 = CPU6
0x80 = 128 = CPU7
0x0f = 15 = CPU0, CPU1, CPU2, and CPU3 (1+2+4+8 = 15)
hace click en imagecfg.zip para bajar
Solo baja y descomprime. Copia en esta carpeta:
C:\WINDOWS\SYSTEM32
Ahora puedes correr este programa desde cualquier parte(porque está en windows\system32). Para arreglar un juego en particular, instala el juego primero. Entonces abre el símbolo del sistema.
EJEMPLO CON GRIM FANDANGO
imagecfg -a 0×1 (esta es la sentencia)aplicado seria:
Inicio -> Programas -> Accesorios -> Símbolo del sistema
Para saber donde está el ejecutable del juego botón derecho en el acceso directo del juego y ver propiedades. Usando grim fandango como ejemplo. Entra esto en la sentencia(nota que las comillas, se colocan solo si existen espacios entre las palabras de la ruta de acceso al juego. Pero no daña incluirlas de todas maneras)
Pone esto en el símbolo del sistema:
imagecfg -a 0×1 “C:\Program Files\LucasArts\GRIM\Grim.exe”
Y verás lo siguiente salir:
C:\Program Files\LucasArts\GRIM\Grim.exe contains no configuration information
C:\Program Files\LucasArts\GRIM\Grim.exe contains a Subsystem Version of 4.0
C:\Program Files\LucasArts\GRIM\Grim.exe updated with the following config information:
Process Affinity Mask: 00000001
Hecho! Solo recordar que si se reinstala el juego volver hacer este procedimiento.
Para revertir debes haber hecho una copia de respaldo del ejecutable y volver a copiarlo o volver a reinstalarlo,
porque los efectos del imagecfg.exe son permanentes.
TIP para forzar instalación de thief u otro juego(si da mensaje que no es para nt system; o usar compatibilidad win95/98/me)
inicio ->ejecutar
x:\setup.exe -lgntforce ,Donde la x es la unidad de cd.
Más información en(no contiene juegos ni descargas, solo análisis y ayudas, así que puedo poner el enlace.)
http://www.metzomagic.com/showArticle.php?fileName=/int/help/Steves_XP_Games_Corner.htm&articleType=Steves+XP+Games+Corner&title=Steves+XP+Games+Corner
FUNCIONA EN 32BITS Y 64 BITS
__________________________________
ACTUALIZACIÓNPara simplificar las cosas puedes crear un archivo BAT para cada juego por ejemplo
con grim fandango
creas un archivo de texto y le pones
imagecfg -a 0x1 Aquí pones el nombre del ejecutable
pause
y lo guardas como".bat" (por ejemplo dnucleo1.bat)
pones el archivo "imagecfg.exe" junto con el "bat" en la carpeta del juego
y ejecutas el .bat haciendo dos click en él y listo
Así quedaría en grim fandango
imagecfg -a 0x1 Grim.exe
pause
_______________________________________________________________
Actualización 2 para windows 7 32/64 bits en forma nativaPara usar un solo núcleo en win7 en un juego específico sin necesidad de programa externo
Esto tiene efecto temporal solo cuando se ejecuta él .bat para correr el juego, cuando se vuelve a usar el ejecutable original
".exe", vuelve a usar todos los núcleos correspondientes
crear un archivo de texto y escribe:
start /affinity 1 nombre_del_ejecutable.exe
guardar como nombre_del_juego.bat
después ejecutar ese .bat dentro de la carpeta del juego para correrlo
ejemplo con max payne 2:
start /affinity 1 MaxPayne2.exe
y al guardar como .bat queda "Max Payne 2.bat"