[Scummvm-devel] Optimisation needed for Saga engine

Neil Millstone neil at millstone.demon.co.uk
Mon May 7 13:41:51 CEST 2007


Hi,

I have recently gained the ability to profile my DS port of ScummVM, and 
have been digging a little deeper into the ongoing speed problems I've 
been having with Inherit the Earth.  I found that it is the path finding 
functions of the game which cause it to jump every few seconds.  These 
functions are called infrequently but when they are used, it causes that 
particular frame to take around 200ms to complete, which causes all 
sorts of problems, including breaking the sound up.

The offending functions are:
Actor::findActorPath()
Actor::fillPathArray()

I've been looking at these functions to see how I can improve the 
situation, but I don't quite understand the algorithm used yet.  If 
anyone can offer any tips I would be grateful, or even if they want to 
fix it themselves.  This problem will also probably affect other ports 
to devices with slow CPUs (Palm, Symbian, etc.).

Thanks for your help,

- Neil (agentq)




More information about the Scummvm-devel mailing list