viernes, 26 de junio de 2009

Afinidad permanente en Windows Vista para correr programas y videojuegos mononúcleo

Uno de los inconvenientes de programas viejos y los nuevos procesadores multinúcleo, es que dichos programas tienen dificultades de sincronizarse con el tiempo del procesador lo que hace que se queden en pantalla negra o se cierren abruptamente.

Podríamos abrir el juego o programa, dar clic derecho en la barra de tareas y del menú pulsar Administrador de tareas, elegir el ejecutable del programa y dar clic derecho, eligiendo Establecer afinidad... :
Y desmarcar los nucleos para usar solamente un núcleo:
Aunque claro, el inconveniente de esto, es que para cuando ubicamos el ejecutable del programa este ya se congeló o cerró y de lograrlo tendremos que hacerlo cada vez que abramos el programa.

Existe, sin embargo una forma simple de establecer la afinidad permanente a un sólo núcleo usando un acceso directo bajo la línea de comando:
c:\windows\system32\cmd.exe /C start /affinity "número de procesador" "aplicación".exe
Primero necesitamos crear un Acceso directo al programa o uno existente, luego dando clic derecho sobre este, del menú elegimos Propiedades, en mi caso la aplicación tiene el nombre dmcr2.exe, que usaremos de ejemplo.

En la ficha de Acceso directo en la entrada Destino escribimos:
c:\windows\system32\cmd.exe /C start /affinity 1 dmcr2.exe
1 es igual a procesador 0, lógicamente si cambiáramos el valor a 2, este correspondería al procesador 1. Seguido por un espacio en blanco y el nombre de la aplicación, como sólo usamos un procesador, no veo la necesidad de hacer un desgloce de los números y asignaciones de procesador, cuando estos superan los dos núcleos, es irrelevante, únicamente use la variable 1 o la variable 2 y evítese complicaciones.

Esta instrucción no debe ir entre comillas, el resultado será el siguiente:
Abajo, en Iniciar en:, asegurense de poner la dirección de la carpeta del programa o todo esto no funcionará (como es una dirección de Path puede ir entre comillas):
Pulsamos en Aceptar, notarán que el ícono del acceso se torna negro debido a que la instrucción apunta al CMD y no al programa:
Den clic o doble clic sobre su acceso directo y noten que funciona perfectamente, aunque por supuesto hay otros problemas además del tema de los núcleos que dan problemas con los programas o videojuegos antiguos.

Comentarios y Consultas

Los mensajes serán revisados a veces. No te olvides que soy una persona, no se trata de faltar al respeto, todos tenemos opiniones, no hay que enojarse.

Puedes marcar Notificarme para recibir la notificación de la respuesta.

15 comentarios:

  1. buen dato , pero lo de los multinucleos me tiene arto son ua estafa, hace 10 años se estaban vnediendo los primeros procesadores de mas de 3 ghz y con esto de los multinucleos se han dado el lujo de seguir vendiendo procesadores de menos de 2 ghz, es una verguenza por q los nucleos no suman la potencia trabajan paraleleo q es una cosa pero nunca van a trabajar mas rapido q la maxima velocidad de uno de sus nucleos.

    ResponderBorrar
  2. che y para establecer la afinidad predeterminada a mas de un nucleo como seria la line de comando?

    i.e. c:\windows\system32\cmd.exe /C start /affinity 2, affinity 3 dmcr2.exe

    ¿o cómo?

    Gracias.

    ResponderBorrar
  3. Eso no tiene sentido, el propósito del artículo es asignar 1 procesador a una sola aplicación.

    La afinidad tiene que ver con aplicaciones incapaces de manejar multinucleos, las aplicaciones que sepan manejar multuples lineas de procesamiento no necesitan de AFFINITY

    ResponderBorrar
    Respuestas
    1. De hecho si tiene sentido, porque por ejemplo tengo un juego que viene de xp, y por alguna razón me anda con hasta dos nucleos y no más, pero si le pongo afinidad con 3 nucleos ya me da error, y con 1 anda lento, sería genial ponerle más de uno.

      Borrar
  4. Decis boludeces ^^ En un renderizado, el trabajo de divide, 8 nucleos de un core i7 (Reales y Emulados) que trabajan a 1.6 ghz a cada uno, se dividen el trabajo en 8 partes, y lo ejecutan a esa velocidad, un procesador de 3 ghz trabaja todo al mismo tiempo pero a 3 ghz. Asi que termina el trabajo mucho mas lentamente

    Se usan frecuencias mas bajas y mas paralelismo para llevar una vida util del procesador mas larga y darle un rendimiento mas equilibrado, puesto que los nucleos si suman...

    No se puede hacer un procesador de 12.8 ghz para una notebook, sin embargo se puede hacer un core I7 con 8 hilos a 1.6ghz, y en un render o en un buen programa va a ser lo mismo, o incluso mejor que con un solo procesador...

    ResponderBorrar
  5. wow Agusx1211 trabajas para intel o amd??? o en serio te has tragado todo eso ?

    ResponderBorrar
  6. Lo que dice tiene sentido respecto al comentario de Publicante, sin embargo ambos se equivocan porque no entienden que una cosa es el ancho de banda que ofrece múltiples núcleos y otro el que darían realmente los Hz en un único hilo.

    Mientras que los multinucleos benefician a los programas que abren multiples hilos, no beneficia a los programas diseñados para mononucleos.

    El hecho de que se usen multinucleos se debe a que para tener mayor velocidad de reloj o Hz es necesaria más electricidad, esto significa que la tecnología de procesamiento por reloj llegó al límite de lo posible hace varios años.

    En el futuro es más posible que tengamos 32 o más núcleos a velocidades de 1.6 a 3 ghz con programas perfectamente preparados para trabajos multinucleos o que se desarrollen PC basadas en luz o nanoprocesadores.

    ResponderBorrar
  7. Si a nivel de procesador todo eso es cierto chicos, pero no olvidemos que lo que esta atrasado ahora son los programas, que para funcionar optimizados con multi nucleos hay que programarlos especificamente para ellos, no puedes depender del sistema que trae el chipset para repartir instrucciones pk al final lo que consigues es 1 proceso para cada nucleo y asi evitamos que la instruccion b termine antes que a y el dato C para la siguiente instruccion no exista (cosa que petaria el programa(pantallazo azul en las primeras multinucleo?)), con lo cual todavia vamos a 2ghz para procesos grandes (videojuegos y demás) que son dificiles de partir porque trabajan a tiempo real

    ResponderBorrar
  8. No se podrán superar los ciclos del reloj de forma infinita, por eso se implementaron los multi-nucleos, no es una cuestión de capacidad tecnológica, sino de energía, a más ciclos de reloj se requiere más electricidad.

    La única forma de lograr mayor velocidad será con computadoras que trabajen mediante luz y fibra óptica.

    Los videjuegos por lo general usan la GPU no la CPU y actualmente la tarjetas de video trabajan con tecnología multi-hilos perfectamente.

    ResponderBorrar
  9. Hay un problema aquí, lo que realmente se encarga de gestionar los "hilos" en el núcleo del procesador es el sistema operativo no el programa en sí, un programa viejo usa un núcleo igual uno nuevo, si no, mi pentium-4 a 2,67GHz no cargaría office 2010, creo que estamos confundiendo multi-núcleo con tecnología HT que es muy, pero muy diferente, los programas o video-juegos que necesitan encarecidamente 2 núcleos es porque el programa hace demasiada transacción. La tecnología HT es una emulación de de multi-núcleo, y es ahí donde el programa necesita ser compatible con HT ya que el sistema operativo no es capaz de darle su propio núcleo ya que el programa no fue programado (valga la redundancia)con la característica de multi-hilo en HT, no se si me explique bien... SALUDES de parte de Emanuel

    ResponderBorrar
  10. No, Hyper threading es una tecnología que divide un núcleo físico en dos virtuales, pero finalmente ambas quiere hacer un proceso multi-nucleo igual al que ofrece uno físico.

    HT es un proceso multi-nucleo, solo que virtualizado, el sistema operativo no le dice al procesador como hacer su trabajo sino que establece la afinidad de un proceso (Windows XP no esta hecho para multinucleos y aun así los soporta).

    Un programa nuevo no necesita de programarse para trabajar para su uso con HT, pues ese proceso ya se hace desde el lenguaje de programación.

    Si uso Visual basic es claro que funcionará con múltiples núcleos, si este lo soporta, distinto si este fuera un programa en cobol.

    En cuanto a los hilos, un programa puede decir cuando los hilos deben hacer un trabajo paralelo, imagina un programa de renderizado usando la GPU. Además de cuantos y cuales procesadores usar.

    ResponderBorrar
  11. yo lo que me pregunto es si hacerle eso al procesador le trae algun problema a la larga? o si genera algun desperfecto en el microprocesador?

    muchas gracias y saludos

    ResponderBorrar
    Respuestas
    1. Ninguno, solo estas usando un procesador, pero usar los procesadores lo haces todo el tiempo

      Borrar
  12. hola gracias por la informacion una pregunta solo funciona con el sistema operativo window vista

    ResponderBorrar
  13. Gracias! No podia hacer correr el maravilloso programa regcleaner en windows 7 y con esta anda perfecto!

    ResponderBorrar

El ascenso de Skywalker(2019)

Joker 2019Una película que ha roto a divido a los fans muchos culparán a sus director por querer reparar Los últimos Jedi, no es su culpa al final.

[Leer artículo...]

La Espada del Inmortal (2019

Blade of The Immortal (2019)La historia de Manji, un guerrero samurái sin señor que ha sido condenado con la inmortalidad...

[Leer artículo...]

Kemono Michi: Rise Up (2019)

Kemono Michi: Rise Up (2019)Del autor de Konosuba, Genzo Shibata es un luchador japonés que es transportado a un mundo de fantasía, quien está obsesionado con los seres peludos.

[Leer artículo...]

ELI (2019)de Netflix

ELI (2019)de Netflix Reseña y criticaPelícula lanzada directo a video que nos cuenta una historia que parecería sacada de la Dimensión desconocida.

[Leer artículo...]

  © Cgnauta | CGsign blog | [Ver Licencia de uso] | Matius Lenin, Creative Commons, algunos derechos reservados

Regresar ARRIBA  

Vistas desde Mayo 2009

▼/▲ Archivo del Blog

Visitas totales

Información

IBSN: Internet Blog Serial Number 01-77-94-2008

Esta plantilla es creada y diseñada por Matius Lenin para CGnauta blog. Con Scripts de JQuery bajo licencia GNU/GPL. CGnauta es una marca registrada propiedad de Matius Lenin.