- Sep 8, 2019
- 530
- 903
Yeah, I remember memory allocations being a pretty big issue, especially at the end of a turn. The game seems to allocate, populate, and dispose of a ton of lists fairly rapidly, to the point where available memory bandwidth makes a significant difference. The game would perform okay on systems with a dedicated GPU or systems but would flounder on standard DDR4 systems with an iGPU. That sort of thing would generally only happen when you did a lot of breeding, given that it's tied to NPC count, but it's something that could naturally happen as the game world itself expands.yeah inno made her own custom parser, all in all even if it ends slow (i don't think it does, it'd need a lot of parsable stuff) it's far from the biggest problem
Life ended up getting kind of busy for me around when I was trying to untangle that, so I wasn't able to get too deep into that issue. I might start to look into it again now that things are settling down…we'll see.
It's worth noting that someone (AceXP, I think) improved the offspring system to mitigate this issue. I think the workaround here was to only initialize offspring NPCs when the player actually encounters them into the world.
Holy shit, that's a pretty solid improvement.jxbrowser really seems like the one true way to fix it, in the worst case scenario it's 3x faster, and since it'll allow gpu acceleration and so much more i expect the wait time between anything to be much more affected.
Yeah, not to mention an eternity of testing. Implementing new features is always a lot more fun than refactoring/rewriting old code. Plus, it's kind of hard to justify to the end user why you need to spend X amount of time rewriting something that "works perfectly fine" (and knowing what I know about many computer users, the damn thing could be on fire and spewing out plumes of radioactive gas and they'd still say it "works fine," lol).it's not like there's complex stuff, just a fuckton of stuff