#619 Made TreeView stable
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: #619 Made TreeView stable
Okay, the problem is confirmed. QTreeWidgetItem::takeChildren is an expensive operation under Windows, but cheap on Linux. However, without takeChildren, the treeview can't easily reflect order change in claimChildren. I'll think a better way to handle this later. It's 4am here, I'd better take some rest now.
Re: #619 Made TreeView stable
In the preferences under Edit > Preferences > Viewer > 3D-Viewer. There you will find the entry Use OpenGL Vertex Buffer Object (experimental)realthunder wrote:How to check?
But it's unlikely that this has an impact on the issue because at this point it doesn't go through the GLRender method of the Inventor nodes.
Alternatively you can create vcxproj files with cmake and then use msbuild. I just can't remember the exact arguments to start a parallel build.Jom official download server is down. What are the odds of that! Care to post the binarry here?
Which errors do you get?BTW, I am having trouble with Windows debug build. I am getting a bunch of unfound reference when linking OCC. Release build is fine. Any tricks on that?
Re: #619 Made TreeView stable
/m or /m:n where n is the number of worker threads. /m uses maximum available by default. Verbosity can also effect build performance. I usewmayer wrote:Alternatively you can create vcxproj files with cmake and then use msbuild. I just can't remember the exact arguments to start a parallel build.
Code: Select all
$msbuild "$buildDir\FreeCAD_trunk.sln" /m /nologo /verbosity:minimal /p:Configuration=Release "/p:Platform=$platform"
"fight the good fight"
Re: #619 Made TreeView stable
OK then. Thanks.realthunder wrote:I can see that the logic does have some problem. You should definitely bring this up to PartDesign, the original thread you posted. But, you can be assured that this is not Tree View's problem, and the developer of PartDesign will understand that.
Re: #619 Made TreeView stable
I can't confirm that it's fast on Linux. When running it under Ubuntu 14.04 as a Virtual box guest I stopped it after waiting a couple of minutes. Also commenting out the block as in PR670 doesn't make a difference.realthunder wrote:Okay, the problem is confirmed. QTreeWidgetItem::takeChildren is an expensive operation under Windows, but cheap on Linux. However, without takeChildren, the treeview can't easily reflect order change in claimChildren. I'll think a better way to handle this later. It's 4am here, I'd better take some rest now.
OS: Ubuntu 14.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10681 (Git)
Build type: Unknown
Branch: master
Hash: d7d7aa238f2cbfd10a9682e7213e6ef5dc990368
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.7.0
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: #619 Made TreeView stable
Please try my branch at https://github.com/realthunder/FreeCAD/ ... eeViewFix2. This is a simple fix I tried last night. It avoid using takeChildren and addChild back each time on object change. And I tested it fine on my Windows. The problem with this fix is that it may not reflect the order change in claimChildren, which I think is a minor problem.wmayer wrote:I can't confirm that it's fast on Linux. When running it under Ubuntu 14.04 as a Virtual box guest I stopped it after waiting a couple of minutes. Also commenting out the block as in PR670 doesn't make a difference.
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: #619 Made TreeView stable
I have just submitted a new PR for the fix, which still keeps track of the order of claimed children. This fix is more complicated than the simple fix I mentioned above. My own test shows it's fine. But It better be thoroughly tested by others as well.wmayer wrote:I can't confirm that it's fast on Linux. When running it under Ubuntu 14.04 as a Virtual box guest I stopped it after waiting a couple of minutes. Also commenting out the block as in PR670 doesn't make a difference.
My branch https://github.com/realthunder/FreeCAD/ ... ewFixOrder
Re: #619 Made TreeView stable
Yes, that fixes the problem. The load is again as fast as it has been. Thanks!