-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathProgram.cs
More file actions
82 lines (81 loc) · 3.6 KB
/
Program.cs
File metadata and controls
82 lines (81 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
using System;
namespace graphicsengine
{
class Program
{
static void demo(){
frame.initialze(100,30);
float time = analyse.Measure(frame.fullflip);
frame.sidelog("elapsed time: "+Convert.ToString(time).PadRight(4));
frame.fill('#');
time = analyse.Measure(frame.flip);
frame.sidelog("elapsed time: "+Convert.ToString(time).PadRight(4));
Console.ReadLine();
frame.Clear();
frame.drawcircle(10,10,7);
time = analyse.Measure(frame.flip);
frame.sidelog("elapsed time: "+Convert.ToString(time).PadRight(4));
Console.ReadLine();
frame.Clear();
line firstline = new line(new point(5,5),new point(5,10),'|');
line secondline = new line(new point(5,10),new point(10,10),'-');
line thirdline = new line(new point(10,10),new point(10,5),'|');
line fourthline = new line(new point(10,5),new point(5,5),'-');
line diagonal = new line(new point(0,0),new point(10,10),'\\');
line seconddiagonal = new line(new point(0,10),new point(10,0),'/');
frame.renderline(firstline);
frame.renderline(secondline);
frame.renderline(thirdline);
frame.renderline(fourthline);
frame.renderline(diagonal);
frame.renderline(seconddiagonal);
time = analyse.Measure(frame.flip);
frame.sidelog("elapsed time: "+Convert.ToString(time).PadRight(4));
Console.ReadLine();
frame.Clear();
new polygon(5,3,10,10,true); // Noncompliant
new polygon(5,4,10,20,true); // Noncompliant
new polygon(5,5,20,20, true); // Noncompliant
new polygon(5,6,20,10, true); // Noncompliant
new polygon(10,5,40,20, true); // Noncompliant
frame.renderpolygons();
time = analyse.Measure(frame.flip);
frame.sidelog("elapsed time: "+Convert.ToString(time).PadRight(4));
Console.ReadLine();
}
static void dynamic(){
frame.initialze(300,80);
frame.fullflip();
polygon polarpol = new polygon(50,8,100,50,false,true);
frame.renderpolygons();
frame.flip();
frame.drawcircle(100,100,50,'0');
polygon triangle = new polygon(30,4,110,50);
frame.renderpolygons();
frame.flip();
while(true){
foreach(point i in triangle.points){
i.X++;
if(i.X>300){
i.X=0;
}
}
foreach(point i in polarpol.points){
i.angle+=0.1;
}
double cleartime = analyse.Measure(frame.Clear);
double rendertime = analyse.Measure(frame.renderpolygons);
double fliptime = analyse.Measure(frame.flip);
frame.sidelog("cleartime: "+Convert.ToString(cleartime).PadRight(3)+"ms",0,0);
frame.sidelog("rendertime: "+Convert.ToString(rendertime).PadRight(3)+"ms",0,1);
frame.sidelog("fliptime: "+Convert.ToString(fliptime).PadRight(3)+"ms",0,2);
frame.sidelog("total: "+Convert.ToString(cleartime+rendertime+fliptime).PadRight(3)+"ms",0,3);
frame.sidelog("framerate: "+Convert.ToString(1000/(cleartime+rendertime+fliptime)).PadRight(3)+"fps ",0,4);
}
}
static void Main(string[] args)
{
dynamic();
}
}
}