Timeline for Using Manipulate with a control variable for selective recalculation
Current License: CC BY-SA 3.0
14 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Jan 12, 2014 at 17:28 | vote | accept | Luca M | ||
| Jan 12, 2014 at 14:44 | history | edited | Nasser | CC BY-SA 3.0 | made the option explicit |
| Jan 12, 2014 at 14:30 | comment | added | Nasser | @LucaM added a version much faster, it uses ContinuousAction -> False on the Slider2D. This makes it fast, but you won't see the update until you release the mouse. Kept the old version there. | |
| Jan 12, 2014 at 14:29 | history | edited | Nasser | CC BY-SA 3.0 | added new version |
| Jan 12, 2014 at 12:13 | comment | added | Luca M | Actually, after your "cure", I don't complain at all about the speed of this simulation. It's just that I'd like to understand better why a second run of the Manipulate is needed to fix the interactivity responsiveness. Just out of curiosity... As you suggested I'll post a separate question about the use of Locators i/o Slider3D, but maybe that's not possible. Maybe there could be 3 Locators in the Manipulate control section that are dynamically linked with the Slider3D controls (that should then be made invisible...)? | |
| Jan 12, 2014 at 11:04 | comment | added | Nasser | @LucaM making dynamics fast and optimized is something that has to be looked at in any method and that is not easy. There are few ways to make it is faster. You can for example make PerformanceGoal->"Speed", you can reduce the numbers/data used by StreamPlot? I am not familiar with StreamPlot and all its options. Also using ControlActive might help. | |
| Jan 12, 2014 at 10:38 | comment | added | Luca M | Yes that's much more better. Anyway I can't understand why, after the first run (and waiting for the initialization to complete), the controls are much unresponsive, unless the manipulate is run a second time. | |
| Jan 12, 2014 at 10:25 | history | edited | Nasser | CC BY-SA 3.0 | added SynchronousInitialization -> False, |
| Jan 12, 2014 at 10:24 | comment | added | Nasser | @LucaM I was able to reproduce it now. Deleting the cell output, then restarting the kernel. But this is just the initialization part. If you just add SynchronousInitialization -> False then now you will see it come right away, and see it updating on the screen with a nice progress chart, instead of what was happening before. The computation in your initialization has to complete before manipulate display the first time. This only happens once. The above should make it more user friendly. I've added SynchronousInitialization -> False, to the code also. | |
| Jan 12, 2014 at 10:15 | comment | added | Luca M | Windows 8.1/Mathematica 9.0.1. If delete the Manipulate output, quit and restart the kernel the first run is slow (about 10s). It seems that Mathematica must do some heavy work to initialize the front end. | |
| Jan 12, 2014 at 9:47 | comment | added | Luca M | Thanks Nasser! There are great improvements with your code. Anyway it seems that issue 1) is not really solved yet. The first run (just after starting Mathematica) is very slow, and there's a message saying "Formatting Notebook content". After that, if the Manipulate is run a second time everything is fine. | |
| Jan 12, 2014 at 9:11 | history | edited | Nasser | CC BY-SA 3.0 | added few comments |
| Jan 12, 2014 at 9:02 | history | edited | Nasser | CC BY-SA 3.0 | add more notes |
| Jan 12, 2014 at 8:51 | history | answered | Nasser | CC BY-SA 3.0 |