POV-Ray : Newsgroups : povray.beta-test : thread count rendertimes unpredictable? Server Time
10 Oct 2026 06:36:43 EDT (-0400)
  thread count rendertimes unpredictable? (Message 1 to 18 of 18)  
From: Bob Hughes
Subject: thread count rendertimes unpredictable?
Date: 18 Jan 2009 19:27:35
Message: <4973c8f7$1@news.povray.org>
I was comparing beta 30 and the radiosity-changed exe for any differences 
when using thread count 1 or 2 and found it varies depending on scene file 
complexity or animations. I was wondering if thread count was being checked 
by others.

Getting a 160% slower render sometimes when using Work_Threads=2 versus 1, 
and other times 60% (much faster). In the past I had been making sure to 
keep the threads at only 1 so renders wouldn't slow down on larger sized 
images or animations. I think there might have been a change but couldn't be 
sure about that.

Right now it seems to be unpredictable instead of guaranteeing a speed-up by 
going with more than 1 thread. Thought maybe this hasn't been discussed 
recently so wanted to bring it up again.

POV for Windows (SSE2's and non-SSE2's), Vista and AMD X2 dual core

Bob


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 18 Jan 2009 19:42:24
Message: <9E363925719942B18BA14BF08FF37968@HomePC>
Could you post what times you get with specific scenes?

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Bob Hughes
Subject: Re: thread count rendertimes unpredictable?
Date: 19 Jan 2009 04:36:31
Message: <4974499f$1@news.povray.org>
"Chambers" <ben### [at] pacificwebguycom> wrote in message 
news:9E363925719942B18BA14BF08FF37968@HomePC...
> Could you post what times you get with specific scenes?


I hadn't checked any of the sample files before posting until now so I gave 
the scenes\advanced\benchmark.pov a try and found the render times to be 
like I would expect. Using 1 thread was slower at 26 minutes, while 2 
threads improves that to about 14 minutes; both SSE2's I tested it in, while 
non-SSE2 is similar yet slower overall of course.

A curiosity to me was how photons are reported, saying 5 threads, although I 
understand this isn't finished yet but since the file had it on I left it 
as-is. I didn't use radiosity at all. Here's one of the render time stats:

  Photon Time:      0 hours 11 minutes 11 seconds (671.876 seconds)
              using 5 thread(s) with 1028.810 CPU-seconds total
  Radiosity Time:   No radiosity
  Trace Time:       0 hours 13 minutes 31 seconds (811.406 seconds)
              using 2 thread(s) with 1578.745 CPU-seconds total

Looking more at the stats I've realized something is probably wrong about 
Max Level, it was saying the output image resolution (same width, height 
numbers). Don't know if that's just incorrect or really happening in the 
render but it's only when setting Work_Threads=2 not =1, only the 
*radiosity-changed* executable does this-- not the original beta 30.

If I find an included scene file which causes the huge render-time 
difference I will post back about it.

For at least one of my own files (actually a pov with collection of .inc's) 
the render-time differences can be incredible, at the same output image 
resolution just over 12 minutes using 1 thread in pvengine-sse2.exe, and 
about 96 minutes using 2 threads in pvengine32-sse2.exe (pvengine-sse2.exe 
beta 30 was 6 minutes faster, or 90 minutes, for whatever reason).

My guess was perhaps the splines causing trouble but since I haven't a clue 
how thread count can affect object types being rendered (rather vice versa) 
I can't really say what's going on. I don't understand the processes 
involved.

Here's stats when rendering one of my own pov files:
_____________________________________________________________________________
begin stats for pvengine-sse2 beta 30 1 thread
----------------------------------------------------------------------------
Finite Objects:         7474
Infinite Objects:          0
Light Sources:             2
Total:                  7476

Parser Time
  Parse Time:       0 hours  0 minutes  0 seconds (0.000 seconds)
              using 1 thread(s) with 1.934 CPU-seconds total
  Bounding Time:    0 hours  0 minutes  0 seconds (0.047 seconds)
              using 1 thread(s) with 0.046 CPU-seconds total

Render Options
  Quality:  9
  Bounding boxes.......On   Bounding threshold: 3
  Antialiasing.........On  (Method 1, Threshold 0.400, Depth 2, Jitter Off)

Render Statistics
Image Resolution 1600 x 1200

Pixels:          2040800   Samples:         4629652   Smpls/Pxl: 2.27
Rays:           12772602   Saved:           1587744   Max Level: 9/9

Ray->Shape Intersection          Tests       Succeeded  Percentage

Blob                            200144           35757     17.87
Blob Component                  167655           84980     50.69
Blob Bound                      800576          167655     20.94
Box                             895707          888096     99.15
Cone/Cylinder                 10696292         9385215     87.74
CSG Intersection                 10395             132      1.27
CSG Union                       462067          174964     37.87
Polygon                         143850           62685     43.58
Sphere                          505290          382893     75.78
Sphere Sweep                  18753062          540509      2.88
Surface of Revolution           355109          187896     52.91
Surface of Rev. Bound           355109          291122     81.98
Torus                           190213          103812     54.58
Torus Bound                     190213          104002     54.68
True Type Font                  817186          213488     26.12
Clipping Object                 540887          478611     88.49
Bounding Box                2413335789       531789506     22.04

Function VM calls:          9498297

Roots tested:              18806406   eliminated:                 1119
Shadow Ray Tests:          10683037   Succeeded:                 47102
Shadow Cache Hits:            40562
Reflected Rays:              168931   Total Internal:             8718
Refracted Rays:              160895
Transmitted Rays:           5772324

Smallest Alloc:                  12 bytes
Largest  Alloc:                  12 bytes
Total Alloc calls:                1         Free calls:       56312792

Render Time:
  Photon Time:      No photons
  Radiosity Time:   No radiosity
  Trace Time:       0 hours 12 minutes 21 seconds (741.718 seconds)
              using 1 thread(s) with 739.631 CPU-seconds total
POV-Ray finished
-
CPU time used: kernel 1.40 seconds, user 744.23 seconds, total 745.64 
seconds.
Elapsed time 746.60 seconds.
Render averaged 2571.65 PPS (2574.98 PPS CPU time) over 1920000 pixels.
----------------------------------------------------------------------------
end stats for pvengine-sse2 beta 30 1 thread
_____________________________________________________________________________
begin stats for pvengine32-sse2 (radiosity-changed) beta 30 2 threads
----------------------------------------------------------------------------

Finite Objects:         7474
Infinite Objects:          0
Light Sources:             2
Total:                  7476

Parser Time
  Parse Time:       0 hours  0 minutes  0 seconds (0.000 seconds)
              using 1 thread(s) with 1.591 CPU-seconds total
  Bounding Time:    0 hours  0 minutes  0 seconds (0.047 seconds)
              using 1 thread(s) with 0.046 CPU-seconds total

Render Options
  Quality:  9
  Bounding boxes.......On   Bounding threshold: 3
  Antialiasing.........On  (Method 1, Threshold 0.400, Depth 2, Jitter Off)

Render Statistics
Image Resolution 1600 x 1200

Pixels:          2040800   Samples:         4629652   Smpls/Pxl: 2.27
Rays:           12772602   Saved:           1587744   Max Level: 1600/1200

Ray->Shape Intersection          Tests       Succeeded  Percentage

Blob                            200144           35757     17.87
Blob Component                  167655           84980     50.69
Blob Bound                      800576          167655     20.94
Box                             895707          888096     99.15
Cone/Cylinder                 10696292         9385215     87.74
CSG Intersection                 10395             132      1.27
CSG Union                       462067          174964     37.87
Polygon                         143850           62685     43.58
Sphere                          505290          382893     75.78
Sphere Sweep                  18753062          540509      2.88
Surface of Revolution           355109          187896     52.91
Surface of Rev. Bound           355109          291122     81.98
Torus                           190213          103812     54.58
Torus Bound                     190213          104002     54.68
True Type Font                  817132          213488     26.13
Clipping Object                 540887          478611     88.49
Bounding Box                2413335438       531789436     22.04

Function VM calls:          9498297

Roots tested:              18806406   eliminated:                 1119
Shadow Ray Tests:          10683037   Succeeded:                 47102
Shadow Cache Hits:            40563
Reflected Rays:              168931   Total Internal:             8718
Refracted Rays:              160895
Transmitted Rays:           5772324

Smallest Alloc:                  12 bytes
Largest  Alloc:                  12 bytes
Total Alloc calls:                2         Free calls:       56314983

Render Time:
  Photon Time:      No photons
  Radiosity Time:   No radiosity
  Trace Time:       1 hours 36 minutes 33 seconds (5793.391 seconds)
              using 2 thread(s) with 7003.306 CPU-seconds total
POV-Ray finished
-
CPU time used: kernel 267.56 seconds, user 6745.00 seconds, total 7012.56 
seconds.
Elapsed time 5799.85 seconds, CPU vs elapsed time ratio 1.21.
Render averaged 331.04 PPS (273.79 PPS CPU time) over 1920000 pixels.
----------------------------------------------------------------------------
end stats for pvengine32-sse2 (radiosity-changed) beta 30 2 threads


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 19 Jan 2009 14:47:45
Message: <147C633062104D78B2FA2555A7C26198@HomePC>
> -----Original Message-----
> From: Bob Hughes [mailto:omniverse charter net]
> I hadn't checked any of the sample files before posting until now so I
> gave
> the scenes\advanced\benchmark.pov a try and found the render times to
> be
> like I would expect. Using 1 thread was slower at 26 minutes, while 2
> threads improves that to about 14 minutes; both SSE2's I tested it in,
> while
> non-SSE2 is similar yet slower overall of course.

That's about what I would expect going from 1 thread to 2.  The Trace
portion of POV scales extremely well (almost ideally) with adding cores.

> For at least one of my own files (actually a pov with collection of
> .inc's)
> the render-time differences can be incredible, at the same output
image
> resolution just over 12 minutes using 1 thread in pvengine-sse2.exe,
> and
> about 96 minutes using 2 threads in pvengine32-sse2.exe (pvengine-
> sse2.exe
> beta 30 was 6 minutes faster, or 90 minutes, for whatever reason).

Is there any way you could create a minimal scene that demonstrates this
discrepancy?  I'm rather interested in testing it myself, as I haven't
had any such problems.

If you can't minimize the scene, would you consider posting your file,
or a link to it?  I can't guarantee how useful it would be without
knowing how large it is, of course.

...Ben Chambers
www.pacificwebguy.com

A render isn't slow unless it won't finish until after your next
birthday.


Post a reply to this message

From: Bob Hughes
Subject: Re: thread count rendertimes unpredictable?
Date: 20 Jan 2009 04:37:08
Message: <49759b44$1@news.povray.org>
"Chambers" <ben### [at] pacificwebguycom> wrote in message 
news:147C633062104D78B2FA2555A7C26198@HomePC...
>> -----Original Message-----
>> For at least one of my own files (actually a pov with collection of
>> .inc's)
>> the render-time differences can be incredible, at the same output
> image
>> resolution just over 12 minutes using 1 thread in pvengine-sse2.exe,
>> and
>> about 96 minutes using 2 threads in pvengine32-sse2.exe (pvengine-
>> sse2.exe
>> beta 30 was 6 minutes faster, or 90 minutes, for whatever reason).
>
> Is there any way you could create a minimal scene that demonstrates this
> discrepancy?  I'm rather interested in testing it myself, as I haven't
> had any such problems.
>
> If you can't minimize the scene, would you consider posting your file,
> or a link to it?  I can't guarantee how useful it would be without
> knowing how large it is, of course.


Hey Ben, thanks for wanting to check on this but I haven't been able to get 
anywhere with it yet.
Something I misspoke of before was saying "splines" when I meant 
sphere_sweep (using cubic_spline).

I tried a separate test scene file with some objects (sor, blob, 
sphere_sweep, text, sphere, cylinder) taken from the original problem 
file(s), always renders with a speed-up using 2 threads. I can't seem to 
narrow it down to anything but the original render slows considerably at 1/4 
to 1/3 into it then remains slow, while the Work_Threads=1 helps it speed 
along by comparison.

I still haven't found another file able to cause the same kind of slowdown 
so it could be this one particular rendering I kept thinking of as being the 
problem when changing thread count, except if one does it I'm sure others 
must.

I ran a histogram in 3.6 to see what things would be using the most time 
(not able to in 3.7 beta?), sphere_sweep and overlapping cylinders with 
gradient pigment (some transparency) look the slowest. Not totally 
unexpected at all.

Vista search indexing was all I could think of outside of POV being at 
fault. I switched that off and nothing changed.

If I don't get anywhere soon I might email a link, if you wouldn't mind 
that. It's a time-line data chart I don't really want out loose on the 'net 
because of info used in it that would become outdated. But maybe it doesn't 
matter... guess I just can't see posting it due to the specific nature of 
it.

Bob


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 20 Jan 2009 10:10:26
Message: <5AA99CEE980A486397B6F8F3AE9F92A6@HomePC>
> -----Original Message-----
> From: Bob Hughes [mailto:omniverse charter net]
> I tried a separate test scene file with some objects (sor, blob,
> sphere_sweep, text, sphere, cylinder) taken from the original problem
> file(s), always renders with a speed-up using 2 threads. I can't seem
> to narrow it down to anything but the original render slows
considerably
> at 1/4 to 1/3 into it then remains slow, while the Work_Threads=1
helps it
> speed along by comparison.

One method I've used is to take a copy of the scene, and try removing
objects / simplifying textures one at a time, until the problem
disappears.  If you can't recreate the problem any other way, this
usually works.

> If I don't get anywhere soon I might email a link, if you wouldn't
mind
> that. It's a time-line data chart I don't really want out loose on the
> 'net because of info used in it that would become outdated. But maybe
it
> doesn't matter... guess I just can't see posting it due to the
specific nature
> of it.

That's fine, whatever is appropriate for the data you have.

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Bob Hughes
Subject: Re: thread count rendertimes unpredictable?
Date: 21 Jan 2009 07:23:28
Message: <497713c0$1@news.povray.org>
I put the files at http://0mniverse.com/public/37threads2slow.zip so if 
anyone else wants to check whether it renders much slower with 
Work_Threads=2 in the 3.7 beta they could do so.

When emailing it to Ben I forgot about the clockmod.inc being used and you 
would need to get that from http://www.geocities.com/ccolefax/clockmod.html 
if you don't have it already. Also not sure about the fonts... everyone 
might not have the ones I do and I didn't check which ones I used. If any 
errors occur when attempting to render I think switching the fonts for 
others shouldn't change rendertime.

You're welcome to use the files in part yourselves if you wish, if sense can 
be made of my SDL, I just don't want the whole thing used for what I am 
using it for since I'm putting the resultant graph online already. Doubt 
that needed to be said...

Bob


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 21 Jan 2009 22:13:29
Message: <ABFA7CDD4CD84294B7B1B9E3C8A84A19@HomePC>
By the way, I also had to create a dummy file "holiday symbols.inc" for
it to render.

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 21 Jan 2009 22:28:51
Message: <3E8BA04547084C94A0AF378EADFB4C29@HomePC>
Using Beta 30 x64, I got 70 seconds with one thread and 34 with two.

Using the sse2 version of the modified executable, I got 72 seconds with
one thread and 76 seconds with two!

Something is definitely going on here... I'll be playing with the scene
file...

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 21 Jan 2009 23:16:01
Message: <20CECB82D05043A6B6A700156C442C4B@HomePC>
I don't have more time to work with it today, but I can definitely say
that the effect seen is related to the overlapping graphs and the
background.  Eliminating sets of data or the background both have the
effect of reducing the effect.

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Bob Hughes
Subject: Re: thread count rendertimes unpredictable?
Date: 21 Jan 2009 23:52:32
Message: <4977fb90@news.povray.org>
"Chambers" <ben### [at] pacificwebguycom> wrote in message 
news:3E8BA04547084C94A0AF378EADFB4C29@HomePC...
> Using Beta 30 x64, I got 70 seconds with one thread and 34 with two.
>
> Using the sse2 version of the modified executable, I got 72 seconds with
> one thread and 76 seconds with two!
>
> Something is definitely going on here... I'll be playing with the scene
> file...


That's a very short render time. Are you using the last  //cmd: +w1600 
+h1200  ini line? In any case, two similar render times with the SSE2 makes 
my computer seem to be at fault. The SSE2 is almost always what I use. So if 
you don't see a 5X or more slowing like I do here using 2 threads that's got 
to be something, right? Hope it leads to answers anyway (in POV not my 
file).

Sorry about the missing include file. That holiday symbols include is in my 
include subfolder, not in the place I have all these graph files. I never 
could create enough holiday symbols at such a tiny size to look good on the 
graph so it never became an important part. You might find most of it 
commented out to prevent non-current months from showing a holiday.
I've put it into a new file at 
http://0mniverse.com/public/37threads2slow.zip  which still needs 
clockmod.inc to run completely as-is.

I added the clock stuff to the animation //cmd:  line before uploading the 
file and neglected to put with it was  +kc  for looping the animation. I 
normally use what I have in my quickres.ini but thought it easier to just 
put these there in the scene file.
I've been able to clean up the SDL some, thanks to your asking to try it, 
but it remains awful. It lacks any commenting to explain most things, too, 
such as how's and why's of positioning objects.

Bob


Post a reply to this message

From: Bob Hughes
Subject: Re: thread count rendertimes unpredictable?
Date: 22 Jan 2009 00:02:37
Message: <4977fded$1@news.povray.org>
"Chambers" <ben### [at] pacificwebguycom> wrote in message 
news:20CECB82D05043A6B6A700156C442C4B@HomePC...
>I don't have more time to work with it today, but I can definitely say
> that the effect seen is related to the overlapping graphs and the
> background.  Eliminating sets of data or the background both have the
> effect of reducing the effect.


Thanks Ben, just posted a reply before seeing this, uploaded a new file 
including the missing inc and I will try checking into that more.
I think I eliminated the orthographic camera, sor (raindrops), sphere_sweep, 
blob (thermometers) as being the trouble.

Haven't removed the background waves yet, but it's  function 
{(sin(cos(x/2)+(y/2))*z/2)*z}  color_map and not sure why that and 
overlapping (and layered textures) of the yearly columns would affect thread 
count... or why anything would. But like I said before I don't understand 
the inner workings of threading.

Bob


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 24 Jan 2009 22:03:53
Message: <865AAC411C654BA2898E55340B4F3716@HomePC>
> -----Original Message-----
> From: Bob Hughes [mailto:omniverse charter net]
> That's a very short render time. Are you using the last  //cmd: +w1600
> +h1200  ini line?

No, I was doing a custom render of -w800 -h600.  I'm not interested in
exact render times anyway, just the ratio of the render times.

Sorry I've been busy, I'm taking another look at the new file now.

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 24 Jan 2009 22:09:32
Message: <49CE76C5D62947FEB4BF4721D2838688@HomePC>
This new file renders at 800x600 in 35 seconds using one thread, and 19
seconds using two (800x600, no AA).

So the change has to do with what you removed between the two.

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 24 Jan 2009 22:12:53
Message: <80A0C662711D482E8A584BF6C9CE98E0@HomePC>
Disregard that, I was using the unmodified beta 30.

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Chambers
Subject: Re: thread count rendertimes unpredictable?
Date: 24 Jan 2009 23:12:47
Message: <E70AB5682EB0400CB22624BA6FD0F183@HomePC>
OK, using the modified beta 30, render times for 800x600 w/ no AA are:

2 Threads: 79 seconds
1 Thread: 33 seconds.

The top 50% of the render completes in 17 seconds using either 1 or 2
threads, so something is odd there, but most of the problem is in the
lower half.

...

OK, some further testing revealed the main problem.

In the file lsl_legends-symbols.inc, try commenting out the code
beginning with:
text {
	ttf "arialbd.ttf",
	"NOMINAL",

And ending with:

#end  // SKIP PREVIOUS YEAR IF MONTH GRAPH
object {
	MinimalCurve
	translate <0,-6*52,-15>
}
translate 0.5*z
}


This makes the file render in 9 seconds with one thread, and 6 seconds
with two - which I would call a return to normalcy :)

Now, the next task is to come up with a simpler demonstration of the
problem.

...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

From: Bob Hughes
Subject: Re: thread count rendertimes unpredictable?
Date: 25 Jan 2009 04:36:56
Message: <497c32b8$1@news.povray.org>
"Chambers" <ben### [at] pacificwebguycom> wrote in message 
news:E70AB5682EB0400CB22624BA6FD0F183@HomePC...
> OK, using the modified beta 30, render times for 800x600 w/ no AA are:
>
> 2 Threads: 79 seconds
> 1 Thread: 33 seconds.
>
> The top 50% of the render completes in 17 seconds using either 1 or 2
> threads, so something is odd there, but most of the problem is in the
> lower half.

That's much the same I get here, noticeably slower after about 45%.

> In the file lsl_legends-symbols.inc, try commenting out the code
> beginning with:
> text {
> ttf "arialbd.ttf",
> "NOMINAL",
>
> And ending with:
>
> #end  // SKIP PREVIOUS YEAR IF MONTH GRAPH
> object {
> MinimalCurve
> translate <0,-6*52,-15>
> }
> translate 0.5*z
> }
>
> This makes the file render in 9 seconds with one thread, and 6 seconds
> with two - which I would call a return to normalcy :)

Yep, that's the sphere_sweep part for those of you reading here. You deserve 
thanks for going through that mess of SDL!
I had taken one year of sphere sweeps out where the render gets very slow 
and it didn't seem to help as much as I would have thought it could so I 
left it alone from then on.

> Now, the next task is to come up with a simpler demonstration of the
> problem.

I went back to trying just certain parts in a new test file using the same 
stuff from the original, added in first one year then another, and got these 
render times.

Only sphere sweeps:

no AA 1 thread 19 sec
no AA 2 threads 11 sec
AA 1 thread 52 sec
AA 2 threads 29 sec

plus background:

no AA 1 thread 21 sec
no AA 2 threads 12 sec

plus year 2007 (in second half of image):

no AA 1 thread 47 sec
no AA 2 threads 33 sec

plus years 2004 (first half of image) and 2007:

no AA 1 thread 50 sec
no AA 2 threads 66 sec

And as you can see, this last one is where it turns times around.

I was checking whether or not layered texture cylinders overlapped in a 
similar way (in a new test file) would cause the slowdown by itself and only 
proved it wasn't the reason.

I keep thinking it must be something about the combination of sphere_sweep 
and the overlapping cylinders. My guess would be the bounding going crazy, 
which I could be wrong about. I just never expected anything like this to 
relate to number of threads. I can only presume this kind of thing will 
happen to other scene files.

Another test file I tried earlier was a sphere_sweep with random 3D points, 
looking like a tangled loose ball of string, with hundreds of objects used 
from the graph file and it failed to cause a reversal of render times due to 
thread count. In fact, I wasn't getting a significant slowdown. It could be 
my graph file is unique in regards to this thread count trouble but there 
has to be something peculiar about it. I got a 28X slower render once while 
checking it, from 10 sec to 280 sec. going from Work_Threads=1 to 2.

Thanks again for checking on it yourself, Ben.

Bob


Post a reply to this message

From: clipka
Subject: Re: thread count rendertimes unpredictable?
Date: 25 Jan 2009 08:10:00
Message: <web.497c63a1dd1e5b353c6235530@news.povray.org>
I just noticed the following comment in povray.cpp, function povray_init():

    // we can't use boost::thread::yield here since under windows it is not
    // guaranteed to give up a time slice [see API docs for Sleep(0)]
    // TODO - Maybe boost::thread under Windows needs a patch! [trf]
    while(POV_RenderContext == NULL)
    {
        boost::thread::yield();
        pov_base::Delay(50);
    }

This pattern of calling both boost::thread::yield() together with
pov_base::Delay() is used throughout POV-Ray, except for the functions
MainThreadFunction() in povray.cpp and vfeSession::WorkerThread() in
vfesession.cpp, which makes me wonder whether this is intended.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.