Performance

I notice this in the CivilizationIV. ini

; Allows some memory savings *** ALT-TAB WILL NO LONGER FUNCTION ***
MemSaver = 0

This might help people with performance issues???
 
It can... setting the xml caching to off helps even more. I mentioned this to Koshling and he seemed to think it shouldn't need it to be set that way for the game to act like it was due to C2C settings, but I find it helps nevertheless.
 
I have a question about performance in general.

It seems to me that last year AIAndy did something where he multi-threaded the Spawn system or something like that, as a sort of test case. First, is this true, and second, could that lead to a multi-threading of things in the DLL that actually use a good bit of the turn time?
 
I have a question about performance in general.

It seems to me that last year AIAndy did something where he multi-threaded the Spawn system or something like that, as a sort of test case. First, is this true, and second, could that lead to a multi-threading of things in the DLL that actually use a good bit of the turn time?

Yes, mostly experimentally. In general multiple threading the AI is extremely hard because of it's interaction with the game engine, and assumptions in many places that things happen serially. That was part of the motivation for me writing our own pathing engine (it reduces the inter dependencies with the game engine, which are one obstacle to multi-threading). It's not low hanging fruit, but it is possible in the long term to extract significant parallelism. Don't expect large strides though unless someone with a fairly deep understanding of how the code all hangs together decides to spend significant (months) time it.

Eventually I may do this, but probably not for at least a year or so, as I have a very large amount of AI work I want to do first.
 
Eventually I may do this, but probably not for at least a year or so, as I have a very large amount of AI work I want to do first.

Dang is the AI really that bad off? Must be. But at least one thing i have noticed lately is the Barbarian Civs are at least using their POP level better. And the AI are building civs sometimes quite a ways from the main capital, just trying to pin you in, nice!!
 
Thanks for doing All this work Koshling. I can't imagine how much time it would take to play the whole game without these changes. Also it's always nice to see someone not just making more and more techs buildings units civics religions animals resources etc. and actually refining the game
 
Yes, mostly experimentally. In general multiple threading the AI is extremely hard because of it's interaction with the game engine, and assumptions in many places that things happen serially. That was part of the motivation for me writing our own pathing engine (it reduces the inter dependencies with the game engine, which are one obstacle to multi-threading). It's not low hanging fruit, but it is possible in the long term to extract significant parallelism. Don't expect large strides though unless someone with a fairly deep understanding of how the code all hangs together decides to spend significant (months) time it.

Eventually I may do this, but probably not for at least a year or so, as I have a very large amount of AI work I want to do first.
I think the easiest part (relatively seen) to apply multithreading would be all those comparisons of possible buildings to construct and similar. Unfortunately some of them like the civic evaluation actually apply civics temporarily to the game state which would not work with multithreading.
 
I think the easiest part (relatively seen) to apply multithreading would be all those comparisons of possible buildings to construct and similar. Unfortunately some of them like the civic evaluation actually apply civics temporarily to the game state which would not work with multithreading.

Do city production processing for all players at the start of the first player's turn, instead of turn start of the particular player. Then parallelise the players city processing. That way temp civic changes don't interact.
 
Even at start up and very early game with AI processing and No wait turns the turn times are taking up to 10 secs to process with a New v24 SVN 3115. Huge Map Planet generator, 7AI, Normal speed.

JosEPh
 
Even at start up and very early game with AI processing and No wait turns the turn times are taking up to 10 secs to process with a New v24 SVN 3115. Huge Map Planet generator, 7AI, Normal speed.

JosEPh

Approximately 20% on big maps of the early turns is taken up with the property system solving for new property values. I assume this is plot based properties, and is therefore proportional to map area. My measurements show it takes order of 2 seconds per turn for GEM but does not increase significantly as the game progresses. Hence, while it's a circa 20% overhead early it becomes fairly insignificant in a mature game ( so I haven't bothered looking into optimize it, or asking aiandy to spend time doing so)
 
It's been ages since I used the Planet Generator map too. Plus I wanted to see how Normal game speed now acts.

JosEPh
 
AI processing

What do you mean by this? Minimize AI turn time? Or AI Pathing?

What does AI Pathing actually do, anyway?

EDIT - Thought I would post my current turn times.

Playing on PerfectWorld2f, Huge, started with 12 civs. Haven't explored the world yet (ocean vessels take so bloody long xD) but looking at the demographics screen, there's more than 40 now (!). Playing on Snail, I'm 1600 turns in (classical era). Minimize AI turn time is active, AI pathing isn't.

I'm getting 28 second turns. Is this on the slower or the faster end of turns, given the conditions above?
 
What do you mean by this? Minimize AI turn time? Or AI Pathing?

What does AI Pathing actually do, anyway?

EDIT - Thought I would post my current turn times.

Playing on PerfectWorld2f, Huge, started with 12 civs. Haven't explored the world yet (ocean vessels take so bloody long xD) but looking at the demographics screen, there's more than 40 now (!). Playing on Snail, I'm 1600 turns in (classical era). Minimize AI turn time is active, AI pathing isn't.

I'm getting 28 second turns. Is this on the slower or the faster end of turns, given the conditions above?

That's not out of line with where I would expect it to be.
 
(ocean vessels take so bloody long xD)
Keep in mind we DO add a whole era in the first portion of the game. If they came any earlier, it would ensure a nation would achieve global conquest too early!
 
those performance options you talk about ,are those svn only? v24 must be slowest version i had..50s~ turn times and yet to reach gunpowder ;/, on standard map size.. started with 15 nations, might be around 20 or bit more now
 
those performance options you talk about ,are those svn only? v24 must be slowest version i had..50s~ turn times and yet to reach gunpowder ;/, on standard map size.. started with 15 nations, might be around 20 or bit more now

Yes, V24 is rather slow compared to anything since V19. I haven't really been on Koshling's case about it though because I know he is very busy with Viewports and AI enhancements. That said, it would be nice *hint hint* to get turns in the early to mid game to go faster.
 
Back
Top Bottom