0024224: Suspicious logics in changing clipping planes at OpenGl_Structure
[occt.git] / tests / bugs / vis / bug23069
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