3bea4c16 |
1 | puts "TODO OCC11111 ALL: Faulty OCC23069" |
2 | puts "TODO OCC11111 ALL: FPS_percent" |
3 | puts "TODO ?OCC11111 ALL: CPU_percent" |
4 | |
5 | puts "===========" |
6 | puts "OCC23069" |
7 | puts "===========" |
8 | puts "" |
9 | ################################################################################ |
10 | # OpenGL state extraction for GL_RENDER_MODE significantly impact performance |
11 | ################################################################################ |
12 | |
13 | set BugNumber OCC23069 |
14 | |
15 | vinit |
16 | for {set anInter 1} {$anInter <= 1000} {incr anInter} { |
17 | box b${anInter} [expr $anInter * 20] 0 0 10 20 30 |
18 | vdisplay b${anInter} |
19 | } |
20 | vfit |
21 | |
22 | set Log [vfps] |
23 | |
24 | # |
25 | proc GetPercent {Value GoodValue} { |
26 | set Percent 0. |
27 | if {${GoodValue} != 0.} { |
28 | set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.] |
29 | } elseif {${Value} != 0.} { |
30 | set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.] |
31 | } else { |
32 | set Percent 0. |
33 | } |
34 | return ${Percent} |
35 | } |
36 | |
37 | set percent_max 20.0 |
38 | |
39 | set good_FPS 4.2 |
40 | set good_CPU 15.0 |
41 | |
42 | set status 0 |
43 | if { [llength ${Log}] == 5} { |
44 | if { [regexp {FPS: [-0-9.+eE]+} $Log] && [regexp {CPU: [-0-9.+eE]+ msec} $Log] } { |
45 | set status 0 |
46 | regexp {FPS: ([-0-9.+eE]+)} $Log full FPS |
47 | regexp {CPU: ([-0-9.+eE]+) msec} $Log full CPU |
48 | |
49 | set CPU_percent [GetPercent ${CPU} ${good_CPU}] |
50 | if { ${CPU_percent} > ${percent_max} } { |
51 | puts "CPU_percent = ${CPU_percent} ; CPU: Faulty" |
52 | set status 1 |
53 | } |
54 | |
55 | set FPS_percent [GetPercent ${FPS} ${good_FPS}] |
56 | if { ${FPS_percent} > ${percent_max} } { |
57 | puts "FPS_percent = ${FPS_percent} ; FPS: Faulty" |
58 | set status 1 |
59 | } |
60 | } else { |
61 | set status 1 |
62 | } |
63 | } else { |
64 | set status 1 |
65 | } |
66 | |
67 | # Resume |
68 | puts "" |
69 | if { ${status} == 0 } { |
70 | puts "OK ${BugNumber}" |
71 | } else { |
72 | puts "Faulty ${BugNumber}" |
73 | } |
74 | |