Skip to content

Commit 7af8f6f

Browse files
added performance output for the node performance tests.
1 parent ae09da3 commit 7af8f6f

File tree

7 files changed

+39
-0
lines changed

7 files changed

+39
-0
lines changed

tests/tests/classes/tests/PerformanceTest/PerformanceNodeChildrenTest/AddRemoveSpriteSheet.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,34 @@ namespace tests
99
{
1010
public class AddRemoveSpriteSheet : NodeChildrenMainScene
1111
{
12+
1213
public override void updateQuantityOfNodes()
1314
{
1415
CCSize s = CCDirector.SharedDirector.WinSize;
1516

1617
// increase nodes
1718
if (currentQuantityOfNodes < quantityOfNodes)
1819
{
20+
StartTimer();
1921
for (int i = 0; i < (quantityOfNodes - currentQuantityOfNodes); i++)
2022
{
2123
CCSprite sprite = new CCSprite(batchNode.Texture, new CCRect(0, 0, 32, 32));
2224
batchNode.AddChild(sprite);
2325
sprite.Position = new CCPoint(CCRandom.Next() * s.Width, CCRandom.Next() * s.Height);
2426
sprite.Visible = false;
2527
}
28+
EndTimer("Current Quantity: add");
2629
}
2730
// decrease nodes
2831
else if (currentQuantityOfNodes > quantityOfNodes)
2932
{
33+
StartTimer();
3034
for (int i = 0; i < (currentQuantityOfNodes - quantityOfNodes); i++)
3135
{
3236
int index = currentQuantityOfNodes - i - 1;
3337
batchNode.RemoveChildAtIndex(index, true);
3438
}
39+
EndTimer("Current Quantity: add");
3540
}
3641

3742
currentQuantityOfNodes = quantityOfNodes;

tests/tests/classes/tests/PerformanceTest/PerformanceNodeChildrenTest/IterateSpriteSheet.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public override void updateQuantityOfNodes()
1717
// increase nodes
1818
if (currentQuantityOfNodes < quantityOfNodes)
1919
{
20+
StartTimer();
2021
for (int i = 0; i < (quantityOfNodes - currentQuantityOfNodes); i++)
2122
{
2223
CCSprite sprite = new CCSprite(batchNode.Texture, new CCRect(0, 0, 32, 32));
@@ -28,6 +29,7 @@ public override void updateQuantityOfNodes()
2829
// decrease nodes
2930
else if (currentQuantityOfNodes > quantityOfNodes)
3031
{
32+
StartTimer();
3133
for (int i = 0; i < (currentQuantityOfNodes - quantityOfNodes); i++)
3234
{
3335
int index = currentQuantityOfNodes - i - 1;

tests/tests/classes/tests/PerformanceTest/PerformanceNodeChildrenTest/IterateSpriteSheetCArray.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ public override void Update(float dt)
1919
// CCProfilingBeginTimingBlock(_profilingTimer);
2020
//#endif
2121

22+
StartTimer();
2223
foreach (var pObject in pChildren)
2324
{
2425
CCSprite pSprite = (CCSprite)pObject;
2526
pSprite.Visible = false;
2627
}
28+
EndTimer("Visible change array walk");
2729

2830
//#if CC_ENABLE_PROFILERS
2931
// CCProfilingEndTimingBlock(_profilingTimer);

tests/tests/classes/tests/PerformanceTest/PerformanceNodeChildrenTest/IterateSpriteSheetFastEnum.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ public override void Update(float dt)
1919
// CCProfilingBeginTimingBlock(_profilingTimer);
2020
//#endif
2121

22+
StartTimer();
2223
foreach (var pObject in pChildren)
2324
{
2425
CCSprite pSprite = (CCSprite)pObject;
2526
pSprite.Visible = false;
2627
}
28+
EndTimer("Set visible array walk");
2729

2830
//#if CC_ENABLE_PROFILERS
2931
// CCProfilingEndTimingBlock(_profilingTimer);

tests/tests/classes/tests/PerformanceTest/PerformanceNodeChildrenTest/NodeChildrenMainScene.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,20 @@ namespace tests
88
{
99
public abstract class NodeChildrenMainScene : CCScene
1010
{
11+
long lStart;
12+
13+
protected void StartTimer()
14+
{
15+
lStart = DateTime.Now.Ticks;
16+
}
17+
18+
protected void EndTimer(string msg)
19+
{
20+
long diff = DateTime.Now.Ticks - lStart;
21+
TimeSpan ts = new TimeSpan(diff);
22+
CCLog.Log("{0} took {1} s, or {2} ms", msg, ts.TotalSeconds, ts.TotalMilliseconds);
23+
}
24+
1125
public virtual void initWithQuantityOfNodes(int nNodes)
1226
{
1327
//srand(time());

tests/tests/classes/tests/PerformanceTest/PerformanceNodeChildrenTest/RemoveSpriteSheet.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,27 +24,33 @@ public override void Update(float dt)
2424
List<CCSprite> sprites = new List<CCSprite>();
2525

2626
// Don't include the sprite creation time as part of the profiling
27+
StartTimer();
2728
for (int i = 0; i < totalToAdd; i++)
2829
{
2930
CCSprite pSprite = new CCSprite(batchNode.Texture, new CCRect(0, 0, 32, 32));
3031
sprites.Add(pSprite);
3132
}
33+
EndTimer("Add " + totalToAdd + " sprites");
3234

3335
// add them with random Z (very important!)
36+
StartTimer();
3437
for (int i = 0; i < totalToAdd; i++)
3538
{
3639
batchNode.AddChild((CCNode)(sprites[i]), (int)(CCMacros.CCRandomBetweenNegative1And1() * 50), PerformanceNodeChildrenTest.kTagBase + i);
3740
}
41+
EndTimer("Add sprites to a batch node");
3842

3943
// remove them
4044
//#if CC_ENABLE_PROFILERS
4145
// CCProfilingBeginTimingBlock(_profilingTimer);
4246
//#endif
4347

48+
StartTimer();
4449
for (int i = 0; i < totalToAdd; i++)
4550
{
4651
batchNode.RemoveChildByTag(PerformanceNodeChildrenTest.kTagBase + i, true);
4752
}
53+
EndTimer("Remove children by tag from the batch node");
4854

4955
//#if CC_ENABLE_PROFILERS
5056
// CCProfilingEndTimingBlock(_profilingTimer);

tests/tests/classes/tests/PerformanceTest/PerformanceNodeChildrenTest/ReorderSpriteSheet.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,21 @@ public override void Update(float dt)
2222
List<CCSprite> sprites = new List<CCSprite>();
2323

2424
// Don't include the sprite creation time as part of the profiling
25+
StartTimer();
2526
for (int i = 0; i < totalToAdd; i++)
2627
{
2728
CCSprite pSprite = new CCSprite(batchNode.Texture, new CCRect(0, 0, 32, 32));
2829
sprites.Add(pSprite);
2930
}
31+
EndTimer("Add sprites to batch node");
3032

3133
// add them with random Z (very important!)
34+
StartTimer();
3235
for (int i = 0; i < totalToAdd; i++)
3336
{
3437
batchNode.AddChild((CCNode)(sprites[i]), (int)(CCMacros.CCRandomBetweenNegative1And1() * 50), PerformanceNodeChildrenTest.kTagBase + i);
3538
}
39+
EndTimer("Add sprites to batch node with random z");
3640

3741
// [batchNode sortAllChildren];
3842

@@ -41,21 +45,25 @@ public override void Update(float dt)
4145
// CCProfilingBeginTimingBlock(_profilingTimer);
4246
//#endif
4347

48+
StartTimer();
4449
for (int i = 0; i < totalToAdd; i++)
4550
{
4651
CCNode node = (CCNode)(batchNode.Children[i]);
4752
batchNode.ReorderChild(node, (int)(CCMacros.CCRandomBetweenNegative1And1() * 50));
4853
}
54+
EndTimer("Reordering " + totalToAdd + " sprites in the node");
4955

5056
//#if CC_ENABLE_PROFILERS
5157
// CCProfilingEndTimingBlock(_profilingTimer);
5258
//#endif
5359

5460
// remove them
61+
StartTimer();
5562
for (int i = 0; i < totalToAdd; i++)
5663
{
5764
batchNode.RemoveChildByTag(PerformanceNodeChildrenTest.kTagBase + i, true);
5865
}
66+
EndTimer("Remove the sprites from the batch node");
5967
}
6068
bDone = true;
6169
}

0 commit comments

Comments
 (0)