Home Información Importante Team SFS Guía de Configuración del ArmA 3 – Parte 1 de 2

Guía de Configuración del ArmA 3 – Parte 1 de 2

179
0
SHARE

Como es requisito del SFS, el cliente del ArmA 3 se mantiene actualizado y es ejecutado por la aplicación Arma3Sync. Esta aplicación permite, entre otras cosas, configurar el simulador para customizar la performance más allá del preset por default.

Aprovechando estas características, dejo a continuación una guía paso a paso para configurar el simulador y poder exprimir al máximo el hardware al momento de llevar adelante las misiones propuestas.

Pero antes de configurar, me tomo el atrevimiento de hacer algunas aclaraciones para evitar el ocultismo y la mística que suele rondar en torno a este tipo de mecanismos tecnológicos; en caso de que no le interese y sea una persona ansiosa, le recomiendo un té de tilo y saltar directamente al apartado Pimp my ArmA.

De FPS, multiplayer y otras hierbas

Debido a que el ArmA 3 es en simulador con todas las letras, trata de explotar al máximo el realismo; si a esto sumamos la parva de mods que se agregan en el SFS, lo que obtenemos es un proceso intensivo en cuanto a cálculo y estimaciones que, en un entorno multijugador, debe sincronizarse entre todos los participantes. Cuestiones como la balística, una IA razonable, física de vehículos y demás, son algunos de los puntos picantes que afectan el rendimiento. Además, por una cuestión de la arquitectura del software, el ArmA 3 utiliza el renderizado de los FPS como si fuese el tempo para un director de orquesta: todo se resuelve entre frame y frame. Es así que mientras más cosas deban calcularse, más tiempo tarda el servidor en sincronizar, calcular y resolver acciones; por más que nuestro PC tenga cuatro placas Titan X y un disipador de calor del tamaño de una turbohélice, nunca logrará superar los 15 FPS. Y si condimentamos todo esto con una horda de combatientes disparando, hablando por radio, helicóperos descargando cohetes y el maldito humo mata-frames, se siente como si el servidor fuera un gran quiste de grasiento que se arrastra por el barro cual monstruo de Lovecraft.

Del lado del servidor hay otras cuestiones más tenebrosas como la optimización de múltiples procesadores o tráfico de red, que dada la complejidad técnica exceden el alcance de esta guía.

32 vs 64

Sin explayarme mucho en el tema, detallo de forma simple cuales son las características entre una y otra arquitectura:

  • Por diseño, un proceso que corre en 32 bits puede utilizar un máximo teórico de 4 GB de RAM.
  • Por diseño, un proceso de 64 bits puede utilizar un máximo teórico 16.8 millones de TB de RAM (si, 16 millones de TERABYTES… como diría el Doc Emmet Brown: 1.21 GIGAWATTS?!)
  • Los procesos suelen ser racistas: a uno de 32 bits le gusta hablar con otro de 32 bits, pero no con uno de 64, y viceversa.
  • Una instrucción en 32 bits es más rápida que una de 64 bits… a veces. Esto es un concepto flojo que he escuchado varias veces. Pero sí, en *algunos escasos escenarios* puede que sea así.
  • Un sistema operativo de 32 bits no puede puede ejecutar procesos en 64 bits.
  • Un sistema operativo de 64 bits puede ejecutar procesos en 32 bits en modo compatible: a tal efecto el sistema operativo simula ser de 32 bits mediante algo similar a una máquina virtual.

Con estas premisas, concluyo que:

  1. Siempre que se pueda, ejecutar el cliente en 64 bits. Sobre todo si tenemos más de 4 GB de RAM. Si tenemos un sistema operativo de 32 bits, no hay opción alguna más que ejecutar el simulador en 32 bits.
  2. Para que el ArmA pueda hablar con otros procesos, deben ser del mismo tipo: por ejemplo, el TaskForceRadio debe estar en un Team Speak de 64 bits si el Arma ejecutado es de 64 bits.
  3. Si tenemos un sistema operativo de 64 bits, reducir al mínimo posible los procesos de 32 bits en ejecución (son aquellos que en el administrador de tareas se muestran con un asterisco a su lado).

Pimp My ArmA

Ahora sí, pongamos manos a la obra: ¿cómo podemos hacer para exprimir al máximo los FPS en el ArmA? En realidad, y como se explicó anteriormente, los FPS están atados en gran medida al desempeño del servidor, pero de todas formas, podemos mejorar nuestra experiencia de simulación cambiando algunos parámetros de arranque desde el Arma3Sync. Cabe destacar que según las especificaciones técnicas de Bohemia Interactive, el cliente del ArmA 3 es capaz de autodetectar los valores óptimos para cada parámetro; de todas formas, hay casos donde esta autodetección falla y es necesario forzarla mendiante los parámetros explicados a continuación.

Las modificaciones las llevaremos a cabo en la solapa Launcher Options del Arma3Sync. Así es como se ve mi configuración:

Captura Arma3Sync

En mi caso, corro el ArmA 3 con:

  • CPU: Intel Core i5-2300 @ 2.80GHz
  • RAM: 12 GB
  • Video: EVGA NVIDIA GeForce GTX 1070 8GB GDDR5 (Founders Edition)
  • Disco: Samsung 850 EVO SSD 500GB
  • Red (Internet): 100 Mbps (Fibertel)

Como se puede observar, algunos parámetros están dentro de la caja Run Parameters y otros en Additional Parameters. Esto es porque los valores preexistentes del Arma3Sync no alcanzan a cubrir todas las posibilidades de configuración.

Ahora vamos al detalle de cada parámetro:

-cpuCount

Seteado con el checkbox CPU Count en Performance.

Define la cantidad de CPUs o Cores (núcleos) disponibles. Su valor se determina en base al CPU disponible; por ejemplo, mi Intel Core i5-2300 tiene 4 núcleos.

-exThreads

Seteado con el checkbox ExThreads en Performance.

Intentando ser simplista, lo defino como la cantidad de subprocesos simultáneos que ArmA creará para tareas en paralelo, lo cual libera de trabajo al proceso principal… Como regla, podemos asumir que los procesadores con 4 o más núcleos pueden utilizar 7 hilos extra, sino 4.

-nosplash

Seteado con el checkbox No Splash Screen en Performance.

Desactiva las pantallas de inicio. Se utiliza para acelerar el inicio del simulador.

-world=empty

Seteado con el checkbox Default World Empty en Performance.

Desactiva la carga de un escenario por defecto como fondo en el menú principal, acelerando el inicio del simulador.

-nologs

Seteado con el checkbox No logs en Performance.

Desactiva el reporte generado en archivos de texto mientras se ejecuta el simulador. El hecho de que no se utilicen estos archivos de reporte evita muchas escrituras en disco (y sobre todo en entornos con muchos mods generando warnings y errores), y por consiguiente, se mejora la performance. Hay que recordar que en caso de requerir un análisis por cuelgues o caídas del ArmA, se recomienda desactivar temporalmente esta opción.

-skipIntro

Se debe ingresar el texto -skipIntro manualmente en Additional Parameters.

Similar a -world=empty, deshabilita cualquier intro que quiera mostrarse en el menú principal.

-maxMem=N

Se debe ingresar el texto -maxMem=N manualmente en Additional Parameters (donde N es un número).

Define el máximo de memoria del sistema (RAM) que el ArmA intentará no sobrepasar, expresado en megabytes. Como se explicó en 32 vs 64, en un sistema operativo de 32 bits este valor nunca podrá ser mayor a 4096, mientras que en uno de 64 bits (con el simulador de 64 bits) puede tener cualquier valor menor o igual a la RAM disponible, expresado en megabytes.

Además, hay que recalcar algo importante: es el máximo permitido, pero en el equipo también hay otros programas en ejecución que consumen memoria (el TeamSpeak y el propio Windows, por ejemplo). Es por eso que se recomienda observar el Administrador de Tareas de Windows *antes* de iniciar el ArmA y verificar cuanta memoria hay disponible, ya que esa será la cota que tendrá el juego una vez que lo iniciemos, y por otra parte, es MUY importante NO asignar un valor más grande que lo disponible, sino el juego comenzará a paginar volviendo todo extremadamente lento (dicho simple, paginar es utilizar el disco duro como memoria RAM de forma temporal).

En un ejemplo: de mis 12 GB de RAM (12 * 1024 = 12288 MB de RAM), 4000 estan ocupados con el sistema operativo, el TeamSpeak y el Arma3Sync (además del antivirus y otras utilidades). De los 8288 MB restantes, dejando un leve margen, reservo 6912 MB de RAM para el ArmA, definiendo el parámetro como -maxMem=6912 (un poco menos de 7 GB de RAM).

-maxVRAM=N

Se debe ingresar el texto -maxVRAM=N manualmente en Additional Parameters (donde N es un número).

Define el máximo de memoria de video (Video RAM) utilizable por el simulador; esta opción existe debido a una falla de Windows al momento de detectarla. Su valor depende del total de memoria de video disponible, y se calcula reservando el %20 del total para el sistema operativo, con un límite inferior de 300 MB.

En un ejemplo: dispongo de 8192 MB de RAM (8GB) en mi NVIDIA GTX 1070; el %20 de 8192 es aproximadamente 1638, lo cual me dejaría en 8192 – 1638 = 6554. En mi caso, como me gusta exprimir el video al máximo, decido solamente reservar el mínimo de video para el sistema operativo, entonces 8192 – 300 = 7892.

-high

Se debe ingresar el texto -high manualmente en Additional Parameters.

Este parametro es opcional ya que actualmente no se encuentra documentado en Bohemia Interactive, y posiblemente sea de versiones anteriores de ArmA; de todas maneras, regula la prioridad del proceso a nivel sistema operativo. Ante la duda, lo defino.

Arma III Executable Location (game/server)

Al pie de la solapa se encuentra esta opción, la cual determina que ejecutable debe invocar el Arma3Sync para iniciar el simulador. Es aquí donde se determina si ejecutaremos la versión de 32 o 64 bits.

En mi caso, que utilizo la versión 64 bits, es: E:\Juegos\SteamLibrary\SteamApps\Arma 3\arma3_x64.exe

Notas finales

Para no dejar lo obvio fuera de este documento, cabe destacar el siguiente checklist antes de ejecutar el juego:

  1. Verificar que el repositorio, el simulador y el Arma3Sync esten actualizados.
    • Verificar que el TeamSpeak sea de la misma arquitectura que el simulador (32 o 64 bits).
  2. Reiniciar el equipo antes de una misión/entrenamiento.
  3. Cerrar todo tipo de programa accesorio no necesario para simular. Los requeridos son:
    • Arma3Sync.
    • TeamSpeak.
    • Steam (en caso de que aplique). Se recomienda que el cliente de Steam esté iniciado antes de arrancar el simulador.

Para finalizar, es importante mencionar que el ajuste fino de la configuración no es una receta: siempre hay que hacer ajustes que se adecúen a cada jugador.

Espero que esta guía haya sido de ayuda. En la próxima parte, veremos como configurar los parámetros de video in game.

Un abrazo y hasta la próxima.

LEAVE A REPLY

Please enter your comment!
Please enter your name here