View Issue Details

IDProjectCategoryView StatusLast Update
0003460MMW v4Otherpublic2009-03-11 21:22
Reporterjiri Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.1 
Summary0003460: Optimize performance of some parts of MM
DescriptionBy profiling MM I found several bottlenecks that should be resolved before release:

1. One of the most time consuming is theme_se3objects.pas TSeSkinSource.GetObjectByName() - it's called very often and goes through all available strings. We should:
 1a. Add there a hash table (like we have in Structs.pas, but this one for AnsiString) and thus make the look up much faster.
 1b. Cache objects between calls in various places, so that GetObjectByName() isn't called that often. However, since this could cause problems on changing of skins or so, implementing of 1a. should be enough.

2. Change FLock in VistaNavBar from TGTMREWSync to a CriticalSection - it seems to consume too much time.

3. Even though I don't play anything, TSkinVisualization.VisTimer() takes a lot of time (almost the most of all other methods) - I guess that it could be optimized.
TagsNo tags attached.
Fixed in build1185

Activities

petr

2008-08-25 16:10

developer   ~0014472

Some speed improvements will be in 1185

peke

2009-02-19 22:53

developer   ~0016726

Verified in 1223 using task manager and procXP to monitor utilization.

Left as resolved due to unfinished state of optimization.

rusty

2009-03-11 21:22

administrator   ~0017062

Optimizations in this area are complete for 3.1. Closign.