Open GAZ082 opened 3 weeks ago
@luzpaz there's two scenarios in play, one is education in that there is a live vertex at the far end of the arc (away from the circle section sketch) for the Pipe path which shouldn't be there but the code gives no feedback to the user regarding this (maybe the code just ignores it).
But far more importantly the performance degradation for such as simple Additive Pipe is bordering on the unusable. I can perform way more complex Additive Pipes through multiple complex sections with near instantaneous response such as this Hook:
So the next step is to see whether I can at least narrow down to hopefully a few hundred commits when this performance degradation started and from there a Git Bisect to get a specific commit, whichever way it's going to be a while.
OS: Linux Mint 22 (X-Cinnamon/cinnamon)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.38498 (Git)
Build type: Release
Branch: main
Hash: 7e311ed4b96299c8b9909d86cda2410a53cbd498
Python 3.12.3, Qt 5.15.13, Coin 4.0.2, Vtk 9.1.0, OCC 7.6.3
Locale: English/United Kingdom (en_GB)
Installed mods:
* FreeCAD-themes 2024.7.24
* Silk 0.1.5
* sheetmetal 0.4.24
* Behave-Dark-Colors 0.1.1
* CfdOF 1.27.5
* freecad.gears 1.2.0
* Curves 0.6.44
@Syres916 good call about having a live node, an error should pop up. However, i also had issues with another circle at the end, I'll see if can try later tonight.
@GAZ082 a little more education, you appear to have set in Preferences > Part/Part Design > Shape view way too low Tessellation settings, here are mine which produced IMHO good enough screen representation but excellent performance:
I've adjusted the Body and two sketches in the attached file.
Iman.Puerta.Terraza_Syres.FCStd.zip
I definitely remember a code change in the past year that was supposed to alert users who changed their tessellation settings beyond a certain threshold and alerted them to this fact. I'll have a look in the morning to see if the thresholds are not high enough, it's difficult because if a user has a very recent top level processor with good single core throughput they would tolerate a much lower setting than my 12 year old i5 4 core CPU.
I definitely remember a code change in the past year that was supposed to alert users who changed their tessellation settings beyond a certain threshold and alerted them to this fact.
Found it, https://github.com/FreeCAD/FreeCAD/blob/main/src/Mod/Part/Gui/DlgSettings3DViewPartImp.cpp#L65-L69 Maybe the angle setting needs the same treatment.
@Syres916 I feel humbled by so much education bows
Yes, the tessellation was definitely the issue. Used your settings and rendered instantly! Do you still believe there is a underlying performance issue with the engine or this is just a rendering issue?
@Syres916 i think the performance issue is still there. Now with even the lower tessellation I was forced to quit FC. Looks like how you perform the operation influences the outcome.
i think the performance issue is still there. Now with even the lower tessellation I was forced to quit FC. Looks like how you perform the operation influences the outcome.
Firstly did you go back to your original file but without changing the Max Deviation and Max angle deflection on the Body and the two sketches, all three have an impact?
Changing the Preferences only applies to new objects, existing files with different settings are not updated by design otherwise if a customer was collaborating with a supplier each time one or the other opened the shared file it would be constantly changing which is not helpful.
Before starting an Additive Pipe I always select the cross section sketch or face first and then the Path sketch before clicking the Additive Pipe icon but it is designed to also have the objects selected after starting the operation.
This table shows a simplistic set of tests to show the exponential increase in time for a reduction in maximum angle deflection (on a 12 year old system):
<!DOCTYPE html>
Max Angle Deflection | Response Time (seconds) -- | -- 5 | 0.75 4 | 1 3 | 2 2.5 | 4 2 | 5 1.9 | 7 1.8 | 8 1.7 | 11 1.6 | 14 1.5 | 19 1.4 | 25Therefore I would suggest a similar alert to https://github.com/FreeCAD/FreeCAD/blob/main/src/Mod/Part/Gui/DlgSettings3DViewPartImp.cpp#L65-L69 for Max angle deflection below 2 degrees wouldn't be out of order.
Firstly did you go back to your original file but without changing the Max Deviation and Max angle deflection on the Body and the two sketches, all three have an impact?
I just changed the body, never realized the sketches also have this property. Will do more tests tonight taking in consideration your hints, thanks!
Is there an existing issue for this?
Problem description
Hi. Attached macro, file and here is the video.
https://github.com/user-attachments/assets/fbbd5142-d040-4992-8d2d-a6ae6c9093e6
Full version info
Subproject(s) affected?
PartDesign
Anything else?
Iman Puerta Terraza.FCStd.zip macro.txt
Code of Conduct