[Tips&Tricks] Optimizaciones y programas/herramientas para GPD-Win y Tablets Windows en general.

Abro este hilo nuevo, para recopilar tips&tricks, herramientas, etc, que nos permitan obtener mejores resultados para nuestras GPD-Win

La idea de este hilo es aportar con trucos y una breve descripción de lo que hacen, para tener cierta noción sobre lo que vamos a hacer en la consola.

Empezaré yo con un par de aportes.

Establecer afinidad de cores (núcleos) a procesos específicos

Este trick me lo comentó un usario en youtube y luego de probarlo creo que se gana en rendimiento.
La idea es establecer manualmente la afinidad de cada proceso con uno o mas cores específicos del dispositivo

Pasos para probar/implementar:
- Arrancar windows y esperar que todos los procesos relacionados con el arranque estén cargados y operativos.
- Abrir el administrador de tareas
- Ir por cada programa - Detalles - Proceso y especificar que se ejecute exclusivamente en el core 0 (afinidad)

Con esto haremos que windows y todo lo relacionado con el sistema en general, se ejecute con un solo core del sistema, dejando libres los demás cores.
Posiblemente vaya un poco mas relentizado windows en general, pero ahora viene la segunda parte

- Arrancamos el juego que queremos ejecutar
- Desde el administrador de tareas vamos a Detalles -Proceso y especificamos que se ejecute este programa en todos los cores (afinidad) menos en el 0 (1, 2, 3)

Con esto estamos estableciendo que la mayoría de los recursos de CPU se utilicen para ejecutar el juego
Finalmente, establecemos la prioridad del juego en Alta (nunca en tiempo real)


Process Lasso
https://bitsum.com/

Este programa tiene una serie de optimizaciones para la CPU
Se pueden establecer afinidades de CPU, como en el tip anterior, además de hacer el sistema mas "responsiveness" (que responda mejor el sistema a los eventos).

También tiene un modo Juego que permite cambiar dinámicamente prioridades y recursos para que se ejecute un juego en particular.

El modo proBalance se hace notar en windows, sobre todo si está muy recargado, ya que responde mas rápido en general.

Es de pago, pero tiene modalidad freemium.


CPU Cores
http://store.steampowered.com/app/384300/?l=spanish

Basicamente es un programa en el que lanzamos desde el mismo una aplicación, y el sistema establece las prioridades, afinidades, aislamiento (para evitar que el sistema ocupe recursos), etc, para ejecutar un juego

Al utilizarlo si que he notado mejoras en la ejecución de algunos juegos.

Es de pago




Zalu2!
HiAlgo
http://www.hialgo.com/home.html

Existen 3 utilidades:
- HiAlgo Boost: Cambia dinámicamente la resolución y texturas de un juego basado en DX9, dependiendo de los FPS que tengamos actualmente. Cuando baja de X fps (que podemos configurar), el programa automáticamente reduce las texturas y resolución para ganar fps. Al alcanzar Yfps, el juego vuelve a tener su resolución y texturas originales.

- HiAlgo Switch: En programas basados en DX9, al aplicar el Boost (asignado a una tecla) se bajan las texturas y resolución del juego de forma dinámica, ganando frames con esto. Sirve para juegos de acción donde necesitamos mas velocidad en ciertas zonas donde podemos activarlo, y en otras donde tenemos que leer o tener mas detalle podemos desactivarlo.

- HiAlgo Chill: Es un limitador de frames para evitar sobrecalentamientos


La última vez que me metí en su foro, comentaban que estaban trabajando en una versión DX11, pero de momento para juegos DX9 va muy bien.
DVMT Pre-Allocated memory
https://www.reddit.com/r/gpdwin/comment ... memory_in/

En la GPD-Win:
BIOS - Chipset - North Bridge - Intel IGG Configuration - DVMT Pre-Allocated

Este parámetro no tiene sentido que tenga demasiada memoria pre-fijada, por que se producen cuellos de botella en el sistema.
Según el artíuculo, y lo que he estado probando yo mismo, es mejor establecer un parámetro bajo para mejorar en el arranque del sistema.
El parámetro sugerido es: 64MB (yo lo tenía a 128MB, pero ahora estoy probando con 64MB y de momento voy bien, ejecuto todo igual que antes)

También sugiere que nunca debería ser de 16MB (no debería ser tan baja)

EDITO: Luego de hacer pruebas, el valor lo he vuelto a poner a 512MB ya que en algunos juegos como el Ultimate Marvel vs Capcom 3, con valores bajos no va a fullspeed, pero con 512MB si.

Faked dedicated graphics memory

Algunos juegos no arrancan si la memoria dedicada para la GPU es baja.

En el mismo enlace anterior, se comenta de una forma de engañar al sistema, indicando mas memoria gráfica dedicada de la que realmente hay asignada.

Para esto, vamos a esta ruta en el registro de windows:
HKEY_LOCAL_MACHINE\Software\Intel\GMM

y creamos un valor REG_DWORD:
DedicatedSegmentSize

El valor asociado puede ir desde 0 a 512MB, donde 0 deshabilita el "fake" y el sistema reporta la memoria gráfica real, o cualquier otro valor que será el reportado por el sistema.
Resoluciones personalizadas
http://www.trailgaming.com/2016/12/01/m ... s-gpd-win/

Utilizar resoluciones custom nos hará ganar en rendimiento en muchas ocasiones.
por explicarlo de forma simple, no es lo mismo para la GPU/CPU "pintar" una pantalla de 800x450 que una de 1280x720

en una de 800x450, tenemos que pintar 360.000 pixeles
en una de 1280x720, tenemos que pintar 1.280.720 pixeles

un 1280x720 necesitamos procesar/pintar 3,5 veces mas pixeles que en 800x450. Por esta razón es siempre conveniente utilizar resoluciones menores a la hora de ejecutar juegos, y con esto ganar en rendimiento.

por esta razón es interesante aprender a crear estas "custom resolutions" para poder utilizarlas.

En el panel de control de Intel HD, vamos a agregar las custom resolutions que necesitemos. Normalmente las que mas nos interesan son las que mantienen el aspecto de nuestra pantalla, que para el caso de la GPD-Win serán (cito del enlace anterior):
576X1024
544X960 <– Siendo esta la mas optima de todas
448×800
360×640


Nota: Recordar que en la GPD-Win, se agregan las resoluciones siempre como primer parámetro el alto y luego el ancho


Utilizar custom resolutions en juegos

Algunos juegos posiblemente muestren como opción las resoluciones que tenemos personalizadas en el panel de Intel, pero otros juegos vendrán con sus resoluciones propias.

Para estos juegos que no es posible utlizar una custom resolution de forma nativa, vamos a ejecutarlos en modo ventana sin bordes. En muchos casos, al activar esta opción tomará el tamaño del escritorio de windows y presentará el juego con esa resolución

Para aquellos juegos que no tengan la opción "Windows sin bordes" (Borderless window), y que tenga la opción "ventana", vamos a utilizar una herramienta extra:

Borderless Gaming
http://store.steampowered.com/app/388080/

esta aplicación basicamente nos permite indicar una ventana, y se maximizará al tamaño de windows como si fuese un borderless window, y por tanto mantendrá la resolución que tengamos indicada en windows para ejecutar el juego.


Ganar rendimiento en juegos

Relacionado con los tips anteriores, existe un truco muy recurrido en foros especializados y que consiste en ejecutar juegos en modo ventana, con lo que se gana en rendimiento (y se consigue algún FPS extra)

Por lo que es conveniente. mientras se pueda, ejecutar juegos en este modo.
Evitar que la GPD-Win se active sola cuando está en modo suspención

A muchos nos pasa que cuando tenemos la consola en modo suspensión, y la metemos en el bolsillo de la chaqueta o mochila, en algún momento se reactiva.

Esto sucede principalmente por que tenemos algún programa que no permite la suspensión (algún juego, etc), o por que estamos activando continuamente el sistema por medio del ratón o gamepad, ya que se presionan los botontes L1, L2, R1 o R2 de forma accidental (y frecuente)

para evitar esto, vamos al administrador de dispositivos, y buscamos el ratón:
Mouse y otros dispositivos señalizadores

Aquí aparecen 2 dispositivos con el mismo nombre:
Mouse compatible con HID

Vamos al primero y vemos sus propiedades para ver si existe la pestaña "Administración de energía". Si no lo tiene, vamos al segundo dispositivo

en la pestaña "Administración de energía" demarcamos la opción "Permitir que este dispositivo reactive el equipo"

El gamepad, no tiene la pestaña de activación de energía, por lo que no hay que hacer nada mas.

Con esto ya evitamos la mayor parte de las reactivaciones accidentales del sistema.

Deshabilitar el sensor de gravedad

El sensor de gravedad es el que inclina la pantalla cuando giramos la consola. Este sensor (la característica realmente) genera problemas en algunos juegos y, normalmente, producen errores que los cierran.

Para evitar problemas, vamos a deshabilitar 2 dispositivos

en el administrador de dispositivos:
Sensor I/O devices - Kionix KXCJ93-axis accelerometer SPB
Botón derecho sobre el dispositivo y le damos a "Deshabilitar"

luego, vamos a:
Sensores - Kionix Sensor Fusion Device
y lo deshabilitamos también

Realmente con el segundo dispositivo ya tenemos deshabilitado el sistema de sensores y rotación, pero ya que lo deshabilitamos, quitamos también el otro relacionado por que de momento no lo usaremos.


Girar la pantalla para ver ventanas muy largas

Uno de los problemas que tiene la pantalla es que es solo de 720 pixels de resolución vertical
En algunos casos, por ejemplo, si se ha modificado el tamaño de la fuente de windows (el % de zoom) para poder leer mas cómodamente en esta pantalla, algunas ventanas quedan muy grandes y no se pueden leer correctamente.

Por ejemplo, las ventanas de configuración de Steam, los botones de acción "Aceptar", "Cancelar" normalmente quedan fuera de la vista y no se pueden presionar.

Para estos casos forzaremos una visualización rotada en la pantalla, para poder acceder a estos botones.

Simplemente, haremos un "Alt"+"Ctrl"+"Flecha arriba" y tendremos rotada la pantalla 90º

Nota: las flechas tienen rotada la pantalla por defecto en 90º, por lo que "flecha derecha" es pantalla normal
Limitar los FPS

Otro truco que funciona normalmente es limitar los FPS a 30 por ejemplo.
Aunque no se lleguen a esos 30FPS, el sistema rinde mejor que si no pones límites.
Gran hilo Deen0x.

Tu ultimo post sobre los FPS, usando el Rivaturner se puede hacer, yo lo hice con el Bioshock para uqe no bailara de 60 a 40 y dejarlo siempre en 30.

Un pequeño tip que quiero añadir.

Mover las carpetas TEMP al directorio raiz

Creamos una carpeta llamada "TEMP" en c: y vamos a "MIPC" y en propiedades ir a "opciones avanzadas->Variables de entorno" ahí veremos varias cosas, tenemos que fijarnos en las que ponen "TEMP" y "TMP" y dirigirlas al directorio "TEMP" en la raiz de C:

Con esto lo que conseguimos es tener menor fragmentación de archivos en el disco y un acceso mas cómodo a la carpeta TEMP del sistema para borrar lo que haya dentro.
Deen0X eres el puto amo vaya pedazo de hilo , es un privilegio tenerte para todos los que tenemos la gpd win.
Josezno está baneado por "saltarse el ban con un clon"
Yo he hecho pruebas limitando los fps a 30 con el Dxtory y no he notado la menor diferencia.
@Deen0X En cuanto a lo de asociar todos los procesos del sistema al core 0 y dejar los cores 1 2 y 3 para los juegos se puede hacer de manera automática? con algón acceso directo al REG o algo?
Chifrinillo escribió:@Deen0X En cuanto a lo de asociar todos los procesos del sistema al core 0 y dejar los cores 1 2 y 3 para los juegos se puede hacer de manera automática? con algón acceso directo al REG o algo?


si los asocias quedan configurados

los programas que he puesto a continuación (cpu cores, process lasso) permiten hacer asociaciones dinámicas.
Tengo ganas de probar el hialgo boost.

Supongo que el hilo es para la consola en general y no para juegos o emuladores especificos no?

Un Saludo.
Lo he creado mas orientado a dispositivos Windows en general, y la GPD-win en particular.
Gracias por los consejos máquina
Memoria Virtual

Lo comenté en la review y en el hilo de la consola.
Hay mucha literatura sobre este tema, y no existe una fórmula perfecta y para todos.

Hay algunas personas que consideran que un valor bajo es mejor para gaming.
otros que un valor alto para tener mas memoria total
hay incluso otros que consideran que no tener memoria virtual es mejor.

La memoria virtual es, en pocas palabras, un mecanismo que permite tener mas memoria al sistema para ejecutar aplicaciones. Esta memoria se genera moviendo "zonas" de la memoria RAM a un fichero en disco, para liberar dicho espacio en la RAM y permitir que carguen mas aplicaciones.

La memoria RAM es muy rápida en comparación con la memoria "virtual", ya que va en disco

Windows fué diseñado para trabajar con memoria virtual. No importa que sea pequeña, pero necesita la memoria virtual como parte del sistema operativo, por tanto NO ES RECOMENDABLE quitar la memoria ram por que, aunque percibamos una mejora puntual en algunas actividades, el sistema resiente en rendimiento en general, y sobre todo notaremos la falta de memoria para ejecutar aplicaciones.

Una memoria baja puede ayudar a la situación anterior, pero sigue estando presente el problema de la memoria total, y las aplicaciones que podemos ejecutar.

Una memoria demasiado grande nos dará como problema una caída muy considerable en el rendimiento de la máquina, ya que tendremos acceso constante al fichero de paginación (memoria virtual) para desocupar RAM, aún cuando no la necesitemos realmente, y como el acceso al fichero es mas lento que acceder a zonas concretas de la memoria, el sistema se torna mas lento.

Existen muchas fórmulas para establecer el tamaño de la memoria virtual y yo os comentaré las que utilizo normalmente.

Para un entorno de trabajo estándar, suelo calcular la memoria virtual:
Si RAM<2GB, entonces la memoria virtual es 2 veces la RAM
Si 2GB<=RAM<4GB, entonces la memoria virtual es 2.5 veces la RAM
Si 4GB<=RAM<12GB, entonces la memoria virtual es igual a la RAM
Si RAM>12GB, entonces memoria virtual es igual a la RAM, y creo un disco virtual de 4GB para meter los temporales y el cache de internet.

Para un entorno gaming, en mi caso establezco un fichero de paginación de 4GB, y creo una unidad virtual de 4GB donde direcciono el fichero de paginación.

(La utilización del disco virtual lo comentaré en otra ocasión)

Como no es el ejemplo de la GPD-Win, ni de ninguna tablet windows en general, nos centraremos con las specs de la GPD-Win, que son 4GB RAM, por tanto ponemos un fichero de paginación de 4GB

Nos vamos a las propiedades del sistema (click derecho sobre "Mi PC", propiedades), en Opciones avanzadas/Rendimiento hacemos click en "Configuración", "Opciones avanzadas", Memoria Virtual, hacemos click en el botón "Cambiar..."

Desmarcamos la casilla "Administrar automáticamente el tamaño del archivo de paginación para todas las unidades"

Seleccionamos la unidad C:

Seleccionamos "Tamaño personalizado"
Tamaño inicial: 4096
Tamaño máximo: 4096
(ponemos el mismo valor para ambos tamaños)

Hacemos click en "Establecer" (Importante)

Luego hacemos click en "Aceptar"

posiblemente windows nos pedirá que reiniciemos.


Es importante establecer ambos tamaños en el mismo valor, para que el sistema no pierda recursos ni tiempo en cambiar el tamaño de forma dinámica a este fichero, verificando el espacio en disco, asignando direcciones consecutivas si las hay, etc. Para evitar todo esto se ponen el mismo valor y el sistema, desde el arranque, ya tiene asignado el fichero y no se preocupa de estas tareas secundarias.


Si alguien tiene otra receta o fórmula para la memoria virtual, me gustaría conocerla para experimentar si es posible.
Ventilador

Después de estar varios días probando, y a raíz de algunos comentarios de algunos compañeros, he estado utilizando la consola con el ventilador en modo baja velocidad (el switch al medio), y en mi caso la consola va mucho menos caliente que utilizando el ventilador a tope.

Además, y como se puede suponer, esto ayuda a tener menos trhottling (al no calentarse tanto), y consumir menos batería


Prefetch

Según xatakawindows, sobre el Prefetch:

Este servicio se encarga de copiar archivos abiertos recientemente en una área contigua a la utilizada en los discos duros tradicionales, para que se pueda acceder de manera más rápida. Sin embargo, si tenemos en cuenta el funcionamiento de un disco duro mecánico, que cuenta con partes móviles y necesita recorrer sus platos para lectura y escritura, y lo comparamos con el de un SSD, que es una memoria sólida donde el tiempo de acceso a cualquiera de sus datos es el mismo, realizar esto resulta un poco inútil. Desactivar nos ahorrará una cantidad casi imperceptible de espacio, pero sí que reduciremos las tareas de acceso al SSD.


en nuestro caso, no es un disco mecánico, por lo que el prefetch o superprefetch no es necesario, y por este motivo vamos a deshabilitar este servicio.

Me cito de Josezno (y pochi) sobre este tip que no habíamos considerado hasta ahora (por lo menos yo)

Se trata de desactivar el superfetch.

1- Tecla windows + r

2- Ejecutar "services.msc" (sin comillas)

3- Bajar hasta Superfetch

4- Botón derecho, propiedades. Le damos a stop y en "start up type" cambiamos de automatic a disabled.

5- Reiniciar

He notado mejoras en la duración de la batería, en el rendimiento de algunos juegos (el War in the North me hacía amagos de salir al escritorio y ahora no), la consola se calienta menos y según dicen evita el throttling.

Igual muchos ya lo habíais hecho, pero si no probadlo.



La forma alternativa de desactivar es por medio del registro (y como mencionan en xatakawindows)

Para desactivarlo, pulsamos tecla Windows + R, escribimos “regedit” sin las comillas, y lo ejecutamos. Nos movemos hasta la siguiente entrada:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Para ello iremos haciendo uso de la lista de carpetas que tenemos a la izquierda y cuando lleguemos nos fijamos en si EnablePrefetcher lleva el valor 0. Si no está a 0, hacemos clic derecho sobre EnablePrefetcher, le damos a Modificar y cambiamos su valor a 0.
Genial post!!, y mas para los que empezamos ahora con la consola. Mil gracias Deenox
Muchas gracias por este genial hilo.

Cómo limitáis vosotros los fps? Que programa?

El hialgoBoost pone los FPS y una marca de agua . Sabéis como quitarlo
puedes poner el nivel de transparencia en algun fichero, pero la verdad es que a la larga ni molesta.

para limitar, el rivatunner (es el que utilizo cuando no puedo limitar desde los propios ficheros de configuración de los juegos... y si se puede limitar claro está)
Gracias por el currazo que te das, es un placer aprender de ti.
Luego de hacer pruebas, el valor DVMT Pre-Allocated memory lo he vuelto a poner a 512MB ya que en algunos juegos como el Ultimate Marvel vs Capcom 3, con valores bajos no va a fullspeed.

Sugiero por tanto no tocar este valor (dejar el que viene de fábrica, que si mal no recuerdo son 512MB)

Zalu2!
@Deen0X me serviràn algunos de estos tips en para una Tablet Teclast X80 pro con Windows?
si, son tips generales, aunque algunos pueden ser específicos para la Win (sobre todo los de la bios), pero son generales para tablets windows (como pone en el título del hilo) ;)

Zalu2!
esto me va a venir genial cuando reciba la mia de gear best. Solicito información adicional sobre los drivers que van mejor para la bicha (en mi caso, me llegará la version Z8750)
Buen hilo Deen0X.

Una sugerencia mas,hay drivers de Intel HD Graphics que tienen mejor rendimiento teniendo activado o desactivado el Power Meter Lock en la BIOS.

Segun mis pruebas con los siguientes drivers:

Intel HD drivers Skylake = Power Meter Lock = Disabled.

Intel HD drivers 30 Marzo 2017 (no me acuerdo la version) = Power Meter Lock = Disabled.

Intel Beta drivers = Power Meter Lock = Enabled.

Intel drivers N-Series = Power Meter Lock = Enabled.

Seguramente esto tiene que ver con la frecuencia de la GPU al jugar a juegos.En los drivers de Marzo de este año he obtenido los mejores resultados en el Z8750,además,la batería me dura mas,imagino que es mas estable a la hora de subir y bajar la fracuencia de la grafica,aun asi,imagino que hace falta un poco mas de tiempo para confirmar este tema.

Saludos.
24 respuestas