Far Cry 3 - Graphical Tweaks & Problem Solving

Discussion in 'Games, Gaming & Game-demos' started by NeoEnigma, Dec 3, 2012.

  1. NeoEnigma

    NeoEnigma Master Guru

    Messages:
    631
    Likes Received:
    0
    GPU:
    ---
    Far Cry 3 - Mods, Graphical Tweaks & Problem Solving

    Hey,

    So the main Far Cry 3 thread is getting big. There's another thread for SLI fixes. It can be difficult to go back and find the exact post you want. So I want to keep all of the best\important tweaks in 1 post. I'll keep this updated with anything you think is worthy of being posted here. I suck at formatting posts but I'll do my best to keep this clean and useful looking. I'll add a few to start.

    SLI scaling fix for DX11 (source)
    SLI bits to fix the decal issue (source)
    Example GamerProfile.xml config (source)

    Location: Documents\My Games\Far Cry 3\
    Code:
    <GamerProfile>
    	<SoundProfile MusicEnabled="1" MasterVolume="100" MicEnabled="0" IncomingVoiceEnabled="0" Language="english" />
    	<RenderProfile MSAALevel="2" AlphaToCoverage="2" SSAOLevel="6" SDSM="0" ResolutionX="1920" ResolutionY="1200" Quality="custom" QualityEditor="editor_ps3" Fullscreen="1" Borderless="0" UseD3D11="1" D3D11MultithreadedRendering="1" WidescreenLetterbox="0" UseWidescreenFOV="1" FOVScaleFactor="1.095" EnableSubResolution="0" SubResolutionX="1920" SubResolutionY="1200" VSync="0" RefreshRate="0" DisableMip0Loading="0" GPUMaxBufferedFrames="1" ShowFPS="0" Brightness="1" Contrast="1" GammaRamp="1" AllowAsynchShaderLoading="1" Bloom="1" MaxFPS="120">
    		<CustomQuality>
    			<quality ResolutionX="1920" ResolutionY="1200" EnvironmentQuality="high" AntiPortalQuality="default" PortalQuality="high" PostFxQuality="ultrahigh" TextureQuality="high" TextureResolutionQuality="high" WaterQuality="veryhigh" DepthPassQuality="high" VegetationQuality="veryhigh" TerrainQuality="high" GeometryQuality="ultrahigh" AmbientQuality="high" DeferredAmbientQuality="high" ShadowQuality="ultrahigh" EditorQuality="" Hdr="1" HdrFP32="1" ReflectionHdr="1" EnableVertexBinding="1" id="custom" />
    		</CustomQuality>
    		<Environment>
    			<quality RainNumSplashesPerSecond="60" id="high" />
    		</Environment>
    		<Post>
    			<quality GameDepthOfField="1" CinematicDepthOfField="1" MotionBlur="1" SSAO="1" FXAALevel="0" CloudShadows="1" SSAOMaxDistance="200" id="ultrahigh" />
    		</Post>
    		<Water>
    			<quality WaterRefraction="1" OceanShoreEffect="1" ReflectionTextureSizeX="1024" ReflectionTextureSizeY="1024" ProtoDisplacement="1" OceanRealReflection="1" NumWaterReflectionPlanes="4" id="veryhigh" />
    		</Water>
    		<Vegetation>
    			<quality UseRealTreeHD="1" UsePixelLeafNormals="1" id="veryhigh" />
    		</Vegetation>
    		<Terrain>
    			<quality TerrainLodScale="0.5" TerrainDetailViewDistance="1024" TerrainDetailBlendViewDistance="128" id="high" />
    		</Terrain>
    		<Geometry>
    			<quality KillLodScale="0.5" LodScale="0.5" RealTreesLodScale="0.5" RealTreesVistaMinViewDistanceScale="0.5" ClustersLodScale="0.5" TerrainLodScale="0.5" MaxDecalCount="400" MaxDecalCountPerType="50" id="ultrahigh" />
    		</Geometry>
    		<Ambient>
    			<quality ShadowMapSize="1024" SectorTextureSize="128" id="high" />
    		</Ambient>
    		<Shadow>
    			<quality ShadowMapSize="2048" CascadedShadowMapSize="2048" RainShadowMapSize="1024" SoftShadows="1" EnablePCSS="1" DisableShadow="0" DisableShadowGeneration="0" DisableShadowGenTerrain="0" SpotsCastShadows="1" id="ultrahigh" />
    		</Shadow>
    		<DeferredShadows>
    			<quality EnableDeferredShadows="1" id="pc" />
    		</DeferredShadows>
    	</RenderProfile>
    	<NetworkProfile VoiceChatEnabled="0" CustomMapMaxUploadRateInBitsOnline="10240000" OnlineEnginePort="9000" OnlineServicePort="9001" FileTransferHostPort="9002" FileTransferClientPort="9003" LanHostBroadcastPort="9004" LanClientBroadcastPort="9005" ScanFreePorts="1" ScanPortRange="1000" ScanPortStart="9000" SessionProvider="" MaxUploadInbpsOnline="10240000">
    		<Accounts />
    	</NetworkProfile>
    	<GameProfile TimeScale = "0.1" />
    	<ProfileSpecificGameProfile Sensitivity="1" Invert_x="0" Invert_y="0" DefaultFlickFireDirection_y="0" UseMouseSmooth="0" Smoothness="0.2" Smoothness_Ironsight="0.2" HelpCrosshair="1" Gamepad_vibration="0" UseRoadSignHilight="1" UseSubtitles="1" TaggingEnabled="1" UseAmbx="0" UseGamePad="0" GamepadAnswered="0" Autosave="1" Machete="0" IronsightToggleMode="0">
    		<FireConfig QualitySetting="VeryHigh" />
    	</ProfileSpecificGameProfile>
    	<RealTreeProfile Quality="VeryHigh" />
    	<EngineProfile>
    		<PhysicConfig QualitySetting="VeryHigh" />
    		<QcConfig GatherFPS="1" GatherAICnt="1" GatherDialogs="0" IsQcTester="0" />
    		<InputConfig />
    		<ZoneConfig />
    	</EngineProfile>
    	<UplayProfile LockString="*REMOVED*" />
    </GamerProfile>

    List of all possible GamerProfile.xml tweaks w/in-game quality settings (source)

    In-Game Screenshot Function (source)
    Press "Print Screen" on your keyboard. It will save HUD-free screenshots in "Documents/my Games/Far Cry 3/Screenshots"

    How to completely remove the HUD (source)
    (You'll have to undo this to get the HUD back)

    Tools to create mods (unpack\repack tools)
    Gun Sights Mod
    -------------------

    If you think something should definitely be added here, let me know. If it's from another forum, please post the source :)
     
    Last edited: Dec 5, 2012
  2. Wanny

    Wanny Guest

    There should be more threads like this. One thread for gameplay discussion and one thread for technical tweaks only.

    Like on NeoGAF :
    Far cry 3 OT
    Far Cry 3 PC Performance thread
     
  3. Veteran

    Veteran Ancient Guru

    Messages:
    12,094
    Likes Received:
    21
    GPU:
    2xTitan XM@1590Mhz-CH20
    Its ok posting the XML but most people will look at that and say "What the hell is that".

    You need to provide a standard configuration or make the tweaks in "bold" so people can see what to change.

    I always make things as easy as possible for the reader so they can come and have alook and say "Yeah i understand thats easy to do thanks".
     
    Last edited: Dec 3, 2012
  4. JonasBeckman

    JonasBeckman Ancient Guru

    Messages:
    17,564
    Likes Received:
    2,961
    GPU:
    XFX 7900XTX M'310
    The GamerProfile.xml file I posted was mostly just a example, I'm no good with guides and explanations though so usually I just provide examples based on my own configurations.

    Also now that the unpacker utility is advanced enough to also repack files it's even possible to go even further and modify much more of the game (There's a lot of lua and xml files, textures are console .XBT though that while similar to .DDS are a bit more difficult to work with.) for example I tried it this morning with disabling the logo videos and it worked quite well but the program is still a work in progress so not every file is known yet and one has to use their patch archive to get custom content loaded, it won't read just any .dat/.fat file combination so it has some limitations.
    (Not quite unlike the modding of games such as Saints Row 3 with using a existing archive for storing modded files.)

    There aren't all that many tweaks in the GamerProfile.xml file either come to think of it, mostly I just copied the interesting bits from the default file into it even if the commands are not modified in any way.

    For <RenderProfile I first experimented with the existing values, particularly SDSM="0" but it's not working properly or rather the game engine slows down (Even in the main menu without the rest of the game loaded.) so I had to give up on that.
    ( https://www.google.co.uk/#hl=en&tbo...15624989281492&bpcl=39314241&biw=1539&bih=853 )

    Then I tried adding custom commands and that took a while to figure out but thanks to the unpacker I noticed that everything was divided into sections and by testing something simple such as disabling depth of field it was fairly easy to copy and paste together a working result. :)

    I still don't know what every single setting does though, mostly I only know the really obvious ones. :p

    Anyway what else is there to mention.

    D3D11MultithreadedRendering="0" I tampered with this a bit but as was said in earlier previews like the PCGamesHardware.de testing it does cause some stability issues, I mostly got the game crashing when using the inventory menu often and there wasn't much of a performance improvement either, AMD and Nvidia both support this but in different ways as far as I've understood it which might also have something to do with it although I also guess it's CPU dependent, I have a fairly strong CPU and it's also clocked a tad higher so there isn't much to offload.

    EnableSubResolution="0" SubResolutionX="1920" SubResolutionY="1200" This could be enabled to force a different game resolution independent of screen resolution chosen if enabled, however it skewed the FoV pretty badly so trying to achieve a form of downsampling or supersampling this way didn't work.
    (Can also set the base resolution to a higher value directly but I don't think it works at all even if the config file and game accepts those new values.)

    Bloom="1"
    MaxFPS="120"

    Bloom was added as a default just so it would be easier to toggle it on and off, game also uses HDR but this makes it even more vibrant, some dislike the effect though.

    The FPS command was added because the main menu ran at ~1000+ frames per second at times so I toned it down to a more useful value, default was 9999 but 120 - 200 should be enough depending on if VSync is used and the monitor refresh rate, or so I guess at least.

    AntiPortalQuality="default"
    PortalQuality="high"

    AntiPortal only had a "default" preset so changing it to low, medium, high, veryhigh or ultrahigh was pointless so I reverted this back to default.

    I can't find much about portal quality but I think it has the same value for either low, medium or high though I changed it from medium to high anyway. :D

    HdrFP32="1"

    This should make the game switch from 16-bit floating point to 32-bit thus increasing quality, I don't know much about it but it's featured in ArmA 2 where it goes from 2 to 64 from what I remember but most games use a value of 16 though again I don't know much about it, there is some performance penalty for this as well.

    <Environment>
    <quality RainNumSplashesPerSecond="60" id="high" />
    </Environment>

    I don't know why I added this, default is 30 and it seems more than enough, I guess I just doubled it in the process of going through the config file.

    <Shaders>
    <shader name="CloudLayer" add="CLOUD_QUALITY_ULTRAHIGH" remove="" id="high" />
    </Shaders>

    This should have been part of the environment preset but I had to separate it, there is no "_high" value however but the Dunia 2 .dll file had a UltraHigh preset defined so I change it.
    (By default low used a value of just low with medium and high both using the medium setting, I am unsure if this works as I separated the command in a different section but the xml accepts it though now with being able to re-pack files I can alter it properly.)

    <Post>
    <quality GameDepthOfField="1" CinematicDepthOfField="1" MotionBlur="1" SSAO="1" FXAALevel="0" CloudShadows="1" SSAOMaxDistance="200" id="ultrahigh" />
    </Post>

    One of the main additions to the config file, this separates the post processing from just a low, medium, high, veryhigh and ultra high presets and makes the settings more separate so it's possible to disable individual effects.

    The difference between very high and ultra high is that FXAA is given a value of 2 (higher quality?) instead of 1 (It's always enabled, even on low.) and cloud shadows is on, maybe that's why it causes such a large performance hit.
    (The high setting cuts down SSAO distance.)

    What I modified was to double the SSAO distance (100 is probably enough but it can be increased higher.) and I disabled FXAA entirely for a more clear image since I already use alpha to coverage at it's highest (foliage and stuff.) along with MSAA, only at 2x as I usually have it but it's enough.
    (SMAA was planned but it's not quite functional under DX11 unfortunately.)
     

  5. NeoEnigma

    NeoEnigma Master Guru

    Messages:
    631
    Likes Received:
    0
    GPU:
    ---
    I provided Jonas' config (the most up-to-date one I could find). It was enough for me to copy it and paste it into my own file and change things as I saw fit. The huge XML file is a little intimidating and not a lot of it is really useful but anyone who's going to muck around in their GamerProfile.xml file can probably figure out what's going on in there.

    That post was something I kept trying to find over and over again so I figured I'd throw it into the first post in this thread. If someone wants to post a detailed explanation as to how that file works and what changes do that, I'll gladly link to that as well.

    And as I posted this, you were already on top of it. Nice. Looking forward to more tweaks you discover. If you can figure out how to disable the HUD, I'll donate to any paypal account you see fit ;)
     
    Last edited: Dec 3, 2012
  6. JonasBeckman

    JonasBeckman Ancient Guru

    Messages:
    17,564
    Likes Received:
    2,961
    GPU:
    XFX 7900XTX M'310
    <Water>
    <quality WaterRefraction="1" OceanShoreEffect="1" ReflectionTextureSizeX="1024" ReflectionTextureSizeY="1024" ProtoDisplacement="1" OceanRealReflection="1" NumWaterReflectionPlanes="4" id="veryhigh" />
    </Water>

    Here I just added the default commands, there are a few others and the shader code is modified a bit with each preset as well such as the higher presets using high quality normal map effects.

    I saw no need with increasing reflection resolution further though I added a double on the number of planes it uses albeit it's probably barely noticeable.

    very high adds that ocean shore effect though both high and v.high use real reflections. (Well sort-of, landscape is often reflected as very basic without any vegetation but the trees and it also only shows basic textures.)

    (Shame there aren't any nice waves like with Crysis, would have been a nice extra.)

    <Vegetation>
    <quality UseRealTreeHD="1" UsePixelLeafNormals="1" id="veryhigh" />
    </Vegetation>

    Not much here, most of the changes from the presets are done via shader tweaks such as excluding certain effects for the lower settings.

    From high to very high RealTreeHD is used as is PixelLeafNormals both of which I am a bit unsure how they work but I guess the first one adds more detail or definition to trees (Physics and such maybe but those seem stored in a separate file.) and the second might be per pixel instead of per vertex for whatever effect it's used.

    <Terrain>
    <quality TerrainLodScale="0.1" TerrainDetailViewDistance="1024" TerrainDetailBlendViewDistance="128" id="high" />
    </Terrain>

    This was mostly just doubling the values of detail distance and blend distance but I pushed the LOD a bit further, higher means less detail and things are only rendered very close to the player whereas 0.0 would disable the LOD system sort-of (Not entirely, just would be as far out as the game engine allows or some such, 0.1 can be used but it can cause a bit more noticeable fade-in which is that pixelated distortion when a model comes into view if you see it while it's being loaded, I only really see it during exiting the door from a fast travel HQ to the game world and even then it's very brief.)

    <Geometry>
    <quality KillLodScale="0.1" LodScale="0.1" RealTreesLodScale="0.1" RealTreesVistaMinViewDistanceScale="0.1" ClustersLodScale="1.0" TerrainLodScale="1.0" MaxDecalCount="400" MaxDecalCountPerType="50" id="ultrahigh" />
    </Geometry>

    Also has some shader differences such as using parallax on roads on the higher presets, other than that I again tweaked down the LOD detail as much as I could although I had to revert cluster and terrain scale here as all presets used 1.0, lower causes various game issues such as disappearing landscape or objects being removed as you get close to them so they had to be left as is.

    Doubled decals as well albeit it's pretty difficult to notice as they don't show up much, only on occasion on human targets albeit they're somewhat more frequent on animals.
    (The large splash decal and knife streak are even less frequent.)

    <Ambient>
    <quality ShadowMapSize="1024" SectorTextureSize="128" id="high" />
    </Ambient>

    This was just doubling these, I am unsure if this means the static world shadows or what it could be for, there's a number of commands related to shadow resolution.
    (I had hoped the second command would have cleared up some of the basic terrain texture such as seen on mountains but it doesn't seem to have done much.)

    <Shadow>
    <quality ShadowMapSize="2048" CascadedShadowMapSize="2048" RainShadowMapSize="1024" SoftShadows="1" EnablePCSS="1" DisableShadow="0" DisableShadowGeneration="0" DisableShadowGenTerrain="0" SpotsCastShadows="1" id="ultrahigh" />
    </Shadow>

    These are nearly all left as default but added so they could be easily toggled and changed as is, I only doubled the rain shadow resolution a bit though I guess it's kinda difficult to see.

    <DeferredShadows>
    <quality EnableDeferredShadows="0" id="pc" />
    </DeferredShadows>

    I enabled this initially but the presets show it's only used on PS3 and from what I've read the shadows are pretty bad on that platform so I disabled it again, seems it can cause some dithering or some such as well and I guess it's just for getting more performance if enabled.


    That should explain it a bit better, still not very thorough but it's something. :)


    EDIT: The default file was provided mostly so people wouldn't have to unpack the game archives to get that info, it has all commands and where to use them and which presets use what, very handy but there's a lot of data though you only really need the preset for the quality you use. :D
    (And I got most of the basic commands added to the GamerProfile.xml now although there are many more commands that could be added as well but this covers the basics and most of what people want to do such as disabling bloom or depth of field, tweaking LOD somewhat and so on, still very basic but at least the game can be tweaked should so be desired.)

    (It wasn't easy though and if not for Rick / Gibbed and his work with a archive unpacker I wouldn't have gotten anything done, someone else would probably have figured it out though.)

    Also the config file likes to save itself while playing so I had to put it as read only, it also resets if a command is added incorrectly so it was pretty easy to test what worked and what didn't though keeping the file write protected is a bit cumbersome but I've more or less finalized the results.

    Guess we'll see what the next patch does, for Far Cry 2 nearly all console commands were disabled and advanced tweaking got very difficult due to that but there were some command line parameters that worked, here though Orbit or the UPlay client to call it that does interfere with adding these although I've tried but it doesn't work. :)
     
    Last edited: Dec 3, 2012
  7. Alpin_fresh

    Alpin_fresh Active Member

    Messages:
    57
    Likes Received:
    0
    GPU:
    GTX 980 Gigabyte G1
    Any fix for (massive) stuttering when using Crossfire ? Have to play with single 7970 for now, using both last official and betadriver and latest CAP's.

    Thanks
     
  8. NeoEnigma

    NeoEnigma Master Guru

    Messages:
    631
    Likes Received:
    0
    GPU:
    ---
    You can poke around in this thread and see if anything helps.

    I think I signed up for that forum like a year ago and they never activated my account.
     
  9. Wanny

    Wanny Guest

    Don't worry I'm currently banned for one month for saying Gaylo instead of Halo...
     
  10. Mr.Bigtime

    Mr.Bigtime Ancient Guru

    Messages:
    20,791
    Likes Received:
    11
    GPU:
    4090 on Laptop
    this page confuses me. isnt here a tool for easily doing these?
     

  11. NeoEnigma

    NeoEnigma Master Guru

    Messages:
    631
    Likes Received:
    0
    GPU:
    ---
    Wha? This "page" is just to link to all of the most useful\important posts that get lost in the massive threads for this game. Having them all in 1 post = easier to find.

    If someone discovers a way to remove the HUD, I'll add that here. If someone finds a way to make SweetFX work in DX11, I'll add that here and PAY THAT PERSON A MILLION DOLLARS.
     
  12. Mr.Bigtime

    Mr.Bigtime Ancient Guru

    Messages:
    20,791
    Likes Received:
    11
    GPU:
    4090 on Laptop
    ofcoure this is a good topic.

    my issue is what Jonas types..many stuff.. :( i cant even understand which one is which :(

    i will wait for a proper TOOL. thanx to u all..
     
  13. NeoEnigma

    NeoEnigma Master Guru

    Messages:
    631
    Likes Received:
    0
    GPU:
    ---
    He's going through the GamerProfile.xml file section by section, and explaining why he added those tweaks. You can choose to add them or not. I don't see what's confusing about it.

    Someone will most likely make an interface for editing it, though.
     
  14. JonasBeckman

    JonasBeckman Ancient Guru

    Messages:
    17,564
    Likes Received:
    2,961
    GPU:
    XFX 7900XTX M'310
    The GeForce tweak guide will probably be quite good when it's finished, unsure about tweak programs but we'll see, maybe someone will create some tool like that. :)
    (Happened for other games with lots of adjustable options.)
     
  15. MikeMK

    MikeMK Ancient Guru

    Messages:
    11,106
    Likes Received:
    108
    GPU:
    Nvidia RTX 4090
    Download and run d3doverrider and enable triple buffering - fixed it for me
     

  16. DrBoss

    DrBoss Guest

    Messages:
    40
    Likes Received:
    0
    GPU:
    SLI MSI 670 Power Edition
    classic

    i'm also awaiting mod acceptance on neo... and have been for months. i don't understand wtf the issue is.
     
    Last edited: Dec 3, 2012
  17. Veteran

    Veteran Ancient Guru

    Messages:
    12,094
    Likes Received:
    21
    GPU:
    2xTitan XM@1590Mhz-CH20
    This is exactly my point that i said in earlier post.
     
  18. Cubemonkey

    Cubemonkey Member Guru

    Messages:
    179
    Likes Received:
    0
    GPU:
    Crossfire 7970s
    Wait, are there CF issues with this game? Days ago I checked my application profiles to look for the FC3 one, which I found. How could there be issues?
     
  19. S.T.A.R.A.C.

    S.T.A.R.A.C. Master Guru

    Messages:
    874
    Likes Received:
    309
    GPU:
    HD 7970 3GB WindForce
    Anyone knows how to disable head-bobbing?
     
  20. deceptionist

    deceptionist New Member

    Messages:
    7
    Likes Received:
    0
    GPU:
    2x GTX 780 Lightning SLI
    Thanks for the settings but none of this works for me tried everything. The latest nvidia sli update already has the exe added and the sli bit changed and still nothing. 2 gtx 680's and the framerate is a mess. The usage is like 50% each gpu and the clocks randomly jump up and down. The screen is all jumpy and not smooth at all.
     

Share This Page