POV-Ray : Newsgroups : povray.beta-test : max_trace_level problem : Re: max_trace_level problem Server Time
30 Jul 2024 18:22:42 EDT (-0400)
  Re: max_trace_level problem  
From: Ron Parker
Date: 12 Nov 2001 16:57:22
Message: <slrn9v0he8.40k.ron.parker@fwi.com>
On Mon, 12 Nov 2001 20:48:44 +0100, Thorsten Froehlich wrote:
> In article <slr### [at] fwicom> , Ron Parker 
><ron### [at] povrayorg>  wrote:
> 
>> Nope, a Win32 stack has a "reserve" size and a "commit" size.  The loader
>> allocates address space for the "reserve" size, but it only actually maps
>> memory for the "commit" size.  It then marks the page just below the
>> commit as Not Present and waits for it to fault.  When it faults, the OS
>> maps another page into the address space
> 
> But it cannot shrink the stack this way.  So once you have a stack that is
> i.e. 100 MB you have to restart the application.  I think the same problem
> exists under Unix.  Unless, of course, you have a system function to shrink
> the stack "manually".

Threads.

Each thread has its own stack allocation.  Kill the render thread and
restart it, and the stack allocation starts over at the "commit" size again.

--
#macro R(L P)sphere{L __}cylinder{L P __}#end#macro P(_1)union{R(z+_ z)R(-z _-z)
R(_-z*3_+z)torus{1__ clipped_by{plane{_ 0}}}translate z+_1}#end#macro S(_)9-(_1-
_)*(_1-_)#end#macro Z(_1 _ __)union{P(_)P(-_)R(y-z-1_)translate.1*_1-y*8pigment{
rgb<S(7)S(5)S(3)>}}#if(_1)Z(_1-__,_,__)#end#end Z(10x*-2,.2)camera{rotate x*90}


Post a reply to this message

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