CAR Mod: Civ AcceleratoR

hopefully, you or someone could make civ 4 somehow became multi-core supported. With that support, some of us will no longer feel this terrible lag any more... or see a single hint of lag.

That would require Firaxis to pay me.

Even that would not be possible. Because it's miles beyond my ability as a self-taught amateur coder. :lol:
 
I'm working on merging source files of your cool CAR and RevDCM. Can you tell me which source files precisely that have all changes relevant to your CAR? Because when I downloaded your source, you had STARTLING number of files. Also, RevDCM already modded many vanilla BtS settings in its source.

After I'm done with merging, I plan on uploading it to RevDCM thread and RoM forum.

Your speedy help will be HELPFUL! :D
Thanks!

I was going to ask this until I noticed that only some of the files were modified as late as August this year. All the ones modified before 14th May or Earlier couldn't have been done in this mod. ;)
 
I was going to ask this until I noticed that only some of the files were modified as late as August this year. All the ones modified before 14th May or Earlier couldn't have been done in this mod. ;)

Hmm, you mean some modification in CAR source code say it's modified in around 14th May? I'm sure if that happens the modification is still valid, just because we put the CAR code together with HoTK code in HoTK, but when taking out the HoTK part when making CAR, we didn't change the date.

I'm pretty sure all modification in CAR is needed. :)
 
stmartin -

Do you have any sense of which caches had the most pronounced effect?

I guess I'm most interested at the moment in whether a big chunk of the 15% improvement came from the CvPlayerAI::AI_getPlotDanger cache? That function can be called hundreds of thousands of times and is eating up about 15% of turn time in my late game tests.
 
@jdog

Frankly speaking, no, I haven't done any separate testing. However, there's one thing for certain, AI_getPlotDanger is the last cache we added. Before that, I run test once. The result is pretty significant too. Hope this helps!
 
Thanks!

I was a bit too hasty in typing my posts above. I noticed finally "Sanguo Performance" so I realized I can search for Sanguo.

Ok, most of your codes are straightforward merge of "copy to right" type. However when I hit CvTeam.cpp and few others, it got messed up with Revolution's code being in the same area. I sometimes Winmerge is smarter. Oh well, but I figured them out.

I finally complied the DLL but it had 16 errors so I'm going to try again and merge more carefully today and compile again today.

PS: Yeah, I surprised myself. I thought DLL would be hard but it is comparatively easy to merge. To code stuff is still beyond me but merging is no problem and compiling is no problem too with that PDF instruction found somewhere here.
 
By description alone, this looks extremely promising! How easy is it to merge into other mods? Is there any reason this shouldn't be included in future versions of the Unofficial Patch?
 
Decrease turn time by 15%:love:

Does it have any issues that need to be fixed before a stable release?

Nope.

I can confirm a maximum of 14%, only in late game.
While autoplaying RFC until medieval took 10 minutes instead of 11, loading until 1700AD took 30 minutes instead of 35.

That's good news, it means RFC is already pretty optimized. :goodjob:
 
now, we just need to increase the speed to 50% if it's possible.
Well, don't forget that this is a time-averaged value. It's possible that the early rounds of a game have less speed improvement (as they there aren't a lot of things anyway, meaning even uncached the code is very close to optimal), whereas the later game will almost definitely gain more from the caching - so for endgame turns, the speed boost may be better (a really interesting investigation would be a proper statistical analysis turn by turn).

Out of interest: Is there any drawback to the caching, apart from breaking savegames? Will it increase size of the savefiles or increase memory consumption? Of course, extra memory is usually cheaper and easier to get than extra CPU power - but some of the huge mods here occasionally run into MAF-errors (though a lot of that is due to graphics AFAIK, so the cache will probably look negligible in size to those things, so I don't really expect a real change there anyway), is it possible that this may be exacerbated by the extra data from the caching?

Just curiosity, for people like me, this mod is definitely great (as I'm not a big fan of mods with a lot of extra content) - and I hope it trickles down to a lot of mods (e.g. Better AI)!

Cheers, LT.
 
Well, don't forget that this is a time-averaged value. It's possible that the early rounds of a game have less speed improvement (as they there aren't a lot of things anyway, meaning even uncached the code is very close to optimal), whereas the later game will almost definitely gain more from the caching - so for endgame turns, the speed boost may be better (a really interesting investigation would be a proper statistical analysis turn by turn).

I agree.

Out of interest: Is there any drawback to the caching, apart from breaking savegames? Will it increase size of the savefiles or increase memory consumption? Of course, extra memory is usually cheaper and easier to get than extra CPU power - but some of the huge mods here occasionally run into MAF-errors (though a lot of that is due to graphics AFAIK, so the cache will probably look negligible in size to those things, so I don't really expect a real change there anyway), is it possible that this may be exacerbated by the extra data from the caching?

HoTK has tons more data than CAR, yet no single MAF has ever occurred to every version of HoTK. Technically, all the new data members in CAR will not scale with game turn, they are all in team, player or info, but not in city or unit, which get more and more as game goes on. So the memory usage and savegame overhead of CAR is a constant, rather than a ever-increasing variable. That means CAR and MAF are irrelevant.

Just curiosity, for people like me, this mod is definitely great (as I'm not a big fan of mods with a lot of extra content) - and I hope it trickles down to a lot of mods (e.g. Better AI)!

Cheers, LT.

Thanks, and I hope HoTK will appear in your sig. :lol:
 
mafs mostly occur on mods that have tons of art in them,
hotk ,

mod that keeps a certain level of art - like this one, will probably never have mafs,

i had expeirence with this long time ago, thats why my modding motto was to keep a mod in less then 100mb zipped.

so hotk is small and elegant :)

Lord Tirian
Thanks, and I hope HoTK will appear in your sig.

cant argue with this.



love this mod!
 
don't bother with RFC; it seems that Rhye has already an eye on it ^^

Otherwise, to answer your question, if the mod you use does not have a dll just put the present one in the Assets folder. If it has one, you have to get the sources of both the current dll and the mod's, then merge both sets of sources, then compile your own dll.
 
so hotk is small and elegant :)

cant argue with this.

love this mod!

Thanks, and good luck with Dune Wars.:)

And compared to art, the added caches are tiny ... I highly doubt the added caches sum up to even 1MB on enormous maps, and the added caches are independent of the number of units.

Yeah, the majority of added memory CAR used come from that AI_getPlotDanger cache, which is not even saved in save game.

Otherwise, to answer your question, if the mod you use does not have a dll just put the present one in the Assets folder. If it has one, you have to get the sources of both the current dll and the mod's, then merge both sets of sources, then compile your own dll.

Exactly.
 
Top Bottom