Slow pointiness shape computation

Use this forum for general user support and related questions.
User avatar
Sharlybg
Donor
Posts: 1850
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Slow pointiness shape computation

Post by Sharlybg » Tue Mar 24, 2020 6:20 pm

Topic split from viewtopic.php?f=4&t=1935

Have the same issue with 2.4 master on viewport RT cpu.
Pretty simple scene. Cpu stay at 100% without loading viewport render.

After a long 5mn wait viewport switch from solid to render mode.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
B.Y.O.B.
Developer
Posts: 3373
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Luxcore is very slow and freezes

Post by B.Y.O.B. » Tue Mar 24, 2020 8:40 pm

Sharlybg wrote:
Tue Mar 24, 2020 6:20 pm
Have the same issue with 2.4 master on viewport RT cpu.
Pretty simple scene. Cpu stay at 100% without loading viewport render.

After a long 5mn wait viewport switch from solid to render mode.
Sounds like first-time kernel compilation for OpenCL viewport, but you say you are using CPU as device?
Can you upload a scene that shows the issue?
Is it only the startup time that's long, or is the interface sluggish even after the render has started, as reported in the first post?
Oscar9531 wrote:
Tue Mar 24, 2020 6:24 pm
the same for me, it is very slow to work interactively
Can you upload a scene that shows the issue?

User avatar
Sharlybg
Donor
Posts: 1850
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Luxcore is very slow and freezes

Post by Sharlybg » Wed Mar 25, 2020 9:02 am

Here is the scene. i know why it is like that. if you reduce subsurf to 3 or 4 you can work. but at 6 it Bye bye :roll:

Lux_Shader_Ball - Copie.blend
(841.59 KiB) Downloaded 8 times
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
Dade
Developer
Posts: 3934
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Luxcore is very slow and freezes

Post by Dade » Wed Mar 25, 2020 10:56 am

Sharlybg wrote:
Wed Mar 25, 2020 9:02 am
Here is the scene. i know why it is like that. if you reduce subsurf to 3 or 4 you can work. but at 6 it Bye bye :roll:


Lux_Shader_Ball - Copie.blend
It uses the Pointiness shape, is it intended ? Indeed, it is very slow, it has to recompute pointiness each time.
Support LuxCoreRender project with salts and bounties

User avatar
Sharlybg
Donor
Posts: 1850
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Luxcore is very slow and freezes

Post by Sharlybg » Wed Mar 25, 2020 11:13 am

It uses the Pointiness shape, is it intended ? Indeed, it is very slow, it has to recompute pointiness each time.
Yes i'm in process to make a new tutorial with it. And cycles is working fine with it even at 6 level subsurf.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
B.Y.O.B.
Developer
Posts: 3373
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Luxcore is very slow and freezes

Post by B.Y.O.B. » Wed Mar 25, 2020 11:33 am

Are you using pointiness also with Cycles?

I have accelerated the pointiness computation quite a bit in the latest builds, not sure if you're using that.
However, the Cycles implementation is still faster, which might become noticeable on very heavy meshes.

(The reason being, from what I can see, that LuxCore needs to build edge information, while Cycles uses the raw Blender mesh which still has edge information).

User avatar
Sharlybg
Donor
Posts: 1850
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Luxcore is very slow and freezes

Post by Sharlybg » Wed Mar 25, 2020 11:45 am

Are you using pointiness also with Cycles?
Yes of course.
(The reason being, from what I can see, that LuxCore needs to build edge information, while Cycles uses the raw Blender mesh which still has edge information).
why can't we do the same ? any blender API limitation.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
Dade
Developer
Posts: 3934
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Luxcore is very slow and freezes

Post by Dade » Wed Mar 25, 2020 11:59 am

It is the same for any geometry transformation (i.e. pointiness, displacement, etc.) and it always been like this.

P.S. It is likely to be not the topic of this thread, I have the feeling people were talking of a different type of problem.
Support LuxCoreRender project with salts and bounties

User avatar
Sharlybg
Donor
Posts: 1850
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Luxcore is very slow and freezes

Post by Sharlybg » Wed Mar 25, 2020 12:35 pm

I have accelerated the pointiness computation quite a bit in the latest builds, not sure if you're using that.
However, the Cycles implementation is still faster, which might become noticeable on very heavy meshes.
Great job mate just instal the last build from both Luxcore and blendluxcore. it work great thank you thank you :)
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
B.Y.O.B.
Developer
Posts: 3373
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Luxcore is very slow and freezes

Post by B.Y.O.B. » Wed Mar 25, 2020 2:19 pm

Sharlybg wrote:
Wed Mar 25, 2020 9:02 am
Here is the scene. i know why it is like that. if you reduce subsurf to 3 or 4 you can work. but at 6 it Bye bye :roll:
Lux_Shader_Ball - Copie.blend
Editing that mesh in Cycles (or even in the OpenGL viewport) is just as sluggish as in a Lux viewport render. This is simply due to the very high subdivisions and the time needed to compute them. The pointiness is just the icing on the cake.
Sharlybg wrote:
Wed Mar 25, 2020 11:45 am
(The reason being, from what I can see, that LuxCore needs to build edge information, while Cycles uses the raw Blender mesh which still has edge information).
why can't we do the same ? any blender API limitation.
It would require a special pointiness precomputation just for Blender inside the Blender mesh transfer code. It's possible, but it would add a lot of complication and code duplication, which is why I'd like to avoid it (especially because the performance gain will be small).

Post Reply