Technical problems or help regarding the mod.
User avatar
User

Sizer

Rank

Developer

Posts

954

Joined

08 Sep 2010, 23:56

Location

Oakland, California, USA

Performance and Troubleshooting Guide

by Sizer » 15 Apr 2014, 23:44

Configuration Tweaking

fw_tow_settings.ini is a file that controls the special preferences for Freeworlds: Tides of War. As the launcher is incremented upon, more of this will be tweaked through the launcher. But for those that want to/need to debug manually, here's a little documentation to help.

If you edit fw_tow_settings.ini manually, make sure the launcher is closed. Otherwise, your changes will be overwritten!

debuglevel - changes the performance overlay. 1 = fps and cpu usage, 2 = advanced readouts
console - activates the in game debug console. For developer use, do not attempt to use unless told. 1 = on
target_fps - framerate number at which dynamic light culling kicks in if active. use this if you have problems in large fights

bloom - pretty self explainatory, 1 = bloom on, 0 = bloom off. Bloom is pretty lightweight, so in testing, it's not much to worry about.
colorcorr - Applies color correction to the entire screen. Few systems currently make use of this, so it's quite safe to turn off. Very light impact.
normalmapping - Controls the use of normal maps, which increase surface detail and lighting detail. Significant video memory usage, deactivate if you get crashes on launch.
specularmapping - Controls the use of specular maps, which determine objects' shininess. Significant video memory usage, deactivate if you get crashes on launch.
fixmouselag - Fixes a mouse lag issue introduced by widescreen formats. If you get mouse issues or some odd and constant lag, try switching this off.
anisotropy - Anisotropic Filtering, up to 16x. Quite heavy, try keeping it to 2x or 4x unless you think you can handle it.
FXAA - Fast Approximate Antialiasing. Lightweight antialias filter (removes "jaggies"), shouldn't cause performance issues.
reflection - Enables reflection mapping. Light performance impact.
dynamic_lights - Controls dynamic weapon/explosion lights. Light performance impact in normal play, moderate impact in heavy combat. Play with the control values first before turning off outright.
light_ratio- Higher ratio means more lights are drawn.
light_min_range - A value greater than zero will stop small lights from being drawn, with the value controlling the cutoff radius.
target_fps- Same as target_fps above.
distortion - Controls distortion maps, which cause a "heat haze" effect on certain weapons and explosions. Moderate performance impact.
shadow_map_size- Controls render size of shadow maps. This is the biggest problem cards have, as sometimes the render resolution is too much for them. Reduce to test. 512 is the minimum, 1024 is medium, 2048 is high, 4096 is extreme.
shadow_cascade_count - Controls the number of passes being done for shadow maps. High values are extremely taxing and WILL tank your FPS. 5 is high, 4 is medium, 3 is low, 2 and 1 should only be used if you have massive issues.
shadow_max_range - Range below which objects cast shadows; Lower with size and cascade count choice (for instance, with a range of 30000 anything more than 3 cascades is a bit wasteful).
shadow_antialias - Controls shadow antialiasing. Unless this causes massive problems, leave at 1 at least.
shadow_softening - Softens shadows. Light performance impact.
shadow_raycast_planets - Turning off disables shadows for planets entirely. Moderate to high performance impact, very dependent on the age of the GPU. Turn off if your graphics card is older and you get FPS drops in planet-heavy systems.
shadow_asteroids - Asteroids cast shadows. High performance impact, turn off early.
cube_size - resolution of the starsphere. Little performance impact but massive video memory usage and significant cause of crashes. Downsize to 1024, 512 or 256 if you get a crash on launch from a base.
dark_stars - Darkens starsphere for the purists among us.
light_equip - Controls the equipped running lights on certain ships and bases. 0 means no running lights, 1 means sprites only, 2 means dynamic lights only, 3 means all.
light_equip_dynamic_minimum_radius - Increase to make smaller running lights cast no light.
vsync - Activates/deactivates vsync, which stops tearing at the cost of generally lower FPS.
glass - Toggles display of transparent/reflective glass. Low performance impact.
soft_particles - Toggles soft particle, which help avoid ugly lines when particles such as explosions intersect with objects. Moderate performance impact, but can be high when lots of particles are being drawn.
cloud_normals - Toggles normal maps on planet clouds. Moderate performance impact.
atmospheric_scattering - Toggles light scattering on atmospheres. Moderate performance impact.
vanilla - Turns off as much advanced features as possible, a killswitch.
d3d8 - does not work
deferred - does not work
shadows - does not work
ssao - does not work
User avatar
User

FriendlyFire

Rank

Developer

Posts

1686

Joined

15 Feb 2010, 16:14

Using the Profiler

by FriendlyFire » 16 Apr 2014, 00:58

How to use the built-in profiler

If you are faced with performance issues (not crashes!) and are not sure of the cause, this may be able to help you.

In order to enable profiling, first, in the launcher, ensure that "Activate Ingame Console" is checked in the Setup tab. Also put "Debug Level" to "High". Save the settings and launch the game.

Once in game, you need to find the correct console key. This key is usually the key above the Enter key, used to write \ or |, but it may also be elsewhere on certain keyboards. If you have found the correct key, a large window will appear and cover most of the screen.

Once opened, this window will keep focus until closed. Write "profile" (without the quotes) and hit enter. You should see the message "Profiling Enabled" show up. To close the window, hit Escape.

Now navigate around and look for FPS drops. When you do find one, look more closely at the rapidly flashing numbers and find the ones which are very large. These numbers indicate how long, in miliseconds, it takes for each element shown to be processed per frame, both in GPU and in CPU time. At 60 FPS, a frame takes roughly 16.67 miliseconds.

If you aren't sure what to do from those statistics, simply write down the largest few values for both CPU and GPU time (make sure to clearly separate which is which!) and post a thread in these forums for assistance.
User avatar
User

FriendlyFire

Rank

Developer

Posts

1686

Joined

15 Feb 2010, 16:14

Display driver stopped responding error

by FriendlyFire » 16 Apr 2014, 01:13

WARNING: These steps may cause general system instability. Follow at your own risk.

If you're faced with the crash on launch from a base with a message from Windows similar to this one:
Image
There is a way to possibly alleviate this issue (no guarantees). What you need to do is relax Windows' Timeout Detection and Recovery settings, which is designed to detect when the GPU driver hangs (because it crashed or entered an infinite loop) and restart it, thus avoiding what would've otherwise been a full bluescreen. It is generally inadvisable to completely disable TDR, but TDR also has a timing setting which is by default at two seconds but could be increased to avoid unnecessary driver recoveries.

In order to increase this timing, you need to open the Registry Editor (Start, then type regedit and hit Enter). Navigate to the key "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers". In the blank space on the right, right-click in empty space and select "New" and select the DWORD option. In the name field that is now highlighted, enter "TdrDelay", then hit Enter to confirm the name. Double-click on the newly created TdrDelay value and, in the data field, enter a value greater than 2, like say 5, then reboot your computer and try playing the mod again. Do not leave this value at less than 2.

Values greater than 10 wouldn't be recommended; at that point, your computer simply cannot run the mod with the graphics settings you have currently selected. If these steps do not resolve your issue, it is highly recommended to delete the TdrDelay value from the registry.
User avatar
User

Sizer

Rank

Developer

Posts

954

Joined

08 Sep 2010, 23:56

Location

Oakland, California, USA

Re: Performance Guide

by Sizer » 17 Apr 2014, 15:40

Performance - Based Crash Fixes

Note, these are advanced fixes. Back up related files

Fix for occasional crash on NPC/Player death - Navigate to your launcher directory, and open /game/exe/dacom.ini. Navigate to the [Alchemy] block. This is going to require some experimentation. Edit the following blocks -

FxParticleAppearance.poolSize = 20000 - This is the heaviest. Cut by half, attempt to replicate crashing. Play with it till you start to crash again.

FxBasicAppearance.poolSize = 20000 - This is the second heaviest. You may want to balance tweaking FxParticleAppearance with this.

FxRectAppearance.poolSize = 8000 - Edit Last, experiment
FxPerpAppearance.poolSize = 5000 - Edit Last, experiment.


Hyperspace Crash - If you experience crashes upon exiting/during hyperspace, disable 3D Audio in FL's settings. This should alleviate the crashes.

Who is online

Users browsing this forum: No registered users and 4 guests

Powered by phpBB ® | phpBB3 Style by KomiDesign
[ Time : 0.068s | 13 Queries | GZIP : Off ]
cron