Lo de Batman Arkham Knight en PC es un desastre may√ļsculo. Esperado, pero un desastre. Tanto que hasta Warner Bros ha tenido que suspender sus ventas en Steam hasta arreglar el problema de rendimiento general. Si ya tienes una copia, hay algunos peque√Īos ajustes que puedes hacer para mejorar sus gr√°ficos. Son estos.

Advertisement

Este art√≠culo est√° escrito por Edu Arana (arananet-net) lector de Gizmodo en Espa√Īol y apasionado del DYI y la retro-inform√°tica. Puedes echar un vistazo a otros de sus fant√°sticos proyectos en su propia p√°gina de Kinja.

A diferencia de la versión de Batman Arkham Knight en PS4, para la versión de PC la gente de Rocksteady parece que ha hecho una configuración general básica a 30fps. Esto es un poco relativo, ya que hay gente que tiene un Gaming PC y gente que tiene un ordenador de sobremesa con 4GB de RAM y una gráfica con 1 GB de RAM (en el mejor de los casos).

Para los que tenemos una Gaming PC, o en mi caso le llamar√≠a una Design PC (dise√Īo 3d, post-pro, etc), la configuraci√≥n que viene por defecto en este videojuego se quedar√≠a m√°s bien escasa, es decir, estamos desaprovechando el potencial, tanto del motor gr√°fico Unreal como de nuestro ordenador.

Advertisement

Mi ordenador se compone de las siguientes características:

  • Asus Rampage Extreme III
  • i7 3.07Ghz
  • 12GB de RAM
  • Tarjeta Gr√°fica: Asus GeForce Strix GTX 970 (en calidad de prestamo) :)
  • Disco duro primario: Corsair GT 60GB
  • Disco duro secundario: Seagate Barracuda 1TB

No est√° a la ‚Äú√ļltima‚ÄĚ (mas bien tiene unos a√Īos, salvo la gr√°fica), pero tiene suficiente capacidad como para ejecutar el videojuego a una resoluci√≥n a d√≠a de hoy m√°s que aceptable.

Advertisement

Existen varios foros y comunidades dedicados al ‚Äútuneo‚ÄĚ de los par√°metros del motor gr√°fico Unreal (en todas sus variantes). La mayor√≠a de los par√°metros, se comparten entre las diferentes versiones del motor gr√°fico. Podemos encontrarnos con variables de configuraci√≥n adicionales definidas por los desarrolladores pero ser√°n m√°s bien puntuales. Por ejemplo, hay variables de configuraci√≥n que existen en el videojuego MassEffect 2 y tambi√©n en Batman Arkham Knight.

En mi caso, lo que hice fue comparar la configuración estándar que viene por defecto en Batman Arkham Knight con algunas configuraciones que hay actualmente en Internet, sobre videojuegos que comparten el mismo motor. Para elaborar este artículo, he utilizado parámetros y valores utilizados en Mass Effect 2, 3 y Bioshock.

Nota: En la siguiente configuración utilizo el DirectX11 en vez de utilizar el que viene por defecto DX9 o DX10 ;)

Advertisement

Lineas a modificar

Por motivos de licenciamiento no está permitido subir el fichero BmSystemSettings.ini ya modificado (por la EULA), por lo que deberéis buscar el fichero de configuración en vuestro equipo. Estos son los pasos:

1) Fichero BmSystemSettings.ini. Este fichero suele encontrarse en la ruta C:\Program Files (x86)\Steam\steamapps\common\Batman Arkham Knight\BMGame\Config

Advertisement

2) Hacer una copia (ctrl+c, ctrl+v) por si hay que regresar a la configuración inicial y editarlo a ser posible con el Notepad++

3) Hay que modificar el fichero en dos fases. La primera fase consiste en a√Īadir nuevos par√°metros de configuraci√≥n que no existen inicialmente en el fichero BmSystemSettings.ini. La segunda fase consiste en modificar los par√°metros existentes en el fichero. Las explicamos en detalle a continuaci√≥n.

3.1) Primera fase:

Primero seleccionaremos el contenido que viene a continuación, lo copiamos, luego en el fichero buscaremos la etiqueta [SystemSettings] que es la primera que aparece, la seleccionamos marcándola con el ratón y pegamos el texto que tenemos en el portapapeles. Hacemos esto porque como podéis observar en esta configuración adicional, tenemos valores al inicio que antes no existían:

[Engine.ISVHacks]
UseMinimalNVIDIADriverShaderOptimization=False

[D3DDrv.D3DRenderDevice]
MaxTranslucencyLayers=4
MaxTextureSize=4096
DisableHWShadowMaps=False
BIOPixelShaderVersion=ps_3_0
BIOVertexShaderVersion=vs_3_0

[SystemSettings]
AllowShadowVolumes=True
bEnableVSMShadows=True
EnableHighPolyChars=True
MaxCharacterCinematicLightingPasses=3
ShadowVolumeLightRadiusThreshold=1000.000000
ModShadowFadeDistanceExponent=0.200000
bDisablePhysXHardwareSupport=False
bSmoothFrameRate=True
MinSmoothedFrameRate=22
MaxSmoothedFrameRate=62
bUseTextureStreaming=True
bUsePostProcessEffects=True
MaxParticleResize=532
UseHighQualityBloom=True
QualityBloom=True
FilmGrain=True
Trilinear=True
Resolution=_1920x1080
BorderlessWindow=True
bEnablePSSMShadows=False
AllowD3D11=True

Advertisement

bUseMaxQualityMode=True

3.2) Segunda fase:

En esta fase modificaremos los valores existentes en el fichero BmSystemSettings.ini por lo que tendremos que ir (lamentablemente) buscando linea a linea la variable y el valor e ir reemplazándolo por los que vienen a continuación.

Advertisement

(Nota: Los par√°metros TEXTUREGROUP_World copiarlos y reemplazarlos directamente).

DecalCullDistanceScale=0.500000
CompositeDynamicLights=False
UseVsync=True
MaxFPS=120.000000
SkeletalMeshLODBias=-1
ParticleLODBias=-1
DetailMode=5
ShadowFilterQualityBias=2
MaxAnisotropy=16
MaxMultiSamples=8
MinShadowResolution=124
MaxShadowResolution=1024
ResX=1920
ResY=1080
ShadowTexelsPerPixel=2.000000
bEnableBranchingPCFShadows=True
TextureResolution=4
ShadowQuality=4
LevelOfDetail=5
DefaultResX=1920
DefaultResY=1080
DefaultAntiAliasing=1
DefaultTextureResolution=4
DefaultShadowQuality=4
DefaultLevelOfDetail=5

TEXTUREGROUP_World=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_WorldNormalMap=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_WorldSpecular=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Character=(MinLODSize=128,MaxLODSize=1024,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_CharacterNormalMap=(MinLODSize=128,MaxLODSize=1024,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_CharacterSpecular=(MinLODSize=128,MaxLODSize=1024,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Weapon=(MinLODSize=128,MaxLODSize=1024,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_WeaponNormalMap=(MinLODSize=128,MaxLODSize=512,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_WeaponSpecular=(MinLODSize=128,MaxLODSize=512,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Vehicle=(MinLODSize=128,MaxLODSize=1024,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_Vehicle_Low=(MinLODSize=128,MaxLODSize=512,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Vehicle_High=(MinLODSize=128,MaxLODSize=2048,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_VehicleNormalMap=(MinLODSize=128,MaxLODSize=2048,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_VehicleSpecular=(MinLODSize=128,MaxLODSize=2048,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Cinematic=(MinLODSize=128,MaxLODSize=2048,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Effects=(MinLODSize=128,MaxLODSize=1024,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_EffectsNotFiltered=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Skybox=(MinLODSize=128,MaxLODSize=1024,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_UI=(MinLODSize=512,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_Lightmap=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Shadowmap=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize=2048,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_MobileFlattened=(MinLODSize=1,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_ProcBuilding_Face=(MinLODSize=256,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_ProcBuilding_LightMap=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_Terrain_Heightmap=(MinLODSize=1,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_Terrain_Weightmap=(MinLODSize=1,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_ImageBasedReflection=(MinLODSize=128,MaxLODSize=128,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_Bokeh=(MinLODSize=128,MaxLODSize=512,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_LOD1_RRM_Mask=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

TEXTUREGROUP_LOD1_Opacity_Mask=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Advertisement

TEXTUREGROUP_LOD1_Emissive=(MinLODSize=128,MaxLODSize=4096,LODBias=4,MinMagFilter=Aniso,MipFilter=Point,MipGenSettings=TMGS_SimpleAverage)

Una vez que actualicemos todos los valores, guardamos los cambios en el fichero y arrancamos el videojuego nuevamente para observar los cambios. (Nota: Estos valores funcionan bien en mi ordenador, en otro ordenador, dependiendo de la configuración del hardware / software puede tener incluso un mejor/peor rendimiento, con más/menos resolución en las texturas o fps.)

En caso de que el videojuego nos os arranque tras haber modificado el fichero, eliminarlo y renombrar el original con el mismo nombre (recordad que en el punto 2 os comenté hacer una copia de seguridad).

Advertisement

Obviamente, sobra decir que es mejor esperar a que Rocksteady libere el parche que soluciona este tipo de incidencias, pero si quieres probar antes, esta es una opción. Es decir, este artículo es solo a efectos meramente educativos y por si quieres intentarlo, pero recuerda... use at your own risk.

Diferencias visuales

¬ŅResultado? A continuaci√≥n pod√©is ver una serie de capturas comparativas donde pueden apreciarse peque√Īas diferencias entre la configuraci√≥n original y la indicada en √©ste art√≠culo. No s√© si se lograr√°n ver las diferencias (Kinja formatea las im√°genes), pero puedes darle a la lupa de ampliar en la esquina superior izquierda y ver, por ejemplo, las diferencias marcadas en los c√≠rculos rojos. No es espectacular, pero algo es algo.

Advertisement

Advertisement

***

Psst! también puedes seguirnos en Twitter, Facebook o Google+ :)