Como obtener mas FPS en BF3

battlefield_3_french_commander-HD

Ya es sabida la calidad grafica y de efectos del Battlefield 3.  Pero tanta belleza a veces nos implica mucha carga grafica y de procesador, por ende si no tenemos una pc bien equipada es muy probable que experimentemos una caída de los FPS cuando jugamos online.

Lo siguiente son unos tips para poder subir nuestros FPS y mejorar el rendimiento a la hora de jugar.

 

En principio había escrito un articulo básico al respecto, pero en vista de que muchos me preguntaron cuestiones mas especificas he decidido editar el contenido como también la config final.

 

Antes que nada tenemos que tener en cuenta que la idea de este articulo es apuntar a la configuración del juego en si refiriéndonos a aspectos de software.

 

SI alguno en particular tiene limitaciones en cuanto al hardware o al servicio de internet, debe saber que esas son cuestiones que no podemos solucionar aquí. Además intentaremos mejorar la performance del juego, pero no hacemos magia.

 

Dando por echo que tenemos una conexión de red aceptable, y una configuración de hardware que al menos esta dentro del mínimo requerido para correr el juego, a partir de ahí podremos comenzar a pulir otros aspectos.

 

 

 

Liberando Recursos

 

Antes que nada, como sabemos, debemos tratar de liberar la mayor cantidad de recursos de hardware para que sean aprovechables para el juego. En esto prestaremos atención al microprocesador, memoria RAM, fragmentación de disco, y memoria de video.

 

 

HDD

En cuanto al disco no hay mucho que decir salvo que es recomendable usar un desfragmentador y sin necesidad de desfragmentar el disco entero, podemos desfragmentar solo la carpeta del juego. Si tenemos la instalación del juego en otro disco mucho mejor.

Para esto podemos usar el programa Defragler que es gratuito, barato y cumple con lo que necesitamos.

 

Video

No hay mucho para tocar tampoco en lo que refiere a la placa de video. Es altamente recomendable que tengan siempre instalados los últimos drivers que corresponden a su versión de sistema operativo.

El tweaking u overclocking no es algo que recomiendo, no voy a tocar ese tema al margen de las opiniones que cada uno pueda tener al respecto. Pero algo es seguro, no podemos convertir un fitito en una Ferrari por mas overclocking que hagamos.

 

RAM

Directamente relacionada con el micro, si tenemos poca RAM, el disco se accesa mas seguido porque el sistema lo usa como memoria temporal, por lo cual este proceso de lectura y escritura demanda mas carga de procesador.

 

Microprocesador

En el caso del BF3, el procesador por mas que sea una bestia de Intel, trabaja a full igual. No hay procesador que sea demasiado para este juego. El problema con el procesador es que cuando este realiza picos de transacciones, es decir cuando se acerca a su 100% de capacidad, comenzamos a experimentar una serie de lag de micro que se puede observar como una pesadez en el juego. Esto se debe a una caída de FPS notable que a veces hace imposible jugar.

 

Esta caída de FPS consecuencia de los picos de procesador no siempre esta relacionado a la placa de video. También puede ser por efectos de sonido, o porque el juego lee y actualiza el escenario. Ahí es donde todos los aspectos son relevantes, buena lectura de disco y suficiente espacio en memoria RAM evitan picos de GPU y CPU.

 

Lo que intentaremos hacer para liberar carga de procesador será evitar tener corriendo aplicaciones que no sean estrictamente necesarias mientras tenemos el juego funcionando. Esto implica navegadores, música, MSN, skype, y todo lo que no usaremos mientras jugamos ya que utiliza recursos de RAM y Micro que necesitamos para el juego.

 

Entonces deberíamos tener en cuenta lo siguiente:

-Si tenemos un antivirus es recomendable ponerlo en modo offline ya que muchos antivirus escanean la RAM y el disco cada vez que se accede al mismo.

-Si utilizamos Chrome o Firefox, es recomendable que no lo tengamos con muchos addons o complementos ya que cada uno ocupa micro y RAM como si fuese una aplicación diferente.

Lo ideal seria usar Internet Explorer (el cual odio), pero como muchos no lo usan, mas abajo podrán ver una alternativa al navegador.

-Si tienen gamepads o teclados especiales, hay que tratar de minimizar las aplicaciones residentes de los mismo al máximo.

-Le quitaremos los efectos visuales a Windows a la hora de ejecutar el juego. Esto lo podemos configurar en las propiedades del acceso directo de BF3 y en compatibilidad tildaremos “desactivar composición de escritorio” y “desactivar temas visuales” de esta forma nos ahorramos bastantes recursos para la placa de video.

-Por ultimo todo lo que este residente, ya sea como icono al lado de la hora o no, ocupara memoria que necesitamos, asique deberíamos cerrarlo a menos que sea esencial para el sistema.

 

 

Como son muchos aspectos los que implican liberar memoria y carga de procesador, y como cada uno tiene aplicaciones diferentes instaladas, se hace casi imposible dar una receta que se adecue a todas las posibilidades. Pero el concepto lo tienen.

 

Sin embargo para los que creen que es demasiado trabajo, les comento que hay una pequeña aplicación gratuita que se encarga de hacer todo esto que mencione antes de forma automática.

Se llama Game Booster y pueden bajarlo de su sitio oficial: http://www.iobit.com/gamebooster.html

 

 

Si bien no la probé a fondo, hace mas o menos todo lo que mencione anteriormente de forma automática.

 

Podemos configurarlo a gusto, pero recomiendo que no toquen demasiado las opciones avanzadas, con lo que viene por defecto debería funcionar bien.

 

 

 

 

 

 

 

El problema de Origin y el navegador.

 

Como todos los que jugamos al BF3 sabemos, para poder entrar a un servidor hay que iniciar un par de aplicaciones que como todo, nos consumen recursos y memoria. Si de alguna forma pudiéramos salvar este recurso adicional, podríamos utilizarlo para el juego.

Una opción es iniciar con un navegador mas liviano, que no robe recursos, para resolver esto la gente de Realware nos ofrece una alternativa mas liviana.

 

Battlelog Stand-Alone.

Esta aplicación reemplaza a nuestro navegador utilizando el motor del internet Explorer pero sin las librerías adicionales que levantan todos los navegadores. Por ende es mucho mas liviano y el acceso es mas rápido liberándonos mas recursos para el juego.

 

 

Además al iniciar, nos dirige automáticamente al sitio de battlelog y si guardamos las credenciales nos loguea automáticamente.

 

 

Este programa es gratuito y podemos descargarlo del sitio oficial.

Descarga oficial:

http://bf3.realmware.co.uk/battlelog-standalone/downloads

 

Volviendo al tema de la configuración, antes de ir al archivo .cfg me gustaría recomendarles también que utilicen otra aplicación de Realware que nos permite modificar muchos aspectos del juego que ingame no podemos y que para hacerlo por config no tenemos los conocimientos.

 

 

 

 

Aspectos de configuración del juego

 

 

Ya entrando en la config propiamente dicha, antes de ver o editar directamente el archivo CFG, podemos utilizar la aplicación que les menciono a continuación.

 

 

BF3 Settings Editor

Esta aplicación es una de varias de su tipo, pero en mi opinión es tal vez la mejor de ellas. Nos permite no solo modificar las configuraciones graficas sino que también modificar algunos aspectos que no podemos desde las opciones ingame como el FOV, DirectX y otras opciones.

 

También nos facilita cambiar la configuración de controles de teclado.

 

 

Y nos ofrece algunos Fixes a problemas comunes.

 

 

Otra de las ventajas de utilizar esta aplicación es que podemos guardar varias configuraciones diferentes. De esta forma podemos cambiar mas fácilmente entre una y otra sin tener que modificar todo ingame.

 

 

 

Link de descarga:

 

http://bf3.realmware.co.uk/settings-editor/downloads

 

Mi consejo es que antes de usar la config que les voy a pasar a continuación, prueben este pequeño programita, así pueden pulir a gusto aspectos que no podremos hacer de otra forma desde el juego. Esto sumado a la config nos permitirá una pequeña subida en los FPS.

 

Mi config personalizada.

Antes que hablemos de algunas  variables de la config quiero mencionar que en el caso del BF3 se trata de un engine propietario al cual solo tienen acceso los diseñadores del juego. Con esto me refiero a que el motor grafico no fue revendido para ser utilizado en otro juego, por ende no existe documentación a la que podamos acceder fácilmente para meter mano a las variables que modifican los aspectos del juego. De echo casi no se conocen variables o comandos, y de los pocos que se conocen algunos no sabemos con certeza la función que cumplen.

 

Lo que si sabemos es que el juego utiliza, como muchos motores gráficos, una serie de archivos en los cuales fija valores específicos para el perfil del usuario en cuestión.

 

Estos valores están volcados en los archivos “PROF_SAVE_profile” y “user.cfg

 

El primero contiene un listado de todas las asignaciones de teclado y su acción, como así tambien una serie de variables que definen aspectos graficos, de audio y  de jugabilidad entre otros. Este archivo es reescrito cada vez que el juego se inicia, por lo tanto no conviene que lo toquemos por ahora. Lo que si podemos hacer es usarlo como referencia, pero incluso su sintaxis es diferente al otro archivo de cfg.

 

El segundo (user.cfg) es el que nos interesa a nosotros, y si bien es mas limitado lo que podremos agregar en el, es el único que por el momento nos conviene manipular.

 

Lo que hice en mi versión de  user.cfg fue desactivar variables graficas que no podemos desde el menú del juego, modificar algunos valores y limitar otros pero básicamente son detalles que no modifican en gran medida el aspecto visual pero si mejoran el desempeño.

Mas adelante probare alguna config mas extrema, pero por ahora esta config es superficial y no invasiva, con esto me refiero a que no se tocaron variables que puedan generar conflicto con los requerimientos mínimos del PunkBuster.

Una configuración mas profunda implicaría tocar el archivo PROF_SAVE_profile pero eso puede ser mas complicado para usuarios no entendidos.

 

De todos modos como de esta forma conseguimos lo que queremos, que es subir los FPS, y es mas que suficiente.

Link de descarga:

 

 

Las instrucciones para instalarlo están dentro del archivo comprimido.

 

Los aspectos relevantes de la config como así tambien el detalle de las variables lo iré agregando mas adelante, conforme termine de comprobar su funcionamiento y entender bien que hace cada cosa.

 

Pruébenlo y me cuentan, cualquier cosa me consultan.

 

 

 

 

 


APENDICE

 

 

El siguiente es un listado de variables que nos interesan y su función. Intentare ir agregando conforme encuentre mas información. El siguiente listado no implica que estén todas incluidas en mi config. Cualquier ayuda es bienvenida.

 

 

 

Screenshot.Format jpg // Define el formato de escritura de las capturas de pantalla.

GameTime.MaxVariableFps 100.000000 // Define el limite maximo de FPS que el juego debe entregar.

Render.DrawFps 1  // Indica que el HUD muestra o no el contador de FPS ingame.

RenderDevice.Dx11Enable 0  // Define el DX por defecto, no se sabe si realmente afecta modificar esta variable.

PostProcess.DynamicAOEnable 0

Render.BlurEnable 0
Render.ForceBlurAmount 0

Render.StaticModelEnable 0
Render.StaticModelPartCullEnable 0
Render.StaticModelPartShadowCullEnable 0
Render.EdgeModelCullEnable 0
Render.EdgeModelsEnable 0
Render.DrawScreenInfo 0
Render.PerfOverlayEnable 1
Render.PerfOverlayVisible 0

RenderDevice.ForceRenderAheadLimit 1 // NVIDIA: buscar en el panel de control de nvidia por " Maximum Pre-Rendered Frames" y ponerlo similar.

RenderDevice.VSyncEnable 0

RenderDevice.TripleBufferingEnable 1 // solo se usa si el Vsync esta desactivado. Si esta activado hay que cambiarlo al valor 1

Physics.RemoveRagdollWhenWoken 1
PhysicsRender.RenderRagdoll 0
PhysicsRender.RenderWater 0
PhysicsRender.RenderEffectWorld 0

UI.DrawEnable 1

WorldRender.DxDeferredCsPathEnable 0 // evita renderizar el esecenario lejano, pero puede provocar una caida abrupta de fps cuando hacemos zoom a x8 o mas.
WorldRender.MotionBlurEnable 0 // Efecto de esfumado a distancia
WorldRender.SpotLightShadowmapEnable 0 // Shadowmap en las luces estaticas
WorldRender.SpotLightShadowmapResolution 64 // Resolucion del shadowmap
WorldRender.TransparencyShadowmapsEnable 0 // Shadowmap transparente
WorldRender.FxaaEnable 0  // Activador del Anti Aliasing

 

 

 

 

Comandos para grabar cinematicas:

 

UI.drawenable 0  // quita el UI