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!