Anything happening on stability?

Dragonlord

Fantasy Warlord
Joined
Oct 11, 2002
Messages
2,234
Location
Stuttgart, Germany
I gave up on FF in frustration last week, because I haven't been able to finish a single game since I revisited FF 2 months ago. Some things have gotten better, but I still experience CTDs at some point in the game, starting from about turn 160 or so onwards - no matter what civ I play, even when I disable Hyborem, etc. Also, of course, reloading still gives a CTD every time, but that issue is known. I'm guessing that the problem is related, though, there still has to be a bug somewhere that is causing memory overflow.

For now, I've gone back to regular FFH, though I miss the extra civs and features of FF :cry: - it's such a relief not to have to restart the game all the time! Haven't had a CTD yet, and I can reload at will.

I was just wondering - is anything happening on improving stability in FF? Haven't seen much about it on the threads since patch N. There has to be SOMETHING that is causing these memory problems! :mad:

I'd just love to go back to playing this modmod, you see... :cry:
 
Have you tried this?

I'm 290 turns into a scion game at present, and not a single crash. Large World, 12 civs.

What kind of settings are you playing with ? What are your PC specs? provide some info.
 
Played through two full Marathon games, to turns 1~1.5k. Experienced only one crash and it wasn't recurring. No real wacky options. One game with Agg. AI, one without. Both with Orcish Swarms, double Animals, wider alignments, Flavor start, random seed. Granted, I'm also running under WINE in Ubuntu Jaunty, but that just keeps the crashes from being caused by other things running on the system and keeps crashes from taking the entire system down.
 
I am on patch N and had 3 or 4 games in a row make it to about turn 100 ish and start dieing off same turn each reload. Then it seemed to stop and my current game is to turn 200 no crashes at all. I WAS playing on the Erebus map and switched to something different. Not sure that made a difference or not
 
You know that's funny, the same thing happens to me, but my computer is such a POS I thought it was just me. It's laggy on other maps, but as long as I'm not on the erebus map it won't CRASH or anything.... so long as I have lairs turned off. Something about the lairs.. my computer does not appreciate. :p
 
Thanks for the response, fellas!

I'm well aware my machine isn't cutting edge anymore - I'm playing on a Pentium 4, 2,8 GB, 1 GB Ram, Windows XP Service Pack 3. Works well enough for Vanilla and FFH, though.

FF is patched to N, but it still crashes every time I reload from within the game - I wasn't aware this was supposed to be fixed, it was still reported as a known issue on the bug thread last time I looked!

I don't think it's the Erebus map, I've played both with that and other maps and noticed no difference.

WarKirby, I tried that fix last week already, but it didn't run for me. My machine didn't recognize the command bootcfg - kept saying something like 'unknown command', though in German ... AFAIK there shouldn't be different languages in DOS, but I'm at a loss why it didn't work.

As to the settings: I re-enabled lairs after MootPoints fix, which did seem to help some. My recent games have all been with lairs, Wildlands, Living World, Blessing of Amatheon (?), and the last few with Compact Enforced, because Hyborems hordes seemed a logical candidate for memory overloads.
Maybe I should try w/o lairs again, though it would hurt - lairs are such a cool feature!
 
Stability hasn't changed much in the last month, I think patch N is older than that. But the crash EVERY time you reload was fixed a couple of months ago (patch J or so?).


To be honest, it seems like this was only a partial fix. It does stop the issues of crashing every time to begin with, but when you get really deep into a game, it starts to happen again. The fix delays the problem a lot, and makes FF much better, but doesn't seem to remove it entirely. And there does seem to come a point where crashing on reload becomes a "most of the time" thing again. Something I've observed on my huge world games.
 
Dragonlord, one thing you might try that worked for me is a simple fresh install of FF050 and patch N. I have basically the same rig you do and had problems with constant crashing, and reloading was hopeless. Even after installing the patch that was supposed to fix the crashes I was still having problems. I now do a fresh install every new patch and have had fairly smooth sailing since patch J. I'll still get the rare hiccup, but nothing major. Hope this helps.
 
To be honest, it seems like this was only a partial fix. It does stop the issues of crashing every time to begin with, but when you get really deep into a game, it starts to happen again. The fix delays the problem a lot, and makes FF much better, but doesn't seem to remove it entirely. And there does seem to come a point where crashing on reload becomes a "most of the time" thing again. Something I've observed on my huge world games.

Yeah - like I said, there has to be another bug thats overloading memory somewhere.

Dragonlord, one thing you might try that worked for me is a simple fresh install of FF050 and patch N. I have basically the same rig you do and had problems with constant crashing, and reloading was hopeless. Even after installing the patch that was supposed to fix the crashes I was still having problems. I now do a fresh install every new patch and have had fairly smooth sailing since patch J. I'll still get the rare hiccup, but nothing major. Hope this helps.

Thanks Titan, I'll give that a try over the weekend and report back whether it helped. Never thought of that, I've just kept applying the patches..
 
I have the same issues, Will that first fix work with Vista?. I have the first CTD when entering the game then good to about turn 170 then CTD's start frequently at patch N, I am playing multiplayer but it is completly unplayable past 350 or so multiplayer, The CTD's intervals getting shorter and shorter.
There seems to be an issue where gobblin archers shooting at AI players causes a CTD, has anyone else observed this. It may only be in multiplayer.
But I have a great new build computer and can't play this version. This game has a lot of potential but is unplayable in its current state IMO. I have tried various resolutions and graphic settings with no difference. memory allocation errors after memory allocation errors. I even tried SLI or non SLI physx on physx off, I even used an old xp command for high priority cpu allocation.

That is why I'm wondering if that fix on the second post of this thread would work with Vista I would try that.
 
OK, I followed Titan's advice and did a fresh install of FF and patch N yesterday... and you know what? It looks like it actually helped!

I've only managed to start one game after the reinstall yet, and only got turn sixtyish, but the reload issue has magically cleared up at least! Now to see whether I get CTDs later on - I'll post when I know.

Anyone else having CTD and reloading issues, I'd recommend Titan's fix of doing a fresh install from the start ... no idea why, but it seems to help!
 
I can try that fix as well.
 
The really annoying thing for me is not stability, it's speed. The game just runs 8000 times slower than BTS vanilla. Honestly it makes me want to give up on FF in general because I can't be bothered to play anything other than a small map. I mean when it takes 30+ seconds BETWEEN TURNS after turn 150 or so, it's going to take hours of literally doing nothing just to finish the game.
 
The really annoying thing for me is not stability, it's speed. The game just runs 8000 times slower than BTS vanilla. Honestly it makes me want to give up on FF in general because I can't be bothered to play anything other than a small map. I mean when it takes 30+ seconds BETWEEN TURNS after turn 150 or so, it's going to take hours of literally doing nothing just to finish the game.

I've spent a chunk of the last week profiling the Python and C++, looking for areas that are slowing things down. Nothing major jumping out so far sadly - but we're still looking.
 
Maybe things like automatic terrain spreading for hell terrain, and lizard jungles, could be only checked once every few turns or so, rther than every turn.

I've heard a lot of complaints that the game starts to slow down when hyborem enters the world. With all the hell terrain spreading automatically, and all those demons for the AI to move around, it's not hard to see why.
 
Maybe things like automatic terrain spreading for hell terrain, and lizard jungles, could be only checked once every few turns or so, rther than every turn.

I've heard a lot of complaints that the game starts to slow down when hyborem enters the world. With all the hell terrain spreading automatically, and all those demons for the AI to move around, it's not hard to see why.

That's actually not accounting for much. It gets quoted a lot, but the time taken doesn't appear to be significant.
 
hmm.

Could you possibly tellus what IS significant?

Perhaps a breakdown of exactly what's going on between turns in the average well developed world. like "x civ moving their units (0.3 seconds)" etc

It'd be nice to have a list of these things so we could see what's happening. perhaps when presented with solid info, the community can provide useful suggestions and feedback.
 
hmm.

Could you possibly tellus what IS significant?

Perhaps a breakdown of exactly what's going on between turns in the average well developed world. like "x civ moving their units (0.3 seconds)" etc

It'd be nice to have a list of these things so we could see what's happening. perhaps when presented with solid info, the community can provide useful suggestions and feedback.

Be my guest :D

Code:
Modules
-------
CvGameInterface: 549.301 secs (16474129 calls) = 0.000 secs
CvSpellInterface: 78.429 secs (104451 calls) = 0.001 secs
Erebus: 35.849 secs (5621 calls) = 0.006 secs
EventReporter: 18.679 secs (15549 calls) = 0.001 secs
CvFlavourInterface: 4.420 secs (1 calls) = 4.420 secs
CvRandomEventInterface: 0.834 secs (4310 calls) = 0.000 secs
CvScreensInterface: 0.080 secs (1 calls) = 0.080 secs
CvDataStorageInterface: 0.022 secs (1 calls) = 0.022 secs
Calls
-----
CvGameInterface;canBuild: 224.729 secs (5116413 calls) = 0.000 secs
CvGameInterface;getUpgradePriceOverride: 191.709 secs (7897933 calls) = 0.000 secs
CvSpellInterface;canCast: 77.466 secs (104307 calls) = 0.001 secs
CvGameInterface;cannotFoundCity: 63.703 secs (1561987 calls) = 0.000 secs
CvGameInterface;canTrain: 48.864 secs (1498335 calls) = 0.000 secs
Erebus;afterGeneration: 35.619 secs (1 calls) = 35.619 secs
[b][color=red]EventReporter;beginGameTurn: 14.243 secs (171 calls) = 0.083 secs[/color][/b]
CvGameInterface;cannotTrain: 4.878 secs (36862 calls) = 0.000 secs
CvFlavourInterface;generateFlavour: 4.420 secs (1 calls) = 4.420 secs
CvGameInterface;getExtraCost: 3.947 secs (152441 calls) = 0.000 secs
CvGameInterface;cannotConstruct: 3.664 secs (30861 calls) = 0.000 secs
CvGameInterface;getExperienceNeeded: 2.505 secs (74870 calls) = 0.000 secs
CvGameInterface;cannotResearch: 1.822 secs (13908 calls) = 0.000 secs
EventReporter;beginPlayerTurn: 1.610 secs (1710 calls) = 0.001 secs
CvGameInterface;getBuildingCostMod: 1.002 secs (23186 calls) = 0.000 secs
CvSpellInterface;cast: 0.902 secs (68 calls) = 0.013 secs
CvGameInterface;AI_unitUpdate: 0.731 secs (9195 calls) = 0.000 secs
CvGameInterface;cannotDoCivic: 0.690 secs (19726 calls) = 0.000 secs
EventReporter;cityDoTurn: 0.651 secs (3395 calls) = 0.000 secs
EventReporter;endPlayerTurn: 0.650 secs (1710 calls) = 0.000 secs
EventReporter;endGameTurn: 0.378 secs (171 calls) = 0.002 secs
CvRandomEventInterface;canTriggerBabyBoom: 0.254 secs (53 calls) = 0.005 secs
EventReporter;unitBuilt: 0.174 secs (404 calls) = 0.000 secs
CvRandomEventInterface;doSignBhall: 0.156 secs (1 calls) = 0.156 secs
EventReporter;unitCreated: 0.153 secs (813 calls) = 0.000 secs
EventReporter;unitKilled: 0.143 secs (250 calls) = 0.001 secs
Erebus;minStartingDistanceModifier: 0.130 secs (5590 calls) = 0.000 secs
CvRandomEventInterface;doSignMulcarn: 0.118 secs (1 calls) = 0.118 secs
EventReporter;unitBuildImprovement: 0.108 secs (1575 calls) = 0.000 secs
CvGameInterface;doReligion: 0.101 secs (3395 calls) = 0.000 secs
CvGameInterface;doGrowth: 0.100 secs (3395 calls) = 0.000 secs
EventReporter;cityBuilt: 0.100 secs (44 calls) = 0.002 secs
Erebus;getNumHiddenCustomMapOptions: 0.100 secs (5 calls) = 0.020 secs
CvGameInterface;doPlotCulture: 0.091 secs (3397 calls) = 0.000 secs
CvGameInterface;doGreatPeople: 0.087 secs (3395 calls) = 0.000 secs
CvGameInterface;canCreate: 0.084 secs (3960 calls) = 0.000 secs
EventReporter;unitPromoted: 0.083 secs (518 calls) = 0.000 secs
CvScreensInterface;showDawnOfMan: 0.080 secs (1 calls) = 0.080 secs
CvGameInterface;doCulture: 0.080 secs (3395 calls) = 0.000 secs
EventReporter;improvementBuilt: 0.079 secs (286 calls) = 0.000 secs
EventReporter;genericEvent: 0.079 secs (1998 calls) = 0.000 secs
CvGameInterface;doProduction: 0.078 secs (3395 calls) = 0.000 secs
CvGameInterface;doMeltdown: 0.076 secs (3395 calls) = 0.000 secs
CvSpellInterface;onMove: 0.051 secs (41 calls) = 0.001 secs
EventReporter;cityBuildingUnit: 0.048 secs (514 calls) = 0.000 secs
EventReporter;cityGrowth: 0.048 secs (156 calls) = 0.000 secs
CvRandomEventInterface;canTriggerMutateUnit: 0.045 secs (896 calls) = 0.000 secs
CvRandomEventInterface;canTriggerSlaveRevoltUnit: 0.042 secs (896 calls) = 0.000 secs
CvGameInterface;doGold: 0.041 secs (1710 calls) = 0.000 secs
CvGameInterface;cannotCreate: 0.040 secs (436 calls) = 0.000 secs
CvRandomEventInterface;doSignAeron: 0.039 secs (1 calls) = 0.039 secs
CvGameInterface;doResearch: 0.038 secs (1710 calls) = 0.000 secs
CvRandomEventInterface;canTriggerChampionUnit: 0.037 secs (896 calls) = 0.000 secs
CvGameInterface;isVictory: 0.036 secs (1127 calls) = 0.000 secs
CvGameInterface;AI_chooseProduction: 0.034 secs (814 calls) = 0.000 secs
CvGameInterface;AI_doWar: 0.033 secs (1197 calls) = 0.000 secs
CvRandomEventInterface;doSignTali: 0.031 secs (1 calls) = 0.031 secs
CvRandomEventInterface;canTriggerWarGamesUnit: 0.030 secs (723 calls) = 0.000 secs
CvGameInterface;AI_doDiplo: 0.030 secs (1197 calls) = 0.000 secs
CvRandomEventInterface;doSignSirona: 0.026 secs (2 calls) = 0.013 secs
CvDataStorageInterface;getTrophyValue: 0.022 secs (1 calls) = 0.022 secs
CvGameInterface;createBarbarianBosses: 0.021 secs (161 calls) = 0.000 secs
EventReporter;buildingBuilt: 0.019 secs (82 calls) = 0.000 secs
EventReporter;techAcquired: 0.019 secs (73 calls) = 0.000 secs
CvGameInterface;canMaintain: 0.019 secs (795 calls) = 0.000 secs
EventReporter;cultureExpansion: 0.018 secs (60 calls) = 0.000 secs
EventReporter;routeBuilt: 0.015 secs (172 calls) = 0.000 secs
EventReporter;improvementDestroyed: 0.015 secs (121 calls) = 0.000 secs
EventReporter;firstContact: 0.013 secs (381 calls) = 0.000 secs
EventReporter;cityBuildingBuilding: 0.013 secs (136 calls) = 0.000 secs
CvGameInterface;createBarbarianCities: 0.012 secs (171 calls) = 0.000 secs
CvGameInterface;doCombat: 0.012 secs (267 calls) = 0.000 secs
CvRandomEventInterface;canTriggerMerchantKeep: 0.010 secs (159 calls) = 0.000 secs
CvGameInterface;AI_chooseTech: 0.009 secs (30 calls) = 0.000 secs
CvRandomEventInterface;canTriggerSmugglers: 0.008 secs (159 calls) = 0.000 secs
CvSpellInterface;postCombatWon: 0.008 secs (33 calls) = 0.000 secs
CvGameInterface;updateColoredPlots: 0.008 secs (104 calls) = 0.000 secs
CvRandomEventInterface;canTriggerSageKeep: 0.007 secs (159 calls) = 0.000 secs
CvGameInterface;doHolyCity: 0.005 secs (171 calls) = 0.000 secs
EventReporter;changeWar: 0.005 secs (151 calls) = 0.000 secs
CvGameInterface;createBarbarianUnits: 0.005 secs (171 calls) = 0.000 secs
CvGameInterface;isVictoryTest: 0.005 secs (171 calls) = 0.000 secs
CvRandomEventInterface;applyExploreLairDepths1: 0.004 secs (1 calls) = 0.004 secs
CvGameInterface;cannotGrow: 0.004 secs (157 calls) = 0.000 secs
CvGameInterface;doHeadquarters: 0.003 secs (171 calls) = 0.000 secs
CvRandomEventInterface;canTriggerUniqueFeatureAifonIsle: 0.003 secs (48 calls) = 0.000 secs
CvRandomEventInterface;canTriggerChampion: 0.003 secs (49 calls) = 0.000 secs
EventReporter;techSelected: 0.003 secs (74 calls) = 0.000 secs
CvGameInterface;citiesDestroyFeatures: 0.003 secs (46 calls) = 0.000 secs
EventReporter;setPlayerAlive: 0.003 secs (10 calls) = 0.000 secs
CvRandomEventInterface;doTraitInsane: 0.003 secs (4 calls) = 0.001 secs
CvRandomEventInterface;canTriggerUniqueFeatureBradelinesWell: 0.003 secs (48 calls) = 0.000 secs
CvRandomEventInterface;canTriggerControversialPhilosopherCity: 0.002 secs (52 calls) = 0.000 secs
CvRandomEventInterface;canTriggerUniqueFeatureGuardian: 0.002 secs (48 calls) = 0.000 secs
CvRandomEventInterface;canTriggerTraitor: 0.002 secs (31 calls) = 0.000 secs
EventReporter;goodyReceived: 0.001 secs (24 calls) = 0.000 secs
CvGameInterface;isActionRecommended: 0.001 secs (30 calls) = 0.000 secs
EventReporter;plotFeatureRemoved: 0.001 secs (13 calls) = 0.000 secs
EventReporter;cityHurry: 0.001 secs (11 calls) = 0.000 secs
EventReporter;cityAcquired: 0.001 secs (2 calls) = 0.001 secs
CvRandomEventInterface;canTriggerPenguins: 0.001 secs (17 calls) = 0.000 secs
CvRandomEventInterface;canTriggerLiteracy: 0.001 secs (8 calls) = 0.000 secs
EventReporter;cityRazed: 0.001 secs (2 calls) = 0.001 secs
CvRandomEventInterface;canTriggerAntelope: 0.001 secs (6 calls) = 0.000 secs
CvSpellInterface;vote: 0.001 secs (1 calls) = 0.001 secs
EventReporter;unitLost: 0.001 secs (494 calls) = 0.000 secs
CvRandomEventInterface;cantapplyScions: 0.001 secs (12 calls) = 0.000 secs
CvGameInterface;doPillageGold: 0.001 secs (3 calls) = 0.000 secs
CvRandomEventInterface;canTriggerGreatMediator: 0.001 secs (5 calls) = 0.000 secs
EventReporter;unitPillage: 0.001 secs (7 calls) = 0.000 secs
CvGameInterface;doHolyCityTech: 0.001 secs (15 calls) = 0.000 secs
CvGameInterface;doCityCaptureGold: 0.000 secs (2 calls) = 0.000 secs
CvRandomEventInterface;doSignCamulos: 0.000 secs (3 calls) = 0.000 secs
CvGameInterface;cannotMaintain: 0.000 secs (25 calls) = 0.000 secs
EventReporter;cityLost: 0.000 secs (4 calls) = 0.000 secs
CvRandomEventInterface;canTriggerHeroicGesture: 0.000 secs (5 calls) = 0.000 secs
EventReporter;religionSpread: 0.000 secs (2 calls) = 0.000 secs
CvRandomEventInterface;doSignSucellus: 0.000 secs (1 calls) = 0.000 secs
Erebus;getCustomMapOptionDefault: 0.000 secs (15 calls) = 0.000 secs
CvRandomEventInterface;doSignDagda: 0.000 secs (2 calls) = 0.000 secs
CvRandomEventInterface;canTriggerMarathon: 0.000 secs (5 calls) = 0.000 secs
CvSpellInterface;postCombatLost: 0.000 secs (1 calls) = 0.000 secs
EventReporter;corporationSpread: 0.000 secs (5 calls) = 0.000 secs
CvRandomEventInterface;doTraitFinancial: 0.000 secs (1 calls) = 0.000 secs
EventReporter;goldenAge: 0.000 secs (2 calls) = 0.000 secs
EventReporter;greatPersonBorn: 0.000 secs (3 calls) = 0.000 secs
CvRandomEventInterface;doJudgementWrong: 0.000 secs (1 calls) = 0.000 secs
Erebus;beforeInit: 0.000 secs (1 calls) = 0.000 secs
EventReporter;religionFounded: 0.000 secs (1 calls) = 0.000 secs
EventReporter;playerChangeStateReligion: 0.000 secs (1 calls) = 0.000 secs
CvGameInterface;canRazeCity: 0.000 secs (4 calls) = 0.000 secs
EventReporter;endGoldenAge: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitFinancial: 0.000 secs (2 calls) = 0.000 secs
CvRandomEventInterface;doSignEsus: 0.000 secs (2 calls) = 0.000 secs
Erebus;getNumCustomMapOptions: 0.000 secs (5 calls) = 0.000 secs
EventReporter;unitSpreadReligionAttempt: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitArcane: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitAggressive: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;doGovernorAssassination: 0.000 secs (1 calls) = 0.000 secs
Erebus;startHumansOnSameTile: 0.000 secs (3 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitRaiders: 0.000 secs (1 calls) = 0.000 secs
EventReporter;corporationFounded: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitPhilosophical: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitCharismatic: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitIndustrious: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitCreative: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitExpansive: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitSpiritual: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canTriggerPlotEmpty: 0.000 secs (1 calls) = 0.000 secs
CvRandomEventInterface;canApplyTraitOrganized: 0.000 secs (1 calls) = 0.000 secs
Erebus;beforeGeneration: 0.000 secs (1 calls) = 0.000 secs

doFFTurn (which handles the python side of Hell Terrain, plus all of Lizard Terrain and Haunted Lands) is called through "beginGameTurn". 14 seconds total over 171 turns.

CvGameInterface is where I'm currently looking - it has a *lot* of calls at very small times each. (0.000 is the pretty print version of the time per call - the actual value is less than a millisecond, so is truncated). With "canBuild" being so high on the list, I'm going to try simplifying the Scion code there (parts of which were run 5116413 times that game), possibly replacing some of the Scion build-orders so that it doesn't need to use that section at all.

GetUpgradePriceOverride is a curious one, as it doesn't actually do anything, but still seems to be taking up a lot of time due to the sheer number of calls. Might be best to disable that one being called at all.
 
Back
Top Bottom