changeset 69:f87003695677

Moved drawno out of plot update functions for huge performance boost.
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 23 Nov 2015 13:54:01 +0100
parents f9a65e62c5e5
children 243c558dc3ae
files +anim/setup_1d_plot.m +anim/setup_2d_plot.m +anim/setup_surf_plot.m +anim/setup_time_quantity_plot.m +noname/animate.m
diffstat 5 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/+anim/setup_1d_plot.m	Mon Nov 23 13:51:31 2015 +0100
+++ b/+anim/setup_1d_plot.m	Mon Nov 23 13:54:01 2015 +0100
@@ -35,7 +35,6 @@
                 set(plot_handles(i),'YData',yfun{i}(varargin{:}));
             end
             title(axis_handle,sprintf('T=%.3f',t));
-            drawnow
         end
     end
     update_data = @update;
--- a/+anim/setup_2d_plot.m	Mon Nov 23 13:51:31 2015 +0100
+++ b/+anim/setup_2d_plot.m	Mon Nov 23 13:54:01 2015 +0100
@@ -21,7 +21,6 @@
         if ishandle(plot_handle) && ishandle(axis_handle)
             set(plot_handle,'CData',Z)
             title(axis_handle,sprintf('T=%.3f',t));
-            drawnow
         end
     end
     update_data = @update;
--- a/+anim/setup_surf_plot.m	Mon Nov 23 13:51:31 2015 +0100
+++ b/+anim/setup_surf_plot.m	Mon Nov 23 13:54:01 2015 +0100
@@ -23,7 +23,6 @@
         if ishandle(plot_handle) && ishandle(axis_handle)
             set(plot_handle,'ZData',Z)
             title(axis_handle,sprintf('T=%.3f',t));
-            drawnow
         end
     end
     update_data = @update;
--- a/+anim/setup_time_quantity_plot.m	Mon Nov 23 13:51:31 2015 +0100
+++ b/+anim/setup_time_quantity_plot.m	Mon Nov 23 13:54:01 2015 +0100
@@ -1,6 +1,10 @@
 function [update_data, plot_handles] = setup_time_quantity_plot(yfun)
     default_arg('yfun',@(y)y);
 
+    if isa(yfun,'function_handle')
+        yfun = {yfun};
+    end
+
     t = [];
     for i = 1:length(yfun)
         plot_handles(i) = line(0,0);
@@ -21,7 +25,6 @@
                 plot_handles(j).XData = t;
                 plot_handles(j).YData = quantities{j};
             end
-            drawnow
         end
     end
     update_data = @update;
--- a/+noname/animate.m	Mon Nov 23 13:51:31 2015 +0100
+++ b/+noname/animate.m	Mon Nov 23 13:54:01 2015 +0100
@@ -46,6 +46,7 @@
         ts.evolve(next_t);
         sol = discretization.getTimeSnapshot(ts);
         update(sol);
+        drawnow
         % waitforbuttonpress
         if makemovies
             save_frame();
@@ -63,7 +64,7 @@
 
     fprintf('Using time step k = %.6f\n',ts.k)
     fprintf('System size: %d\n',size(discretization))
-    waitforbuttonpress
+    % waitforbuttonpress
     anim.animate(@G,0,Tend,time_modifier)
     str = util.replace_string(str,'');