View Issue Details

IDProjectCategoryView StatusLast Update
0032461Open CASCADEOCCT:Visualizationpublic2021-09-18 09:54
Reporternds Assigned Tosmoskvin  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0032461: Visualization, OpenGl_Text - expensive call of glGetTexEnviv/glTexEnvi within OpenGL Compatible Profile
DescriptionViewer that has lots of OpenGl_Text instances requires much more time on redraw when calls 'glGetTexEnviv/glTexEnvi' are performed during each such instance render.
If possible, it's proposed to cover this call by some flag for some of text instances or handle it by some general property.
Steps To Reproducepload ALL
vinit -height 900 -width 1000
vcaps -vsync 0
set t [time {for {set i -250} {$i < 250} {incr i} { vdrawtext text_$i text_$i -pos [expr {30*$i}] [expr {2*$i}] 0}}]
set t [time {for {set i -100} {$i < 100} {incr i} { vdrawtext text2_$i text2_$i -pos [expr {2*$i}] [expr {30*$i}] 0}}]
set t [time {for {set i -100} {$i < 100} {incr i} { vdrawtext text3_$i text3_$i -pos [expr {30*$i}] [expr {30*$i}] 0}}]
set t [time {for {set i -100} {$i < 100} {incr i} { vdrawtext text4_$i text4_$i -pos [expr {-45*$i}] [expr {45*$i}] 0}}]

vfps 1000

View - 32461_view.PNG
TagsNo tags attached.
Test case numberNot required

Attached Files

  • 32461_view.PNG (143,458 bytes)
  • 32461_perf.PNG (13,283 bytes)

Relationships

child of 0025978 closedbugmaster Visualization - setup font aliases for Android 

Activities

git

2021-06-27 00:56

administrator   ~0102102

Branch CR32461 has been created by nds.

SHA-1: 709a657363abee1b3092eb72f906dd87409303d3


Detailed log of new commits:

Author: Natalia Ermolaeva
Date: Sun Jun 27 00:56:46 2021 +0300

    0032461: Visualization - expensive call of glGetTexEnviv/glTexEnvi in each render of OpenGl_Text

git

2021-09-15 10:51

administrator   ~0104089

Branch CR32461_1 has been created by svetlana.shutina_170290.

SHA-1: e12b108c1c9bf84a676f80daaf466f503de1e7ea


Detailed log of new commits:

Author: sshutina
Date: Wed Sep 15 10:46:56 2021 +0300

    0032461: Visualization - expensive call of glGetTexEnviv/glTexEnvi in each render of OpenGl_Text
    
     - removed the call of glGetTexEnviv, glTexEnvi
     - replaced on the OpenGl_Sampler::applyGlobalTextureParams/resetGlobalTextureParams
     - added the method in OpenGl_Font returning first texture

sshutina

2021-09-15 10:56

developer   ~0104091

Last edited: 2021-09-15 16:18

Reproduced results

View - 32461_view.PNG

Results are on 32461_perf.PNG

sshutina

2021-09-15 10:57

developer  

32461_view.PNG (143,458 bytes)

sshutina

2021-09-15 10:57

developer  

32461_perf.PNG (13,283 bytes)

git

2021-09-15 13:48

administrator   ~0104093

Branch CR32461_1 has been updated by svetlana.shutina_170290.

SHA-1: 42c5ebc0ded331aa82ffa0f120f6caff4e3cfc72


Detailed log of new commits:

Author: sshutina
Date: Wed Sep 15 12:56:54 2021 +0300

    #fix remarks

git

2021-09-15 13:49

administrator   ~0104094

Branch CR32461_2 has been created by svetlana.shutina_170290.

SHA-1: 301113fdbaff9934cfb5b12dc59bc61caad5fc36


Detailed log of new commits:

Author: sshutina
Date: Wed Sep 15 13:48:51 2021 +0300

    0032461: Visualization - expensive call of glGetTexEnviv/glTexEnvi in each render of OpenGl_Text
    
     - removed the call of glGetTexEnviv, glTexEnvi
     - replaced on the OpenGl_Sampler::applyGlobalTextureParams/resetGlobalTextureParams
     - added the method in OpenGl_Font returning first texture

git

2021-09-15 16:17

administrator   ~0104096

Branch CR32461_2 has been updated forcibly by svetlana.shutina_170290.

SHA-1: 7c98ab4aefb1e37dae5816fbf4e245a492d0c7e9

sshutina

2021-09-15 16:17

developer   ~0104097

Patch is ready for review:
- OCCT: branch CR32461_2

Tests are successfully: http://jenkins-test-occt/view/CR32461-master-sshutina/view/ALL/

git

2021-09-15 16:23

administrator   ~0104098

Branch CR32461_2 has been updated forcibly by svetlana.shutina_170290.

SHA-1: ff0df1a6dbaae2241d5d70ec97fda61abeb233bc

bugmaster

2021-09-18 09:37

administrator   ~0104186

Combination -
OCCT branch : IR-2021-09-17
master SHA - 812ee2c9bec89902de2ff85201cb314e0de894cc
49e51745631c52b6c452c65adae4d6dfa21a1b1e
Products branch : IR-2021-09-17 SHA - 1127e31e32f90ff63544b0516092694f1a36932f
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17390.540000000547 / 17358.370000000414 [+0.19%]
Products
Total CPU difference: 11364.740000000118 / 11411.36000000011 [-0.41%]
Windows-64-VC14:
OCCT
Total CPU difference: 19321.5625 / 19327.15625 [-0.03%]
Products
Total CPU difference: 12746.171875 / 12747.78125 [-0.01%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-09-18 09:54

administrator   ~0104208

Branch CR32461 has been deleted by mnt.

SHA-1: 709a657363abee1b3092eb72f906dd87409303d3

git

2021-09-18 09:54

administrator   ~0104209

Branch CR32461_1 has been deleted by mnt.

SHA-1: 42c5ebc0ded331aa82ffa0f120f6caff4e3cfc72

git

2021-09-18 09:54

administrator   ~0104210

Branch CR32461_2 has been deleted by mnt.

SHA-1: ff0df1a6dbaae2241d5d70ec97fda61abeb233bc

Related Changesets

occt: master 58f2990b

2021-09-15 10:48:51

sshutina


Committer: smoskvin Details Diff
0032461: Visualization - expensive call of glGetTexEnviv/glTexEnvi in each render of OpenGl_Text

- removed the call of glGetTexEnviv, glTexEnvi
- replaced on the OpenGl_Sampler::applyGlobalTextureParams/resetGlobalTextureParams
- added the method in OpenGl_Font returning first texture
Affected Issues
0032461
mod - src/OpenGl/OpenGl_Font.hxx Diff File
mod - src/OpenGl/OpenGl_Sampler.hxx Diff File
mod - src/OpenGl/OpenGl_Text.cxx Diff File

Issue History

Date Modified Username Field Change
2021-06-26 23:54 nds New Issue
2021-06-26 23:54 nds Assigned To => kgv
2021-06-27 00:56 git Note Added: 0102102
2021-06-28 09:04 kgv Summary Visualization - expensive call of glGetTexEnviv/glTexEnvi in each render of OpenGl_Text => Visualization, OpenGl_Text - expensive call of glGetTexEnviv/glTexEnvi within OpenGL Compatible Profile
2021-06-28 11:12 kgv Relationship added child of 0025978
2021-06-28 11:58 bugmaster Project Internal => Open CASCADE
2021-06-28 12:00 kgv Assigned To kgv => mkrylova
2021-06-28 12:00 kgv Severity minor => feature
2021-06-28 12:00 kgv Status new => assigned
2021-09-06 16:21 kgv Assigned To mkrylova => sshutina
2021-09-15 10:51 git Note Added: 0104089
2021-09-15 10:56 sshutina Note Added: 0104091
2021-09-15 10:57 sshutina File Added: 32461_view.PNG
2021-09-15 10:57 sshutina File Added: 32461_perf.PNG
2021-09-15 13:48 git Note Added: 0104093
2021-09-15 13:49 git Note Added: 0104094
2021-09-15 16:17 git Note Added: 0104096
2021-09-15 16:17 sshutina Note Added: 0104097
2021-09-15 16:17 sshutina Assigned To sshutina => kgv
2021-09-15 16:17 sshutina Status assigned => resolved
2021-09-15 16:18 sshutina Steps to Reproduce Updated
2021-09-15 16:18 sshutina Note Edited: 0104091
2021-09-15 16:18 sshutina Test case number => Not required
2021-09-15 16:23 git Note Added: 0104098
2021-09-15 16:25 kgv Assigned To kgv => bugmaster
2021-09-15 16:25 kgv Status resolved => reviewed
2021-09-18 09:37 bugmaster Status reviewed => tested
2021-09-18 09:37 bugmaster Note Added: 0104186
2021-09-18 09:43 smoskvin Changeset attached => occt master 58f2990b
2021-09-18 09:43 smoskvin Assigned To bugmaster => smoskvin
2021-09-18 09:43 smoskvin Status tested => verified
2021-09-18 09:43 smoskvin Resolution open => fixed
2021-09-18 09:54 git Note Added: 0104208
2021-09-18 09:54 git Note Added: 0104209
2021-09-18 09:54 git Note Added: 0104210