(With the latest version of Warband, through Steam.)
I've edited the config file to allow larger battle sizes, but battles over ~300 soldiers large seem to have about a 50% chance of giving me a strange stuttering effect.
What happens is that every four or five seconds, the game will just freeze for maybe a quarter to half a second. The FPS counter reflects this as a six FPS drop (so if I've set max FPS to 60 then the counter will suddenly drop to ~54, if it's set to 30 it'll drop to ~24, et cetera) for that fraction of a second.
Except for this one problem, large battles run perfectly; except for the momentary stutters they run just as smoothly as a 1 vs 1 battle. I would chalk the problem up to the limitations of the game engine, but I've seen youtube videos of people with similar (and slightly weaker) hardware setups running even larger battles without difficulty.
System:
Operating System: Windows 7 Ultimate 64-bit
Processor: Intel Core i7-2600K CPU @ 3.40GHz
VPU: Radeon HD 6970, slightly overclocked.
RAM: 16GB
Page File: 3638MB used, 28950MB available
DirectX 11
Game is installed on an SSD.
Config:
Also, regardless of battle size or stutter, the game has never gone beyond ~60% usage of one CPU core, nor does it strain my GPU. I've tried reducing every graphical setting to minimum (and even directx 7) but the stuttering persists, even though the system load reduces by a fair margin.
I've tried:
1. Reducing graphical settings.
2. Reducing max FPS.
3. Installing an older version of Warband.
4. Turning on VSync.
5. Locking to a single thread.
6. Setting affinity off core 0 and then on again (which apparently fixed someone else's issue, but I have no idea how).
7. Direct X 7 (the game makes my GPU run about as hot as a youtube video regardless, so no surprise this did nothing.)
8. Replacing the 906kb sceneobj files with their 1kb counterparts, as suggested by an older thread.
9. Turning off pixel shader.
10. Turning ON load textures on demand, turning OFF load textures on demand, and increasing the render buffer size.
11. Forcing triple buffering through my GPU control center, with VSync both forced on and forced off.
12. Begging.
13. Pleading.
PS: I just tried Floris (Expanded) out of curiousity, with a custom Oasis battle of 200 vs 200. Now, on Native, a battle of this size in Oasis runs absolutely perfectly, but on Floris there's the stuttering issue. But when I die, the stuttering completely goes away---I can move the camera freely around and watch the whole battle no problem. CPU and GPU usage with Floris (on Ultra High graphics settings) are ~60% and ~70% when both armies clash, with no change when my character dies and the stuttering vanishes.
PPS: I also just went back to some of my Native savegames from right before stuttering battles to see if anything else was amiss, and in one of them all AI allied troops did NOTHING except walk around the entire battlefield in a gigantic square, 'holding position'. Individual soldiers would fight only if engaged. This is strange, but probably an unrelated issue.
I've edited the config file to allow larger battle sizes, but battles over ~300 soldiers large seem to have about a 50% chance of giving me a strange stuttering effect.
What happens is that every four or five seconds, the game will just freeze for maybe a quarter to half a second. The FPS counter reflects this as a six FPS drop (so if I've set max FPS to 60 then the counter will suddenly drop to ~54, if it's set to 30 it'll drop to ~24, et cetera) for that fraction of a second.
Except for this one problem, large battles run perfectly; except for the momentary stutters they run just as smoothly as a 1 vs 1 battle. I would chalk the problem up to the limitations of the game engine, but I've seen youtube videos of people with similar (and slightly weaker) hardware setups running even larger battles without difficulty.
System:
Operating System: Windows 7 Ultimate 64-bit
Processor: Intel Core i7-2600K CPU @ 3.40GHz
VPU: Radeon HD 6970, slightly overclocked.
RAM: 16GB
Page File: 3638MB used, 28950MB available
DirectX 11
Game is installed on an SSD.
Config:
first_time = 0
texture_detail = 100
render_buffer_size = 2000----NOTE: I saw in an older topic that increasing this might help, but I couldn't find a definitive answer as to what exactly this is (although presumably it's either vRAM or RAM in megabytes). I've tried it at 500, 1000, and 2000 (the last one hoping it's RAM), with seemingly no effect.
max_framerate = 31
start_windowed = 0
use_pixel_shaders = 0
use_vertex_shaders = 1
fake_reflections = 1
show_framerate = 0
use_ondemand_textures = 0
use_ondemand_textures_mt = 0
disable_music = 0
disable_sound = 0
disable_frequency_variation = 0
cheat_mode = 0
enable_blood = 1
enable_edit_mode = 0
force_single_threading = 0
debug_mode = 0
display_width = 1920
display_height = 1080
display_bits = 32
antialiasing = 0
sample_quality = 0
alpha2coverage = 0
force_vsync = 0
shadowmap_quality = 0
shader_quality = 0
postfx_dof = 0
postfx_hdr = 0
postfx_autoexp = 0
flora_degrade_distance = 150.0000
flora_lod_detail = 2
use_instancing = 1
use_secure_connection = 0
max_number_of_connections = 16
look_for_server_on_this_machine = 0
music_volume = 0.2775
sound_volume = 1.0000
mouse_sensitivity = 0.5000
invert_mouse = 0
enable_lighting = 1
enable_particles = 0
enable_blood = 1
enable_character_shadows = 1
enable_accurate_shadows = 1
number_of_corpses = 0 (No change from max corpses to zero corpses.)
grass_density = 100
combat_speed = 2
friend_combat_difficulty = 2
adapter_format = 0
reduce_combat_ai = 1
reduce_campaign_ai = 1
combat_difficulty = 2
display_labels = 1
display_targeting_reticule = 1
display_attack_direction = 0
turn_camera_with_horse_in_first_person = 2
verbose_damage = 1
verbose_shot_difficulty = 1
battle_size = 9.0000
attack_direction_control = 2
defend_direction_control = 0
lance_control = 0
anisotropic_filtering = 1
enable_environment_shadows = 1
verbose_casualties = 1
verbose_experience = 1
realistic_shadows_on_plants = 0
number_of_ragdolls = 0
gamma = 2.2026
character_detail = 1.0000
character_shadow_detail = 1.0000
control_mouse_movement_y_scale = 1.5000
blood_stains = 2
use_winmm_audio = 0
enable_version_check = 1
enable_aspect_ratio_control = 1
realistic_headshots = 0
auto_gfx_quality = 0
texture_detail = 100
render_buffer_size = 2000----NOTE: I saw in an older topic that increasing this might help, but I couldn't find a definitive answer as to what exactly this is (although presumably it's either vRAM or RAM in megabytes). I've tried it at 500, 1000, and 2000 (the last one hoping it's RAM), with seemingly no effect.
max_framerate = 31
start_windowed = 0
use_pixel_shaders = 0
use_vertex_shaders = 1
fake_reflections = 1
show_framerate = 0
use_ondemand_textures = 0
use_ondemand_textures_mt = 0
disable_music = 0
disable_sound = 0
disable_frequency_variation = 0
cheat_mode = 0
enable_blood = 1
enable_edit_mode = 0
force_single_threading = 0
debug_mode = 0
display_width = 1920
display_height = 1080
display_bits = 32
antialiasing = 0
sample_quality = 0
alpha2coverage = 0
force_vsync = 0
shadowmap_quality = 0
shader_quality = 0
postfx_dof = 0
postfx_hdr = 0
postfx_autoexp = 0
flora_degrade_distance = 150.0000
flora_lod_detail = 2
use_instancing = 1
use_secure_connection = 0
max_number_of_connections = 16
look_for_server_on_this_machine = 0
music_volume = 0.2775
sound_volume = 1.0000
mouse_sensitivity = 0.5000
invert_mouse = 0
enable_lighting = 1
enable_particles = 0
enable_blood = 1
enable_character_shadows = 1
enable_accurate_shadows = 1
number_of_corpses = 0 (No change from max corpses to zero corpses.)
grass_density = 100
combat_speed = 2
friend_combat_difficulty = 2
adapter_format = 0
reduce_combat_ai = 1
reduce_campaign_ai = 1
combat_difficulty = 2
display_labels = 1
display_targeting_reticule = 1
display_attack_direction = 0
turn_camera_with_horse_in_first_person = 2
verbose_damage = 1
verbose_shot_difficulty = 1
battle_size = 9.0000
attack_direction_control = 2
defend_direction_control = 0
lance_control = 0
anisotropic_filtering = 1
enable_environment_shadows = 1
verbose_casualties = 1
verbose_experience = 1
realistic_shadows_on_plants = 0
number_of_ragdolls = 0
gamma = 2.2026
character_detail = 1.0000
character_shadow_detail = 1.0000
control_mouse_movement_y_scale = 1.5000
blood_stains = 2
use_winmm_audio = 0
enable_version_check = 1
enable_aspect_ratio_control = 1
realistic_headshots = 0
auto_gfx_quality = 0
Also, regardless of battle size or stutter, the game has never gone beyond ~60% usage of one CPU core, nor does it strain my GPU. I've tried reducing every graphical setting to minimum (and even directx 7) but the stuttering persists, even though the system load reduces by a fair margin.
I've tried:
1. Reducing graphical settings.
2. Reducing max FPS.
3. Installing an older version of Warband.
4. Turning on VSync.
5. Locking to a single thread.
6. Setting affinity off core 0 and then on again (which apparently fixed someone else's issue, but I have no idea how).
7. Direct X 7 (the game makes my GPU run about as hot as a youtube video regardless, so no surprise this did nothing.)
8. Replacing the 906kb sceneobj files with their 1kb counterparts, as suggested by an older thread.
9. Turning off pixel shader.
10. Turning ON load textures on demand, turning OFF load textures on demand, and increasing the render buffer size.
11. Forcing triple buffering through my GPU control center, with VSync both forced on and forced off.
12. Begging.
13. Pleading.
PS: I just tried Floris (Expanded) out of curiousity, with a custom Oasis battle of 200 vs 200. Now, on Native, a battle of this size in Oasis runs absolutely perfectly, but on Floris there's the stuttering issue. But when I die, the stuttering completely goes away---I can move the camera freely around and watch the whole battle no problem. CPU and GPU usage with Floris (on Ultra High graphics settings) are ~60% and ~70% when both armies clash, with no change when my character dies and the stuttering vanishes.
PPS: I also just went back to some of my Native savegames from right before stuttering battles to see if anything else was amiss, and in one of them all AI allied troops did NOTHING except walk around the entire battlefield in a gigantic square, 'holding position'. Individual soldiers would fight only if engaged. This is strange, but probably an unrelated issue.