4 using System.Diagnostics;
6 namespace SiliconStudio.Paradox.Shaders.Parser.Performance
10 private static Stopwatch
Global =
new Stopwatch();
20 case GenerateShaderStage.Global:
23 case GenerateShaderStage.GroupByConstantBuffer:
24 GroupByConstantBuffer.Start();
26 case GenerateShaderStage.StreamCreator:
27 StreamCreator.Start();
29 case GenerateShaderStage.ExpandForEachStatements:
30 ExpandForEachStatements.Start();
32 case GenerateShaderStage.RemoveUselessVariables:
33 RemoveUselessVariables.Start();
42 case GenerateShaderStage.Global:
45 case GenerateShaderStage.GroupByConstantBuffer:
46 GroupByConstantBuffer.Stop();
48 case GenerateShaderStage.StreamCreator:
51 case GenerateShaderStage.ExpandForEachStatements:
52 ExpandForEachStatements.Stop();
54 case GenerateShaderStage.RemoveUselessVariables:
55 RemoveUselessVariables.Start();
63 GroupByConstantBuffer.Reset();
64 StreamCreator.Reset();
65 ExpandForEachStatements.Reset();
66 RemoveUselessVariables.Reset();
72 Console.WriteLine(
@"----------------------------GENERATE SHADER ANALYZER-----------------------------");
73 Console.WriteLine(
@"Whole generation took {0} ms", Global.ElapsedMilliseconds);
74 Console.WriteLine(
@"GroupByConstantBuffer took {0} ms", GroupByConstantBuffer.ElapsedMilliseconds);
75 Console.WriteLine(
@"StreamCreator took {0} ms", StreamCreator.ElapsedMilliseconds);
76 Console.WriteLine(
@"ExpandForEachStatements took {0} ms", ExpandForEachStatements.ElapsedMilliseconds);
77 Console.WriteLine(
@"RemoveUselessVariables took {0} ms", RemoveUselessVariables.ElapsedMilliseconds);
78 Console.WriteLine(
@"-------------------------------------------------------------------------------");