Performance problems
Moderator: George Gilbert
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
continuing report:
Just finished the worm level. Whew, every single worm has been a challenge, I think I died as often as I did when playing FTL-DM for the very first time. Great!
Playing right now on that aforementioned very old machine I noticed something interesting: When I shot the "prisoner"-mummy to get a clear shot a those 8 worms (no way I could live with circumventing them), at first it went smoothly even on the pII, but with every worm shot the game slowed down a bit; it seems, that the pile of worm rounds takes the engine far more resources that handling the actual living monsters; when a darkening of light started to set in, the combination of worm round piles and light handling slowed the game really awfully down. Well, I suppose it's not important, only very few people will use such an old machine for RTC, but I've been thinking I should mention it at least.
Just finished the worm level. Whew, every single worm has been a challenge, I think I died as often as I did when playing FTL-DM for the very first time. Great!
Playing right now on that aforementioned very old machine I noticed something interesting: When I shot the "prisoner"-mummy to get a clear shot a those 8 worms (no way I could live with circumventing them), at first it went smoothly even on the pII, but with every worm shot the game slowed down a bit; it seems, that the pile of worm rounds takes the engine far more resources that handling the actual living monsters; when a darkening of light started to set in, the combination of worm round piles and light handling slowed the game really awfully down. Well, I suppose it's not important, only very few people will use such an old machine for RTC, but I've been thinking I should mention it at least.
Parting is all we know from Heaven, and all we need of hell.
- Sophia
- Concise and Honest
- Posts: 4240
- Joined: Thu Sep 12, 2002 9:50 pm
- Location: Nowhere in particular
- Contact:
Doing that won't get you much of anything. The symptoms you have described seem to imply that the slowness is in rendering the graphics, not updating the dungeon.Lunever wrote:Despite having turned off almost everything starting from config options and ranging to disconnecting the machine and disabling even virus protection and firewall, the game sometimes becomes slowed down, especially when there are either a lot of monsters about or a lot of items piled on the floor, especially if either happens when it is rather dark. Is it possible to include some option in some future release so I can continue to play RTC on this old machine, like an option that makes RTC behave like FTL-DM in respect to the number of active dungeon levels?
There is a pretty good amount of inefficency in the RTC renderer, but, the unfortunate truth is, any sort of complex scaling, transparency, etc. effects being done in software at the resolutions RTC runs at are simply going to be slow on an older computer.
A mode that -looks- more like FTL-DM might get you more, but I wouldn't know how to make that work with modern custom dungeons.
Well, if possible at all it'd be enough if it worked with the dungeons originally designed by FTL. If more modern custom dungeons wouldn't work with such modifications, so be it - you can't have everything on such an old machine. Beside that, I do have a more recent machine too, but often I have only the older one available (newer desktop - older laptop).
Parting is all we know from Heaven, and all we need of hell.
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
Sophia is correct, the problem is in the rendering part of the code, not the dungeon update.
I did some experiments a while ago on performance and with some code like this attached to the main game loop:
For that kind of thing, the time for A and B are almost identical (about 95% for the entire DM or CSB dungeon). I.e. RTC is keeping track and updating about 5000-10000 items with negligible impact on performance. Dropping this down to just updating a single level (so about 500-1000 items) really wouldn't make any difference.
Bear in mind that the Atari / Amiga versions had to run on 8 MHz machines so cunning short cuts were required for big dungeons. My guess is that everyone here is playing on computers 100 (if not 500) times more powerful and so keeping lots of objects updated is not an issue.
The slow down comes in the rendering of the screen where RTC runs at double the resolution (so 4 times as many pixels) and 32-bit instead of 4-bit graphics so there's a total of 32 times as much information to blit to the screen.
From your other posts I believe your running in the unsupported windowed mode which will slow it down even further. Try running RTC fullscreen (the supported default!) and you should be OK.
I did some experiments a while ago on performance and with some code like this attached to the main game loop:
Code: Select all
Start main loop
Start timer A
Check for mouse / keyboard
Update entire dungeon
Calculate stuff to draw
Start timer B
Make DirectX draw functions
Stop timer B
Stop timer A
End main loop
Bear in mind that the Atari / Amiga versions had to run on 8 MHz machines so cunning short cuts were required for big dungeons. My guess is that everyone here is playing on computers 100 (if not 500) times more powerful and so keeping lots of objects updated is not an issue.
The slow down comes in the rendering of the screen where RTC runs at double the resolution (so 4 times as many pixels) and 32-bit instead of 4-bit graphics so there's a total of 32 times as much information to blit to the screen.
From your other posts I believe your running in the unsupported windowed mode which will slow it down even further. Try running RTC fullscreen (the supported default!) and you should be OK.
- TheMormegil
- Adept
- Posts: 213
- Joined: Thu Apr 10, 2003 10:23 am
- Location: Wales
RTC slows down quite nastily when there are a lot of things being drawn for me too. I'm using an oldish laptop abroad atm, sure it would be fine on my PC at home. Anyway changing the config helped considerably. Here are the relavent bits
Turning off scaling portraits might help a little, but only in the hall of champions!
Code: Select all
CACHE YES
ANTI_ALIAS NO
LOW_RESOLUTION YES
TRANSPARENCY NO
STEPLIGHTING YES
SLOW_WAKING NO
FIREBALL_LIGHT NO
FLIGHT_ARC YES
SCALE_PORTRAITS YES
I did most of this too, but:
I have CACHE NO. Is cache on better for performance?
ANTI-ALIAS - NO, right
Lowres - YES, right
Transparency - NO, right
I have STEPLIGHTING NO. Is steplighting using up less ressources?
Slow-waking - NO, right
Fireball-light - NO, right
I have Flight_Arc NO, assuming that it would take less ressources, am I wrong with that?
Scale portraits - what exactly is that doing?
I have CACHE NO. Is cache on better for performance?
ANTI-ALIAS - NO, right
Lowres - YES, right
Transparency - NO, right
I have STEPLIGHTING NO. Is steplighting using up less ressources?
Slow-waking - NO, right
Fireball-light - NO, right
I have Flight_Arc NO, assuming that it would take less ressources, am I wrong with that?
Scale portraits - what exactly is that doing?
Parting is all we know from Heaven, and all we need of hell.
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
The cache is the single biggest way to improve performance! Set that to YES and you'll notice a huge improvement in performance (at a cost of some extra memory used).Lunever wrote:I did most of this too, but:
I have CACHE NO. Is cache on better for performance?
ANTI-ALIAS - NO, right
Lowres - YES, right
Transparency - NO, right
I have STEPLIGHTING NO. Is steplighting using up less ressources?
Slow-waking - NO, right
Fireball-light - NO, right
I have Flight_Arc NO, assuming that it would take less ressources, am I wrong with that?
Scale portraits - what exactly is that doing?
Anti-alias: No impact on performance if cache is on, it will kill performace completely if its off though
Low-res: No significant difference if cache is on, slightly slower with it off
Transparency: Only makes a difference when drawing transparent objects (e.g. water elementals etc)
Steplighting: Makes no difference whatsoever (it just rounds up the light level to step values)
Slow waking: No difference
Fireball-light: No difference
Flight-arc: No difference (it just draws items gradually lower on the screen as they fly)
Scale-portraits: Draws the mirror characters at a distance of more than 1 square away from the party. Only makes a difference when the party is looking at a portrait (and then only with the cache off).
************
In Summary: Set CACHE to YES - nothing else then really makes any difference.
Ok, even if the difference is insignificant, just out of curiosity: In theory, does steplighting ON and Low-res ON use a tick less ressources than having them OFF?
I gonna try out cache ON now, I'll report back whether it improves anything.
I gonna try out cache ON now, I'll report back whether it improves anything.
Parting is all we know from Heaven, and all we need of hell.
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
Because when I first wrote RTC, computers came with much less memory as standard and so using memory to pre-render images (which is what the cache is - and therefore why when its on antialiasing etc then doesn't affect performance) wasn't an option for everyone.
These days, you're right though - there's no need to turn it off (which is why it's on by default).
These days, you're right though - there's no need to turn it off (which is why it's on by default).
- TheMormegil
- Adept
- Posts: 213
- Joined: Thu Apr 10, 2003 10:23 am
- Location: Wales