|
[Date Index]
[Thread Index]
[Author Index]
Manipulate and conflict in options to update front end for long evaluation, SynchronousUpdating
- To: mathgroup at smc.vnet.net
- Subject: [mg80070] Manipulate and conflict in options to update front end for long evaluation, SynchronousUpdating
- From: "Nasser Abbasi" <nma at 12000.org>
- Date: Sun, 12 Aug 2007 07:08:11 -0400 (EDT)
- Reply-to: "Nasser Abbasi" <nma at 12000.org>
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
Prev by Date:
Re: Mathematica v5 versus v6
Next by Date:
Re: 64 bit Kernel does not run on iMac Intel
Previous by thread:
Re: Reading Coordinates from Plot
Next by thread:
Re: Manipulate and conflict in options to update front
|