Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

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

Search the Archive

Re: Dynamic performance - input fields slow

  • To: mathgroup at smc.vnet.net
  • Subject: [mg100202] Re: Dynamic performance - input fields slow
  • From: nonaggie at gmail.com
  • Date: Thu, 28 May 2009 04:27:12 -0400 (EDT)
  • References: <28412010.1243248483392.JavaMail.root@n11> <gvhmc6$84s$1@smc.vnet.net>

Interesting; when I copy it to a fresh notebook in a new session of
Mathematica, I have the same problem.  Perhaps it's just because my
computer is old and slow.  However, I tried it on a different
computer, and I experience the same issue if I make the graphics
complicated enough.

For example:

DynamicModule[{f, g},
 {InputField[Dynamic[f], FieldSize -> 10],
  InputField[Dynamic[g], FieldSize -> 10],
  Dynamic[Plot3D[f, {x, -2, 2}, {y, -2, 2}, PlotPoints -> 250],
   TrackedSymbols -> {f}]}
 ]

has noticeably slower response in the input fields as compared to

Manipulate[
 Plot3D[f, {x, -2, 2}, {y, -2, 2}, PlotPoints -> 250],
 {f}, {g}]

It appears to me (although this is just a guess) that the Dynamic
version tries to redraw the graphics each time I type in an input
field, whereas the Manipulate version does not.  Any idea what
Manipulate does to get this behavior?

By the way, I'm using Mathematica 6, if it makes a difference.



On May 26, 5:19 pm, "David Park" <djmp... at comcast.net> wrote:
> When I copy your DynamicModule example into a fresh notebook, I don't
> experience any problem with slow response to typing before or after the p=
lot
> is rendered.
>
> David Park
> djmp... at comcast.nethttp://home.comcast.net/~djmpark/ 
>
> From: nonag... at gmail.com [mailto:nonag... at gmail.com]
>
> Hello,
>
> I'm writing a Dynamic module with 3D graphics and several input
> fields.  Once the 3D plot is rendered, simply typing in the input
> fields become extremely slow (even though the graphic is not
> changing).
>
> Here's a simple example:
>
> DynamicModule[{f, g},
>  {InputField[Dynamic[f], FieldSize -> 10],
>   InputField[Dynamic[g], FieldSize -> 10],
>   Dynamic[Plot3D[f, {x, -2, 2}, {y, -2, 2}]]
>   }
>  ]
>
> Initially, both input fields respond quickly to typing.  If I enter
> something in the first, like x, then the plot shows, and the input
> fields no longer respond quickly to typing.  If I do the same thing
> with Manipulate, I don't experience this problem:
>
> Manipulate[
>  Plot3D[f, {x, -2, 2}, {y, -2, 2}],
>  {f}, {g}]
>
> I would like to use Dynamic rather than Manipulate because the
> eventual UI will be quite a bit more complicated, but I'm not sure
> what's causing the slow performance.  Does anybody have any tips?
>
> Thanks!



  • Prev by Date: Re: using predefined expressions in functions [newbie
  • Next by Date: Re: new to group - Chemical Equation Solutions
  • Previous by thread: Re: Dynamic performance - input fields slow
  • Next by thread: TRANSFER FILE NAMES