View Issue Details

IDProjectCategoryView StatusLast Update
0031607Open CASCADEOCCT:Visualizationpublic2021-08-24 14:26
Reporternds Assigned Tokgv  
PrioritynormalSeverityfeature 
Status newResolutionopen 
Target Version7.7.0 
Summary0031607: Visualization, Graphic3d_Aspects - store Front/Back shading materials via Handles
DescriptionWhen setting some specific parameters in attributes of presentation (color, material, line width), we change Prs3d_Drawer. It creates inside an aspect depending on type of attribute. Each aspect inherits custom Graphic3d_Aspects instance.

Graphic3d_Aspects contains fields, that are not required for any inherited instance. It's proposed to move out some of these fields or minimize memory of their using.

It's proposed to start with Graphic3d_MaterialAspect. To replace it on handle and perform new only in aspect that really use it.
Steps To ReproduceDraw AIS_ColoredShape with 24k color groups (edges):

pload MODELING VISUALIZATION
set nx 20; set ny 10; set nz 10;
set bb {}
for {set x 1} {$x <= $nx} {incr x} { for {set y 1} {$y <= $ny} {incr y} { for {set z 1} {$z <= $nz} {incr z} { box b${x}_${y}_${z} $x $y $z 0.5 0.5 0.5; lappend bb b${x}_${y}_${z} } } }
compound {*}$bb  c
set ee [explode c E]
vclear; vinit View1
vdefaults -autoTriang 0
vdisplay -dispMode 0 c
vfit
set aNE [llength $ee]
set aReset [expr srand(1)]
set aMemBefore "[expr [meminfo h]/1024] KiB"
set aCmd "vaspects -noupdate c"
for {set e 1} {$e <= $aNE} {incr e} { set aCmd "$aCmd -subShapes c_${e} -setColor [expr rand()] [expr rand()] [expr rand()]" }
eval $aCmd
set aMemAfter "[expr [meminfo h]/1024] KiB"
vrepaint
set aMemAfter2 "[expr [meminfo h]/1024] KiB"
vrenderparams -perfCounters groups
vrepaint


OCCT 7.3.0:
- Mem0: 114182 KiB
- Mem1: 191273 KiB
- Mem2: 311105 KiB


OCCT 7.4.0:
- Mem0: 95445  KiB
- Mem1: 287412 KiB
- Mem2: 407213 KiB


OCCT 7.5.0dev:
- Mem0: 114001 KiB
- Mem1: 349446 KiB
- Mem2: 469278 KiB

TagsNo tags attached.
Test case number

Relationships

related to 0030598 assignedasuraven Open CASCADE Visualization - redesign Prs3d_Drawer as aspects map 
child of 0029570 closedapn Open CASCADE Visualization, Graphic3d_Aspect - merge Graphic3d_Group aspects 
child of 0030700 closedapn Open CASCADE Visualization, TKOpenGl - support PBR Metallic-Roughness shading model 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2020-06-11 08:54 nds New Issue
2020-06-11 08:54 nds Assigned To => kgv
2020-06-11 09:52 kgv Summary Visualization - Graphic3d_Aspects using handle for material => Visualization - Graphic3d_Aspects using Handle for material
2020-06-11 09:52 kgv Relationship added child of 0029570
2020-06-11 09:53 kgv Relationship added child of 0030700
2020-06-11 09:56 kgv Summary Visualization - Graphic3d_Aspects using Handle for material => Visualization, Graphic3d_Aspects - store Front/Back shading materials via Handles
2020-06-11 11:14 kgv Steps to Reproduce Updated
2020-06-11 11:17 kgv Steps to Reproduce Updated
2020-06-11 11:20 kgv Steps to Reproduce Updated
2020-06-11 11:20 kgv Steps to Reproduce Updated
2020-06-11 11:22 kgv Relationship added related to 0030598
2020-09-21 17:42 kgv Target Version 7.5.0 => 7.6.0
2021-08-24 14:26 kgv Target Version 7.6.0 => 7.7.0