Hi Sadat,

I used Mason to model a football(soccer)-stadium with 13000 agents and interestingly it made no difference for the runtime if I did the simulation with or without the gui. I didn't used it, but maybe you should read the sections of the manual (p.145 ff) where checkpoints are described. Maybe that is what you want. You could set a checkpoint at those milestones. save the simulation, run that in a gui environment for some steps till another checkpoint and than run again without the gui. At least what I understand from that section of the manual, it should be possible.

If time isn't the limiting factor it is only important that a user can interact at a certain point, you can also run the entire simulation in the gui, you can set a step where the simulation has to pause so you won't miss a certain point.

On a unrelated sidenode:
2 things I discovered with my project:

- if I run my mason model in parrallel without a gui, it leads to states where some agents where in a live- or deadlock (I hadn't the time to find out exactly what happened there). When I run the same simulations in a loop (sequential) then those live-/deadlock didn't occur.
- I tried to capture a video (10fps) of my simulation (one run needs about 2 1/2 hours) with the build in tool but the video output wasn't properly saved. There was a tmp-output file but it seemed that this wasn't written back into the original file I chosed in the capture-dialog.


2013/11/6 Sadat Chowdhury <[log in to unmask]>
Hi all,

Perhaps this is something I have to figure out myself, as it is very specific to my application, but I'm still asking this to the MASON community at large -- maybe someone has had a similar situation before.

I am simulating an evolutionary system that has a long run-time. If I run the simulation without the GUI, it runs very fast, and I encounter "interesting" events fairly quickly. If I run the simulation with a GUI, I can visualize the process, but the execution is slowed down significantly -- and I would have to let the GUI simulator run for a very long time to get to those events that I am interested in observing.

I have a way of detecting when I hit certain milestones. What I would like to do is, "freeze" the GUI part (viewer part in the MVC framework) until I hit those milestones, let the viewer act on the model at that point, for certain number of steps, and then disconnect the viewer until I hit the next milestone. The purpose is to only wake up the viewer when it is signaled -- otherwise run the main simulation in a detached mode.

Are there any particular API calls, examples, patterns I should follow?