← Back to team overview

kicad-developers team mailing list archive

Re: R2217 bugs

 

--- In kicad-devel@xxxxxxxxxxxxxxx, Vesa Solonen <vsolonen@...> wrote:
>
> It seems using wxAutoBufferedPaintDC in OnPaint event as a Windows 7 
> compositor fix introduces regression on Linux. All gui controls flicker on 
> zoom and the performance is much worse with or without compositing. 

I'm having heavvy problems too with Mac, the Blit operation is really heavvy, refreshes takes some seconds.
I've another patch to test on Windows 7 and that looks working well on Mac and should also on Linux.


Index: common/drawpanel.cpp
===================================================================
--- common/drawpanel.cpp	(revision 2220)
+++ common/drawpanel.cpp	(working copy)
@@ -11,7 +11,7 @@
#include "class_drawpanel.h"
#include "class_base_screen.h"
#include "wxstruct.h"
-
+#include <wx/wupdlock.h>
#include "kicad_device_context.h"
 
#define CURSOR_SIZE 12 // Cursor size in pixels
@@ -760,9 +760,10 @@
GRSetColorPen( DC, color );
int xpos, ypos;
 
-#if 0 // Use a pixel based draw to display grid
+#if 1 // Use a pixel based draw to display grid
// There is a lot of calls, so the cost is hight
// and grid is slowly drawn on some platforms
+	wxWindowUpdateLocker(this);
for( ii = 0; ; ii++ )
{
xg = wxRound(ii * screen_grid_size.x);
@@ -778,7 +779,6 @@
int ypos = org.y + yg;
DC->DrawPoint( xpos, GRMapY( ypos ) );
}
-
}
#else // Currently on test: Use a fast way to draw the grid
// a grid column is drawn; and then copied to others grid columns









Follow ups

References