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 son moderados serán revisados antes de publicarse.

Este no es un foro de adolescentes, no uses letras en vez de palabras completas como "q" en vez de "que", ni escribas tus mensajes en mayúsculas, se respetuoso con los demás, si no estás de acuerdo no comentes.

Una cosa es que no te guste una crítica, otra que uses un lenguaje inapropiado para demostrarlo. No me siento en la obligación de publicar ningún mensaje en específico o de leerlo entero si usas palabras altisonantes.

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.

    ResponderEliminar
  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.

    ResponderEliminar
  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

    ResponderEliminar
    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.

      Eliminar
  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...

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

    ResponderEliminar
  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.

    ResponderEliminar
  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

    ResponderEliminar
  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.

    ResponderEliminar
  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

    ResponderEliminar
  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.

    ResponderEliminar
  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

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

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

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

    ResponderEliminar

Samurai Jack (2017), episodio 10 "Final"

Samurai Jack (2017)Jack se enfrenta por fin con Aku, todos tratan de ayudar al samurai y la sorpresa vendrá del pasado.

[Leer artículo...]

Noragami entra en paro indefinido

Noragami es suspendida temporalmenteUna de las autoras no puede continuar con su trabajo al frente del manga y se ha decidido meter la historia en hiatus, lo que puede significar...

[Leer artículo...]

Tales of Zestiria y su final Yuri

El final de Tales the Zestiria The XLas aventuras de Sorey llega a su fin con un final de lo más raro que he visto hasta ahora.

[Leer artículo...]

Warau Salesman New (2017) El vendedor sonriente

Warau Salesman New (2017) EstrenosSatoru descubre al culpable de la trama, es el momento de enfrentarse y tendrá que dar todo de sí para cambiar su suerte.

[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.

Anexos

Bitacoras.com