[Fixed]Ultra long loading times after enabling new techs (satellites in particular)

Rifler

Chieftain
Joined
Dec 13, 2009
Messages
54
Location
Germany
Hello folks,

it's me again. I figured a very weird issue since yesterday. One thing that globally changed was the update to the new Windows 10 version, but I highly doubt it is related to that. As some of you know I am working on a addon for CBP, primarly trying to merge CBP with prehistoric mod and future techs. I'm working on this package for about 6-8 weeks now, but now my development came to an utter halt. In particular I'm reworking the tech tree to merge the AI beneficial changes from CBP with the prehistoric tech tree. For that I was going through any single instance of Technology_PrereqTechs to rearrange the tech tree. When I made it towards the end I started experiencing extremely long loading times (starting a new map). I pinned it down to any of the techs: TECH_SATELLITES, TECH_COMPUTERS and TECH_ROCKETRY.

When I exclude satellites from the tech connections, the map will just create as usual (~10-15 seconds loading times). When I enable satellites and exclude computers and rocketry the map will create as usual. But when I enable the whole tech tree, loading takes up to 7-8 minutes. I am on a defragged SSD, Windows 10, intel 8 core@ 3.60Ghz. 16 GB RAM and a Nvidia 980. So it can not be my system or Windows I deem. I also tried all the fixes available (including the one with steam cloud issues, though I'm not even using steam cloud). I absolutely have no clue why this is happening. I imagined it's because I've added so much more techs, units and buildings. But this doesn't relate. Loading times should be proportional to new content added, but this loading times are clearly unproportional.

As I absolutely have no clue what's causing this, I'm forced to upload my files for anyone trying to help me. You will need to have CPP installed. For development reasons I'm building my addon inside the CBP and then later convert it to a Mod that is dependend on CBP. Also, further down there are log files added. F.e. this looks extremely distrubing, as I don't even understand what exactly is related to this...

Code:
[64317.468] DBG: SystemInit: LoadGameState::GameViewState::StartupGame(): 399300 Milliseconds

...this are nearly 7 minutes and it seems to be the evidence for issues. However, here are the files, please help me. To CBP dev team. The file will be deleted once the issue is fixed, or not fixed.

*links removed*
 
It's a known issue. A google search of these forums should bring up several threads about it.
 
It's a known issue. A google search of these forums should bring up several threads about it.

True, if you know the correct search phrase. The one that lead to success was: LoadGameState::GameViewState...this led me to this thread. The answer was the apollo programm which is vanilla tied to rocketry tech. CBP attached it to the satellite tech. Reverting the wonder to its vanilla state cut the loading times in half. 2 minutes was still to much for my taste, so that wasn't the only thing you had to change. CBP edited the VictoryProgression.lua as well. I wonder if the CPP team is aware of this problem, as it completely removes any chance to add new techs. Here's in detail what I did. The uploaded files have been removed, thanks for your help.

Outcomment this section inside the WonderChanges.sql...

Code:
-- Move Apollo 
--UPDATE Projects
--SET TechPrereq = 'TECH_SATELLITES'
--WHERE Type = 'PROJECT_APOLLO_PROGRAM' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );

...which will revert the apollo programm to its vanilla state. This will fix any vanilla apollo bug related long loading bug. To entirely fix it, yoou will need to outcomment this section inside VictoryProgression.lua...

Spoiler :
Code:
		-- CBP
		--Controls.CulturalIdeologyInfo:SetHide(true);
		--Controls.CulturalVictoryInfo:SetHide(false);
		-- END 
		--local iIdeology = pActivePlayer:GetLateGamePolicyTree();
		--if (iIdeology ~= PolicyBranchTypes.NO_POLICY_BRANCH_TYPE) then
			
			--Controls.CulturalIdeologyInfo:SetHide(false);
			--Controls.CulturalVictoryInfo:SetHide(true);
		   
			--local szOpinionString;
			--local iOpinion = pActivePlayer:GetPublicOpinionType();
			--if (iOpinion == PublicOpinionTypes.PUBLIC_OPINION_CONTENT) then
				--szOpinionString = Locale.ConvertTextKey("TXT_KEY_CO_PUBLIC_OPINION_CONTENT_VC");
			--elseif (iOpinion == PublicOpinionTypes.PUBLIC_OPINION_DISSIDENTS) then
				--szOpinionString = Locale.ConvertTextKey("TXT_KEY_CO_PUBLIC_OPINION_DISSIDENTS_VC");
			--elseif (iOpinion == PublicOpinionTypes.PUBLIC_OPINION_CIVIL_RESISTANCE) then
				--szOpinionString = Locale.ConvertTextKey("TXT_KEY_CO_PUBLIC_OPINION_CIVIL_RESISTANCE_VC");
			--elseif (iOpinion == PublicOpinionTypes.PUBLIC_OPINION_REVOLUTIONARY_WAVE) then
				--szOpinionString = Locale.ConvertTextKey("TXT_KEY_CO_PUBLIC_OPINION_REVOLUTIONARY_WAVE_VC");
			--else
				--szOpinionString = Locale.ConvertTextKey("TXT_KEY_CO_PUBLIC_OPINION_UNKNOWN_VC");
			--end

			--Controls.CulturalIdeologyInfo:SetText(szOpinionString);
		--end
		--END

... I don't know what exactly will cause outcommenting those LoC's, but since I will beta test my mod package, I maybe can tell you later on.
 
Top Bottom