[BUG] 2.71 use 100% of CPU at sculpt
Closed, ArchivedPublic

Description

At sculpt a random model, for example the cube subdivided 3 times, and sculpt with mouse button hold pressed moving around for 3-5 secs or more start use the 100% of CPU and other programs stop like music player, chrome audio...

*In the 2.70a release version x64 this only use the 15%-30% of cpu at max.

System:

CPU: Intel i7-4770K @ 3.50GHZ
RAM: 16 GB
GPU: Nvidia Geforce 780 GTX
OS: Windows 7 Ultimate, 64-bit, service pack 1
Drivers: Nvidia 337.88
Blender: 2.71 Release x64

David (Hgdavidy) updated the task description. (Show Details)
David (Hgdavidy) raised the priority of this task from to Confirmed.
David (Hgdavidy) set Type to Bug.
David (Hgdavidy) added a subscriber: David (Hgdavidy).
Bastien Montagne (mont29) raised the priority of this task from Confirmed to Needs Triage.Jul 27 2014, 9:45 AM

I can confirm that the cpu is using > % 90 . It is like this on multi-res , dynatopo and mesh sculpt.

Did a rough test with top here on Linux, and it gives me 141,6% (I believe 100% is 1 core, but ain't really sure)

I confirm it on my end too on win32 , 2.71 and 2.71 buildbot eat 100% of CPU on any sculpt stroke ! on a sculpt i had started back in 2.70.

And as mentionned in the thread linked by Hgdavidy , i gave a try to today's "Legacy VS 2008" buildbot version, and similarly to 2.70a and before, it only taes +/-50% of CPU at max during sculpt strokes on that same sculpt.

I guess i'll start to stick again to "legacy" buildbot from now.

edit : Maybe related, there were a few people in the modelling support board on blenderartists that started threads about sculpt mode freezing or lagging extremely on their system in 2.71, and while trying back 2.70a it was silk smooth.

Looking at the thread on BA, you might want to add 'Windows' as one of the project categories.

This being because it's apparent that Linux users have no problem either.

Confirmed on Windows 8.1 Pro 64 bit

Core i5 3.2 ghz Nvidia Geforce GTX 650 4 gb

It happens when you draw on the model instantly going 100%.

Blender 3D

version 2.71 (sub 0), branch b'master', commit date b'2014-06-25' b'18:36', hash b'9337574', b'Release'
build date: b'2014-06-25', b'22:33:12'

Would even say issue seems to be related to MSVC2013, since deprecated builds (using MSVC2008) seems to behave normally…

Sanc Tuary (sanctuary) reopened this task as Open.EditedJul 29 2014, 11:10 AM

Sorry to re-open but it looks like the problem is still there

I just gave a try to today's buildbot , that includes this bugfix and while it's not exactly 100% anymore, it's still a very high CPU usage in comparison to the non-msvc2013 build that had much lower one.

Comparison on the same sculpt (a 500.000 tris dyntopo sculpt), both after enabling dyntopo just doing similar strokes , same brush (crease) , same size, same zoom level, same dyntopo detail, same every setting to be sure the test would be really the same

latest buildbot ( blender-2.71-939503a-win32 ) :
http://i.imgur.com/XL7mQlY.jpg

latest "legacy msvc2008" buildbot ( blender-2.71-a8233d7-win32-vc9 )
http://i.imgur.com/Vfxlft4.jpg
(surprised it used so few CPU on this build and have same performance)

could you maybe try setting the environment variable 'OMP_WAIT_POLICY' to  'passive' and see if that has any impact?

scratch that, MS does not support it. All versions of Visual Studio 2010 and greater suffer from this same issue. Microsoft seems to be aware and not really wanting to fix it.

Bastien Montagne (mont29) triaged this task as Normal priority.Jul 29 2014, 12:43 PM
Antony Riakiotakis (psy-fi) raised the priority of this task from Normal to Needs Triage.
Antony Riakiotakis (psy-fi) changed Type from Bug to To Do.

Moving to TODO now. Fixing this will probably require not using openmp at all here but this is bigger task than a bugfix. As a workaround you can always disable threaded sculpt.

Thanks, with threaded sculpt disabled, the CPU usage is much better.