View Issue Details

IDProjectCategoryView StatusLast Update
0023069Open CASCADEOCCT:Visualizationpublic2012-10-02 14:58
Reporterkgv Assigned Tokgv  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformAOSL 
Product Version6.5.3 
Target Version6.5.3Fixed in Version6.5.3 
Summary0023069: OpenGL state extraction for GL_RENDER_MODE significantly impact performance
DescriptionCurrently GL_RENDER_MODE checked in TKOpenGl routines (text rendering, primitive arrays rendering, markers rendering) to perform special code for gl2ps export.

This is determined that these OpenGL state extractions per rendered object significantly impact overall rendering performance - make it more CPU-bound.

Because gl2ps export is still desired this is suggested to cache GL_RENDER_MODE state at frame redrawing beginning.
Steps To ReproduceTo reproduce problem this is required to render number of simple objects to reach CPU performance limit on current station.

Commenting out 'glGetIntegerv (GL_RENDER_MODE, &renderMode);' calls reduce CPU usage.

On tested platform (Windows 7, GeForce GT240) CPU-limit reached within 1k boxes:

pload VISUALIZATION
pload MODELING
vinit
for {set anInter 1} {$anInter <= 1000} {incr anInter} {box b${anInter} [expr $anInter * 20] 0 0 10 20 30; vdisplay b${anInter}; }
vfit
vfps

Notice that this script requires vfps command introduced by #23065.
The actual results are current OCCT version:
FPS: 40.961348099055449
CPU: 26.988172999999982 msec

Commented GL_RENDER_MODE calls:
FPS: 59.906130822034626
CPU: 17.472111999999989 msec
TagsNo tags attached.
Test case numberchl 934 Y9

Attached Files

  • Y9 (1,855 bytes)

Relationships

related to 0023457 closedkgv Community Slow text rendering 

Activities

kgv

2012-04-06 12:33

developer   ~0020288

Patch is ready for review in branch CR23069.

Please notice that text rendering functionality leaved untouched due to different design (should be fixed within text rendering total reworking).

san

2012-04-06 17:07

developer   ~0020295

CR23069 reviewed without remarks, ready for testing.

mkv

2012-04-09 15:57

tester  

Y9 (1,855 bytes)

mkv

2012-04-09 15:59

tester   ~0020310

Dear BugMaster,
Workbench KAS:dev:mkv-23069-occt was created from git branch CR23069
(and mkv-23069-products from svn trunk) and compiled on Linux platform.

Test case for this bug is chl/934/Y9. It is OK.

There are not regressions in mkv-23069-products regarding to KAS:dev:products-20120330-opt

See results in /QADisk/occttests/results/KAS/dev/mkv-23069-products_06042012/lin
See reference results in /QADisk/occttests/results/KAS/dev/products-20120330-opt_30032012/lin
See test cases in /QADisk/occttests/tests/ED
N.B. In order to launch testing case you can make use the following instructions
http://doc/doku.php?id=occt:certification

Related Changesets

occt: master 664cae74

2012-04-12 08:25:07

kgv

Details Diff
0023069: Cache GL_FEEDBACK mode per frame in TKOpenGl calls Affected Issues
0023069
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_Marker.cxx Diff File
mod - src/OpenGl/OpenGl_MarkerSet.cxx Diff File
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace_4.cxx Diff File

Issue History

Date Modified Username Field Change
2012-04-04 17:53 kgv New Issue
2012-04-04 17:53 kgv Assigned To => san
2012-04-06 12:31 kgv Assigned To san => kgv
2012-04-06 12:33 kgv Note Added: 0020288
2012-04-06 12:33 kgv Assigned To kgv => san
2012-04-06 12:33 kgv Status new => resolved
2012-04-06 17:07 san Note Added: 0020295
2012-04-06 17:07 san Assigned To san => bugmaster
2012-04-06 17:07 san Status resolved => reviewed
2012-04-06 17:54 mkv Assigned To bugmaster => mkv
2012-04-09 15:57 mkv File Added: Y9
2012-04-09 15:59 mkv Note Added: 0020310
2012-04-09 16:00 mkv Test case number => chl 934 Y9
2012-04-09 16:00 mkv Assigned To mkv => bugmaster
2012-04-09 16:00 mkv Status reviewed => tested
2012-04-11 09:43 abv Target Version 6.5.4 => 6.5.3
2012-04-13 11:32 kgv Changeset attached => occt master 664cae74
2012-04-13 11:33 kgv Assigned To bugmaster => kgv
2012-04-13 11:33 kgv Status tested => verified
2012-04-13 11:33 kgv Resolution open => fixed
2012-10-02 14:58 Pawel Relationship added related to 0023457