MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Manipulate and conflict in options to update front

  • To: mathgroup at smc.vnet.net
  • Subject: [mg80131] Re: [mg80070] Manipulate and conflict in options to update front
  • From: Carl Woll <carlw at wolfram.com>
  • Date: Mon, 13 Aug 2007 04:35:53 -0400 (EDT)
  • References: <200708121108.HAA27177@smc.vnet.net>

Nasser Abbasi wrote:

>I seem to have a dilemma here in using Manipulate. There seem to be a design 
>conflict in how Manipulate works.
>
>Manipulate, it seems, has a 6 seconds (or some limit) before the front end 
>times out if an evaluation takes too long.
>
>When I use SynchronousUpdating->False option to Manipulate, then the front 
>end will NOT time out no matter how long the evaluation takes, good, 
>however, now when I click the 'play' button on the front end for example, or 
>if I select a new parameter from the front end, then the front end will just 
>advance the counters quickly without waiting for the last evaluation to 
>complete, and so one does not see the result on the front end corresponding 
>to the current values/parameters displayed. It is like the front end is 
>running on its own pace while an evaluation 10 steps earlier still has not 
>finished. I guess this is what I asked for when I did 
>SynchronousUpdating->False.
>
>So when I use the SynchronousUpdating->True option, then the front end will 
>block until the last evaluation completes, good, but a long evaluation will 
>cause the front end to $Abort if it does not complete after the timeout set 
>for the front end which I understand is 6 seconds.
>
>If I use wrap the evaluation byTimingConstrained and give it long time, it 
>has no effect on the time out for the front end for Manipulate.
>
>So I am stuck.
>
>How can I make Manipulate front end block until the current evaluation 
>complete fully and display its output before it jumps to the next value (say 
>when I hit the 'play' button), no matter how long the evaluation?
>
>I tried to speed up the evaluation, but I am using symbolic integration many 
>times in each step,  and I can't seem to speed that any more. I wrote a 
>smalll finite elements program and for each element, there are 2 symbolic 
>integrations, As the number of elements go over 20 or 30, then it starts to 
>take about 5-10 seconds to complete the whole thing, causing an $Abort. I 
>did Timing and this is where all the time is being spend, in the Integrate[] 
>function.
>
>I do not know how to remove the timeout build in Manipulate front end.
>
>Any ideas?
>
>thanks,
>Nasser
>
>  
>
The option you are looking for is DynamicEvaluationTimeout. You can set 
this with options to $FrontEnd:

SetOptions[$FrontEnd, DynamicEvaluationTimeout->10000]

or you can set this as a Style option:

Style[ Manipulate[ ... ], DynamicEvaluationTimeout->10000]

I think the default is 6 seconds.

Carl Woll
Wolfram Research


  • Prev by Date: Re: question
  • Next by Date: Re: Mathematica v5 versus v6
  • Previous by thread: Manipulate and conflict in options to update front end for long evaluation, SynchronousUpdating
  • Next by thread: Re: Manipulate and conflict in options to update front