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
- References:
- Manipulate and conflict in options to update front end for long evaluation, SynchronousUpdating
- From: "Nasser Abbasi" <nma@12000.org>
- Manipulate and conflict in options to update front end for long evaluation, SynchronousUpdating