2011-02-22, 01:24
jmarshall Wrote:It'd be good if you could list the times in ms (even just for the "fastest" and "slowest") so we know the relative ones.I almost finished splitting code in CGUIControlFactory::Create - I have some minor glitches and need to fix them, then I'll present table that compares old method and method with selective element parsing.
Just a note - timing values are only useful while referencing other values that were produced in same condition - as I ran my test in debug mode values itself are enormous (here are results of my initial test if any one is interested): Incl. = time needed to resolve include
Code:
[b]Skin Incl. Control Creation[/b]
Night 9100 2550
Aeon65 8550 3750
Alaska Rev 1870 1550
Back-row 4200 2700
Confluence 500 750
Elipsis 2120 3725
Foundation 14 32
Shade 8400 2133
SLik 200 185
When I finish splitting maybe I'll build release version so values would be more reliable). This is how I compare them:
Code:
CGUIControl* CGUIControlFactory::Create(int parentID, const CRect &rect, TiXmlElement* pControlNode, bool insideContainer)
{
g_statsCatcher.Start();
CGUIControl *ctrl2 = Create_new(parentID, rect, pControlNode, insideContainer);
g_statsCatcher.Control_New();
delete ctrl2;
g_statsCatcher.Start();
CGUIControl *control = Create_old(parentID, rect, pControlNode, insideContainer);
g_statsCatcher.Control_Old();
return control;
}
Initial results are quite promising: Create_new seems to be 2-5 times faster than Create_old.
pecinko Wrote:Could you ad PM3.HD to tested skins. I think it's best performing one.I'll check it, but purpose of my tests are to catch slowest skins and see what can be done to load those skins faster - Confluence is really fast and it's good reference point for other skins.