Make Conan run better! Stuttering, Ram, Hard-drive, Vid Card, TIPS
Conan can be a pain to run on your system here I like to look into issues you can run into that spoil your frame rate and playing fun and what you may do about them. This is not your basic windows running issues but I looking into the hardware related and how conan make use of your hardware! With tips how to make it run better.
Q:What is it ? Well if you enter the thirsty dog first time and you're screen is shaking as hell and you get 1 frame per X seconds instead of X fps (AKA the slideshow effect) that's the stuttering effect we're talking about =P
Q:Why does it happen and why does it still happen even though I have teh strongest bleeding edge new computer in the world ?
To generate the possibly insane good looking graphics the game uses objects called "shaders". Shaders are small programs that alter pixels or vertices. Consequently, there are two major types of shader - pixel shaders and vertex shaders. These tiny programs add effects to basic geometry - so a water-styled shader can be added to a flat blue texture to make it look reflective, or a glass-styled shader can be added to a polygon to make it appear transparent. These shaders are the key to what makes the graphics in games today look so much better than the graphics in games from let's say 5-8 years ago. These shaders are programmable, so games developers can make their own, allowing them to create a unique look and feel for their game and that is what Funcom has done. Now the problem is that some of these shaders in many area's in the game are not known yet known to your betaclient so when that happens the game uses the graphic card's onboard processing unit (the GPU) to compile (sort of calculate) the shader results and then displays them. The time of compilation is what gives the feeling of insane stuttering which is super annoying.
Q: now we know the problem, how does Funcom handle it ?
Funcom thought of this when developing AOC. Their solution was and still is to simply have your computer hold the results of every compilation in memory -so that this stuttering would be a one-time thing as long- as you are standing in that 1 small space or area (let's say the area of thirsty dog inn). When you log off and exit AOC, the AOC client is supposed to write down those results from memory into a file on your harddisk so that all compilation results don't have to be done all over again next time. Upon a clean client exit (which never happens because AOC crashes all the time currently and therefore loses it's compiled shaders) it saves all these changes into a file in the general beta folder and that file is called "shader.cache.local"
As the result is calculated it's kept into memory as long as it's needed which means that if you leave the area to go and find new "previously unknown shaders" your current ones will be lost from memory and replaced by new ones which means you'll have the stuttering again. Also, after every crash you lost your compilations before your computer had the chance to write them down so you'll have the same stuttering upon next logon...
Q:So what's the magic trick then to get rid of the stuttering ?
Basically whenever your computer has compiled new shaders you want to immediately save those results to disk so your computer gets them from there next time instead of having to do it all over. That way you'll have no or almost no stuttering since it's much faster reading out the results than recompiling them. There's a button in the game that you can press to instantly save the current results of a shader compilation into the shader.cache.local file (you will actually see it grow in size when you do) and you want to do this RIGHT AFTER YOU FORCED/EXPERIENCED SOME STUTTERING because of new shaders being compiled.
Q:so where's that magic button ?
When you are in game, first open the debugging menu:
ctrl + ù for french keyboards
ctrl + \ for UK\US keyboards.
strg + ö for german keyboards.
Then press "dump shaders" because that is the magic button to save the results.
Q:What's the best way to test or use it ? You do it like this:
1. Upon feeling horrible graphics stuttering, stop running and start looking around 360°, move a bit back and forth and explore the very smalll area around your feet a bit until all stuttering stops and everything is fluent (this is when the computer has finished compiling the shaders of that area and has the results freshly in memory)
2. open the debug menu and press "dump shaders" to save the results to the file on your harddrive. You're safe now for next time you come across this small area
3. keep on repeating this everytime you experience stuttering in new area's
4. Check the size of your cache file before and after pressing the dump shaders button. If there's compilation data generated, it will grow. It can't hurt pressing it often.
Q:hey I tried it and it's indeed 5-10 times faster but when I restart AOC, it's not immediately ultrafluent. There still is some kind of mini-stuttering for like 1 sec or less everytime I first visit a previously saved area after starting the game. Is this normal ?
Yes this is normal, in fact this is as good as it gets. The client no longer needs to do all calculations but gets them from the precompiled results in your shader.cache.local file instead which is waaaay faster. Still it has to get them so it's normal to generate a small load, but nothing like what you experienced before so be happy and enjoy
Q:why doesn't Funcom provide us with a shader.cache.local file that contains ALL the shaders in-game so everything's smooth from the start ?
That is in fact their plan but it's not that easy: different cards and chipsets compile to different results so it's hard to make 1 file that has everything compiled for ALL videocards in the world. However, Funcom does plan to include shader.cache.local files with precompiled shaders for most known cards at around releasetime probably. In the meantime help yourself and make your own so you can play without stuttering !
Note: remember to backup that cache file regularly. If you reinstall the game or if a patch destroys it, you will want to copy your backed up version back to your gamedir to avoid going through all stuttering again
The amount of memory installed in your computer is absolutely critical to running this game smooth. The game itself has been developped as a 32-bit executable with LA (large address awareness) enabled. What does this mean? 32-bit executables are by design restricted to 2GB per running process on a 32bit OS. (ageofconan32.exe = 1 process = the whole game) As you zone to the inn or other zones, the executable size in memory will try to cache all this information (= keep it loaded in memory in the form of ageofconan32.exe growing in memory usage size) to give you a smoother gaming experience. I have noticed that the "working set" of the executable grows to as large as 2.6GB (since latest checkup), this is how much of your physically present RAM is being used by the game. If you don't have that amount of free ram BEFORE starting up the game, your game will slow down after zoning enough times and slow down even further over time until you restart it to make the game use less memory again. For this reason you need under XP at least 2.5GB in your computer to run this game smooth and under Vista at least 3GB. Aside from the physical usage there's also the virtual size (the actual size of the process) which I have seen to grow as large as about 2.9GB after zoning alot. It used to be up to 3.5GB in beta clients before 14april but that is gone.
note: on a default 32-bit windows XP or Vista for that matter, no processes are allowed to grow over 2GB even though the maximum limit of a 32-bit process is 4GB per process. The game will simply crash when it reaches that size unless you make modifications. (you may be experiencing this right now). If and let me stress that only IF you have 3GB or more (4GB preferably) you can configure your Vista or windows XP installation to allow processes to grow over 2GB (at the cost of decreasing your OS's reserved kernel mem however...) so they no longer crash but instead run smoother. This change may be better OR worse for you. On page 4 (post 73) I explain how and why. Do this at your own risk and NEVER if you don't have 4GB of memory in your computer installed. Windows XP 64-bit and Vista 64-bit are by default enabled to allow up to 4GB for any 32-bit process do this so they do not require changes and your executable will not crash when it reaches 2GB on such an OS. Just make sure you have 3GB or more in your computer
note: 4GB is the ideal amount needed to run this smooth along with whatever other stuff you run on your OS (services, background apps, the OS memory itself) Vista will even use the extra memory to help cache other stuff. I have 8 and beyond 4GB you do not notice much more improvement in speed and smoothness so 8GB is NOT necessary for running ONLY this game while having all other apps closed. However having 8GB will help cache other stuff under Vista as well as allow you to simultaneously run a bunch of other windows programs. This is luxury however, not a must have. 3GB is must have minimum for smooth AOC gaming and 2GB means running the game at decreased performance. This is inevitable
note: the speed of the memory is completely trivial when compared to the actual amount of memory.Having e.g 1066 Mhz mem instead of 667Mhz will only yield a 1-3% memory read speed increase which you don't even feel or notice at all ingame
note: although increasing your RAM from 2GB to 3GB is in essence not a direct increase in fps but instead makes the game play and loading/zoning feel alot smoother, it should be noted however that if you lack alot of RAM your FPS will be affected through stuttering etc. Running the game with 1GB e.g will give such problematic play (enough to feel 'unplayable' Having 2GB is therefore a bare minimum for running at all while 3GB is the minimum for running smooth. 4GB is a good standard. More memory with Vista 64 gives you better HD access caching
note: Any 32-bit executable is by design limited to a max of 4GB physical memory usage and a non-modified 32-bit OS further limits it down to 2GB. If the 32-bit executable is marked for "largeaddressaware" (= allowed to grow to 4GB instead of 2G and the 32-bit operating system is set to allow largeaddressaware-processes to grow to 3GB instead of 2GB in mem size, then the executable can grow a bit bigger up to 3GB at a cost. (this is the reason in the first place while all 32-bit OS's further limit down all 32-bit processes to use a maximum of 2GB: because the OS itself can only address 4GB in total and wants to reserve 2GB for it's own (=kernel) operations and play it thus safe) For this reason the ideal situation is to have 6GB or more mem in your computer and have Vista 64-bit as OS. It safely has 2GB for itself and still 4GB free to let the 32-bit executable grow to it's maximum so the game feels like one big smooth train
Important and severly underestimated. This component does not increase your fps in any way (at least not to a noticeable degree) but DOES effect exclusively ALL ZONING experiences which is pretty much from launching the game to going in and out of zones nonstop (in tortage e.g) The sky is the limit here since the game dir is over 24GB as it is today and parts of that are being loaded into memory as you zone. I have tested the game while running it off a latest generation 7200RPM harddrive (samsung 400G and later on a RAID 0 of two WD Raptor 10000RPM disks. My god the difference is day and night. With the single 7200RPM disk the loading screens take double the time and I can listen to up to an entire song while zoning into the game. On the raid system I could only hear the part of the women with the high voice and I never hear the rest of that song because I'm already ingame. This feels so good. If I had the money I would buy a 32GB HyperOS hyperdrive to run the game on because it would be blazing fast then no doubt. I can only imagine how good that must feel but I'm already very happy with the raid0 system. Adding more than 2 drives to the raid0 made a further improvement in loading times but only marginal like 10% (not worth it imho) For smooth experience ofc you have no data or anything else running off your game disk or raid system except the game and maybe the OS (preferably even only the game itself and nothing else)
Critical impact!! This game uses pretty advanced graphics that are at or a bit ahead of it's time. This allows for a visually stunning game under ideal circumstances with future hardware. I have been able to run at 1900*1200 at high graphic settings in a quite smooth way using the 8800GT. A retest with 2 of those in SLI showed that sli does not make any difference in the current game client. Recommended however is a latest gen of graph card for smooth play (nvidia 8800series or ati 3XXX series and up) The graphics card therefore is well worth your money for this game, more than buying the latest processor in any case. The raw clock speed is what makes or breaks fps currently. SLI does NOT work currently! Hope they will fix it soon so I can update this section. The game uses huge textures. Upon measuring videocard memory usage I noticed that outdoors 512MB is saturated all the time on resolutions 1600*1200 and up. Get 768 or more memory on the card if you can.
note: not all graphic cards appear to be "well compatible" with AOC. For example the latest badass 9800x2 series are known to give you trouble and low performance in many cases most probably due to bad driver support. all 8800series are rocksolid choices for this game as long as they have 512MB ram on them as an absolute minimum. Don't use a card with less memory !! All latest gen ATI cards such as 29XX and 3XXX series appear to be doing well
Again the Best card to run Age of Conan is by far the GeForce 8600GT 512Mb it will run the game with out any problem on full res (if your cpu allow it) and you can enjoy the full graphics and lighting effects!
1. Turn off "bloom" in advanced graphics options and set shadows to "from characters only". This may almost double your fps if it was enabled before
2. (optionally) turn off AA (4-25 fps gain on average). AntiAliasing= a GPU hungry technique to improve the visual quality of a game even further
3. Run the game off a seperate fast disk or raid system (where you only install the game and put no other data or programs) This noticeably helps the loading times during zoning and launching the game
4. close all other running programs and antivirus before playing AOC and defragment at least twice a week. Use simpleconfig.exe in your gamedir to perform a compression while you sleep (takes ages!)
5. Run the game fullscreen!
7. Backup your gamedir before and after every patch
8. Defrag after each update.
(Special thanks to Hugh and Terrapin)