New Random/Sobol sampler progressive, cache-friendly and OoC modes

Discussion related to the LuxCore functionality, implementations and API.
juangea
Donor
Donor
Posts: 332
Joined: Thu Jan 02, 2020 6:23 pm

Re: New Random/Sobol sampler progressive, cache-friendly and OoC modes

Post by juangea »

B.Y.O.B should have a scene that will put your ram into it’s knees, it needs around 16Gb of ram.

It’s not converted to LuxCore, but it does not matter too much, it has a TON of instances, and some materials may work, so to test OOC it should be more than enough, also to test other things like instances performance and such things.

BTW it’s a commercial scene, please don’t share it except amongst you and B.Y.O.B.

@B.Y.O.B. If you don’t have it at hand speak to me on Discord and I’ll send it back to you again.
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: New Random/Sobol sampler progressive, cache-friendly and OoC modes

Post by B.Y.O.B. »

I have added support to the new sampling patterns and out of core to BlendLuxCore.

Dade, how can I calculate the samples (per pixel) per pass, taking into account the new settings? I'm not sure how the overlap works in detail.
I'd like to show the samples (per pixel) per pass to the user because it's important for halt conditions.
Attachments
Screenshot from 2020-05-18 19-58-06.png
Screenshot from 2020-05-18 19-58-06.png (11.04 KiB) Viewed 5168 times
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: New Random/Sobol sampler progressive, cache-friendly and OoC modes

Post by Dade »

B.Y.O.B. wrote: Mon May 18, 2020 6:02 pm Dade, how can I calculate the samples (per pixel) per pass, taking into account the new settings? I'm not sure how the overlap works in detail.
I'd like to show the samples (per pixel) per pass to the user because it's important for halt conditions.
If I remember correctly it is "sampler.sobol.supersampling * sampler.sobol.overlapping" for each pass.
Support LuxCoreRender project with salts and bounties
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: New Random/Sobol sampler progressive, cache-friendly and OoC modes

Post by B.Y.O.B. »

Dade wrote: Mon May 18, 2020 6:58 pm If I remember correctly it is "sampler.sobol.supersampling * sampler.sobol.overlapping" for each pass.
That was my understanding as well, and when not using light tracing, it seems to be true indeed.
I guess the samples spent on light tracing are added to the sample count. I vaguely remember that you added separate statistics for eye and light traced samples, are they accessible somehow?

edit: found it:

Code: Select all

stats.renderengine.pass.eye
stats.renderengine.pass.light
It might be good if we could specify an "eye pass" halt condition, instead of the current eye + light pass halt condition, to ensure that a pass covers the entire film plane.
Attachments
without light tracing, overlap = 32, supersampilng = 16, 512 spp halt condition
without light tracing, overlap = 32, supersampilng = 16, 512 spp halt condition
with light tracing, overlap = 32, supersampilng = 16, 512 spp halt condition
with light tracing, overlap = 32, supersampilng = 16, 512 spp halt condition
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: New Random/Sobol sampler progressive, cache-friendly and OoC modes

Post by Dade »

Yes, it was discussed in another thread, we probably need an 2 halt conditions, one for eye and one for light samples otherwise you can have some problem when light tracing is enabled.
Support LuxCoreRender project with salts and bounties
User avatar
Sharlybg
Donor
Donor
Posts: 3101
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: New Random/Sobol sampler progressive, cache-friendly and OoC modes

Post by Sharlybg »

This mode is even slower (it renders about x * 32 samples per pixel instead of 1) to cover all the image and its main benefit is for OoC because most samples will reuse the same data cached from CPU ram.
I have sincerely some problem to test OoC rendering at the moment. First of all, I lack a test scene to put out of memory the 8GB of my GPU. So this topic may need some further investigation to check the results.
Any possibility to extend OOC capability to SSD drive. i've 32 gb of ram but i can barelly test OOC as most complexe enough scene i have fill up CPU RAM pretty quickly too. maybe 64 GB of ram will work but it isn't very common making the feature currently a bit a niche tool.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: New Random/Sobol sampler progressive, cache-friendly and OoC modes

Post by Dade »

Sharlybg wrote: Tue Jun 30, 2020 7:16 pm Any possibility to extend OOC capability to SSD drive. i've 32 gb of ram but i can barelly test OOC as most complexe enough scene i have fill up CPU RAM pretty quickly too. maybe 64 GB of ram will work but it isn't very common making the feature currently a bit a niche tool.
It may already work with virtual memory swapped on SSD but it would be insanely slow.
Support LuxCoreRender project with salts and bounties
Post Reply