The RoM Slowdown Culprit

:bump:
Well, is it just me or do anyone else experience the same thing?

I noticed the save-slowdown issue, too. I have been assuming it was some unknown caching issue with my computer, so I just restart when that happens, and it seems to help.

Thanks to Afforess, by the way, for working to speed up RoM!!!

I would bet it's because of the CAR mod. It uses cache's to speed the game. However, on reloading the game, it has to re-compute all the cache's, making the first 10 turns or so slower than usual. After that, it should pick up a bit.
 
Just ignore DRJ, no one else here agrees with his political ramblings.

I personally think you're doing a great job.
I second that thought. I would never join the military personally, but I respect those who deserve it.

Getting back to the topic, I don't get the slowdown when reloading rather than a slight speed up. I do notice that when I build a building, the game pauses while the building sound starts and finishes only to do that on the next building if possible. I wonder if that has something to do with the callback procedure? I doubt it's my sound because it works fine with vanilla BTS. I'll look into any other things that may possibly slow down ROM.

On a side note: I notice when I go into worldbuilder, I see little red dots (circles) around many plots of land, just out of curiosity, what do they mean? I haven't quite figured out that yet...
 
I do notice that when I build a building, the game pauses while the building sound starts and finishes only to do that on the next building if possible. I wonder if that has something to do with the callback procedure? I doubt it's my sound because it works fine with vanilla BTS. I'll look into any other things that may possibly slow down ROM.

Good call! When I'm in the city view, and I ctr- or shift-click to add a building to my queue, I have to wait 5-10 seconds before I can add anything else. In fact, I can mouse over other buildings while waiting for it to add, and I don't even get the mouse-over tip from that building.

I use the building queue saves (Ctr-1, ctr-2, etc.) to help speed this up -- but it still is a major slow-down.
 
Good call! When I'm in the city view, and I ctr- or shift-click to add a building to my queue, I have to wait 5-10 seconds before I can add anything else. In fact, I can mouse over other buildings while waiting for it to add, and I don't even get the mouse-over tip from that building.

I use the building queue saves (Ctr-1, ctr-2, etc.) to help speed this up -- but it still is a major slow-down.

As a test, I turned off all the callbacks, and tried that (Because I noticed the slowdowns myself) and the queue is just as responsive as vanilla BTS, once I disabled the callbacks. :)

I'm moving forward nicely. I've got a bit more done, and will soon have everything ready for my next beta...
 
As a test, I turned off all the callbacks, and tried that (Because I noticed the slowdowns myself) and the queue is just as responsive as vanilla BTS, once I disabled the callbacks. :)

I'm moving forward nicely. I've got a bit more done, and will soon have everything ready for my next beta...

AWESOME!!! :D I'm stoked -- thanks for all your continued hard work!
 
As a test, I turned off all the callbacks, and tried that (Because I noticed the slowdowns myself) and the queue is just as responsive as vanilla BTS, once I disabled the callbacks. :)

I'm moving forward nicely. I've got a bit more done, and will soon have everything ready for my next beta...
So the callbacks are the major culprit eh? What exactly do they look like? XML, Python, etc? If I wanted to do some tinkering myself, what would I be looking for :think:
 
So the callbacks are the major culprit eh? What exactly do they look like? XML, Python, etc? If I wanted to do some tinkering myself, what would I be looking for :think:

It's python. It's used to hardcode changes in the game. For instance, you know how the Slave Market requires the civic slavery? There (was) no XML for that. Zappara hard coded it into python, using a python callback. But python callbacks slow the game down...

So, I am going through all of Zappara's code, softcoding all of the features he hard coded into the SDK, which is much faster, and will remove the callbacks.
 
... but I was wondering if anybody had ever toyed with the idea of combat hospitals for the game, or mobile hospitals that travel with a stack... like a MASH, or a hospital that can heal within 10 squares or something.

I have seen this type of unit in other mods, I will see if I can find it. There have been quite a few attempts at providing medical support to stacks but most function via promotions rather than units. Also they only affect the plot and sometimes neighbouring plots.

AAranda did publish a modmod for RoM with various healers much like RoM's medic unit. He then put out some units to counter them for ballance. I have done a straight conversion of these, see my sig. I think they could do with a bit more integration.

I will add this to my to do list.
 
I would bet it's because of the CAR mod. It uses cache's to speed the game. However, on reloading the game, it has to re-compute all the cache's, making the first 10 turns or so slower than usual. After that, it should pick up a bit.

This may be part cause of my cache problem. I am getting the rare CTDs. When I load a save from the turn of the CTD I have no problems. If however I had not saved for three or more turns and go back to that save it CTDs always. If I then unload RoM load another mod, load RoM and load the save everything works fine.
 
This may be part cause of my cache problem. I am getting the rare CTDs. When I load a save from the turn of the CTD I have no problems. If however I had not saved for three or more turns and go back to that save it CTDs always. If I then unload RoM load another mod, load RoM and load the save everything works fine.

Well, next beta, you will be able to see in detail the cause of the crash, and where in the source code it is... Then, we can squash that bug once and for all.

In related news, I only have one last array to code, and I'm done with the SDK. Then, I'll need to add the new XML, and then I'll be good for a release.
 
I just finished this project, and have everything softcoded.

The Test:

I ran a game twice once with RoM 2.8, my modmod's v 1.4, with the logging on. The settings were a Standard RoM_Contients map, with default game options. The other time had the same settings, except using the unreleased developmental version of my modmods, RoM 2.8, and logging on. So the settings are identical.

One can note that my later developmental version actually has more SDK and XML code, so theoretically, it should run slower, if we discount the python callbacks. How much slower? I'm not sure, but I can say that there are about an extra 30 or so buildings, so it is a fair bit slower. However, for this test, we will discount these discrepancies. We want to look at the difference between python callbacks and no python callbacks.

The Results:

100 Turns with the plain RoM and Afforess's Modmod v 1.4, and with python callbacks took an average of 6 seconds/turn.

100 Turns with the latest developmental version of RoM, with Afforess's Modmods, and no python callbacks took an average 4.5 seconds/turn.

That's approximately a 33% increase in speed. Not bad for no loss in features.

Other Comments:


Without python callbacks, the city screen interface, particularly when choosing the queue to build items, seemed much faster.

Finally, I will say that I will always spend my time looking for other things like this to speed RoM. It is my desire to one day have RoM run as fast as plain BTS. This may not be an achievable dream, but I can still strive for it.

EDIT:

I should also mention that I was playing with Storms, I think adding a No Storms Module, like OS79 made would speed up RoM even more. Also, Because I compared my older modmods, to my newest modmods, CAR was included in both turn times. That speeds up vanilla RoM by about 10%. By using the latest un-released developmental version of my modmods, with no storms, players could get a total of a 50-60% speed boost over vanilla RoM.
 
Sounds good, lets do it! :)

Now I just have to get Vista to let me install your mods properly and I'll be in Civeaven ;)
 
Wow. Well. I'm not a military commander. Or a politician. Or a war supporter. Or a cold blooded killer. I'm a medic. I try to keep my own people safe because they're young, and don't realize how much they have to lose. If you see something wrong with that, I'm sorry. Anyway... I guess I should start a new topic about this... but I was wondering if anybody had ever toyed with the idea of combat hospitals for the game, or mobile hospitals that travel with a stack... like a MASH, or a hospital that can heal within 10 squares or something.

Please don't be rude because I'm doing my job. I'd prefer to be at home with the wife and kid, if it makes a difference. By the way I'm running interference here for the guys behind me who... well... aren't medics. :P
I salute you, thanks for saving lives
I just finished this project, and have everything softcoded.

The Test:

I ran a game twice once with RoM 2.8, my modmod's v 1.4, with the logging on. The settings were a Standard RoM_Contients map, with default game options. The other time had the same settings, except using the unreleased developmental version of my modmods, RoM 2.8, and logging on. So the settings are identical.

One can note that my later developmental version actually has more SDK and XML code, so theoretically, it should run slower, if we discount the python callbacks. How much slower? I'm not sure, but I can say that there are about an extra 30 or so buildings, so it is a fair bit slower. However, for this test, we will discount these discrepancies. We want to look at the difference between python callbacks and no python callbacks.

The Results:

100 Turns with the plain RoM and Afforess's Modmod v 1.4, and with python callbacks took an average of 6 seconds/turn.

100 Turns with the latest developmental version of RoM, with Afforess's Modmods, and no python callbacks took an average 4.5 seconds/turn.

That's approximately a 33% increase in speed. Not bad for no loss in features.

Other Comments:


Without python callbacks, the city screen interface, particularly when choosing the queue to build items, seemed much faster.

Finally, I will say that I will always spend my time looking for other things like this to speed RoM. It is my desire to one day have RoM run as fast as plain BTS. This may not be an achievable dream, but I can still strive for it.

EDIT:

I should also mention that I was playing with Storms, I think adding a No Storms Module, like OS79 made would speed up RoM even more. Also, Because I compared my older modmods, to my newest modmods, CAR was included in both turn times. That speeds up vanilla RoM by about 10%. By using the latest un-released developmental version of my modmods, with no storms, players could get a total of a 50-60% speed boost over vanilla RoM.

@bolded :D
this would be awesome when I get to industrial era
 
DocBuchanan,

Thank you for your military service. Those who save lives are the most honorable of men, in my opinion.

DRJ,

I haven't logged into CivFanatics for roughly a year, then I started reading your posts. They made me unhappy. I don't know about the others on the board, but I'm not going to tolerate your disgusting vitriol.

Off-topic? Who cares, it's giving due regards to a soldier who saves other people's lives. Maybe he'll save your life one day if things go sideways.
 
DRJ,

I haven't logged into CivFanatics for roughly a year, then I started reading your posts. They made me unhappy. I don't know about the others on the board, but I'm not going to tolerate your disgusting vitriol.

Off-topic? Who cares, it's giving due regards to a soldier who saves other people's lives. Maybe he'll save your life one day if things go sideways.
Basing this on DRJ's political compass signature, he makes me look moderately conservative. I didn't think it was possible to be a anarchistic-communist, or should that be communistic-anarchist?:hmm:
 
DocBuchanan,

Thank you for your military service. Those who save lives are the most honorable of men, in my opinion.

DRJ,

I haven't logged into CivFanatics for roughly a year, then I started reading your posts. They made me unhappy. I don't know about the others on the board, but I'm not going to tolerate your disgusting vitriol.

Off-topic? Who cares, it's giving due regards to a soldier who saves other people's lives. Maybe he'll save your life one day if things go sideways.

You must tolerate him. We all have the right to freedom of speech, except I guess in Germany. :lol:

Basing this on DRJ's political compass signature, he makes me look moderately conservative. I didn't think it was possible to be a anarchistic-communist, or should that be communistic-anarchist?:hmm:

If he makes you look like a moderate conservative, he makes me look like bloody libertarian.
 
Basing this on DRJ's political compass signature, he makes me look moderately conservative. I didn't think it was possible to be a anarchistic-communist, or should that be communistic-anarchist?:hmm:

In perfect communism there is no state
 
"You must tolerate him. We all have the right to freedom of speech, except I guess in Germany."

Heh, but by that, I have the freedom to question someone's speech. I'm not saying he CAN'T say...stuff...but, by golly, I'm not going to just let him do whatnot without his actions being questioned.

"Perfect Communism is an oxymoron."

Communism would be a perfect form of government...in a perfect world. This means, of course, it immediately removes itself as a governmental candidate to those of us who live in what's commonly referred to as reality.
 
Back
Top Bottom