Performance problems

General messages about RTC and it's development.

Moderator: George Gilbert

Forum rules
Please read the Forum rules and policies before posting.
Post Reply
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Post by Lunever »

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.
Parting is all we know from Heaven, and all we need of hell.
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

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?
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.

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. :)
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Post by Lunever »

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.
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

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:

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
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.
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Post by Lunever »

I never used windowed mode, I've always been using full screen.
Parting is all we know from Heaven, and all we need of hell.
User avatar
TheMormegil
Adept
Posts: 213
Joined: Thu Apr 10, 2003 10:23 am
Location: Wales

Post by TheMormegil »

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

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
Turning off scaling portraits might help a little, but only in the hall of champions!
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Post by Lunever »

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?
Parting is all we know from Heaven, and all we need of hell.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Yes, if you don't cache it has to do everything as it goes, or from memory, or soemthing...I'm sure it says in the docs or somewhere...

With stelplighting, unless I am wrong, it's not using the gradual alpha blend transparancy
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

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?
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).

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.
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Post by Lunever »

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.
Parting is all we know from Heaven, and all we need of hell.
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

No, step-lighting will make no difference at all and in fact running in low-res might actually take slightly longer!
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Post by Lunever »

Ok, caching is really a bit better (of course even caching on doesn't make a pII run on 4GHz). Seems that to think turning everything optional off isn't that bright an idea.
Parting is all we know from Heaven, and all we need of hell.
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Post by Lunever »

PS: Why is caching optional then at all?
Parting is all we know from Heaven, and all we need of hell.
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

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).
User avatar
TheMormegil
Adept
Posts: 213
Joined: Thu Apr 10, 2003 10:23 am
Location: Wales

Post by TheMormegil »

Hmm I was sure something other than cache had made a difference, ah well I'll turn hi res etc back on then! :)
Post Reply