f3d icon indicating copy to clipboard operation
f3d copied to clipboard

OCCT speedups and fixes

Open snoyer opened this issue 2 years ago • 3 comments

Performance improvements for the OCCT reader:

  • color lookups turn out to add up a lot when they're done for every triangle of a re-meshed face.
  • re-meshing can be batched instead of done for each face/edge individually.
  • color lookups with XCAFDoc_ColorTool were also wrong in addition to being slow, using XCAFPrs to walk down the attribute tree and collect inherited style properties is more correct and faster

all in all the 18MB step file from https://www.printables.com/model/612925-creality-k1-corexy-motion-assembly-cad/files now opens in about ~~40sec~~ 15sec instead of almost 5min

before and after:

f3d-k1-before

f3d-k1-after

also fixes a minor bug where progress was reported up to 150%, meaning the progress bar would look full before the actual processing was finished.

snoyer avatar Feb 16 '24 04:02 snoyer

TestIGES.png baseline should not have needed an update now, but it should have been updated with the previous OCCT PR that did change the edges behavior. I guess the tiny variations from both PR just now added up past the test threshold?

snoyer avatar Feb 16 '24 05:02 snoyer

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (a5ecb6b) 96.57% compared to head (cedca38) 96.57%. Report is 1 commits behind head on master.

Files Patch % Lines
plugins/occt/module/vtkF3DOCCTReader.cxx 98.82% 1 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1292      +/-   ##
==========================================
- Coverage   96.57%   96.57%   -0.01%     
==========================================
  Files         138      138              
  Lines        8500     8553      +53     
==========================================
+ Hits         8209     8260      +51     
- Misses        291      293       +2     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Feb 16 '24 05:02 codecov[bot]

Looks good. Why do we have a baseline change tho?

Not sure to be honest. I think it's because of the edges showing, that should have needed an update with the last PR that fixed the edges but it didn't (only the STEP one needed to be updated).

But yeah I don't know why on this PR the IGES one failed and the STEP one didn't.

snoyer avatar Feb 16 '24 07:02 snoyer