Index: trunk/doc-rnd/features/grid.html =================================================================== --- trunk/doc-rnd/features/grid.html (nonexistent) +++ trunk/doc-rnd/features/grid.html (revision 3576) @@ -0,0 +1,95 @@ + + + pcb-rnd - gtk grid fixes + + + + + + + + + +
Main + News + People + Events + pcb-rnd +
+ + +

pcb-rnd - gtk grid fixes

+ +

Problem with the original gtk grid

+ +The original code draws every grid point on screen, even the ones that are +off the board. When the user zooms out with a dense grid, it can become too +dense - the original code turns the grid off in this case. +

+If the grid is very dense, on a large screen the software render may slow down. +This is noticeable in pan and zoom mostly. The bottleneck is the gtk call +that draws the grid points: if there are too many of them, it's slow. + + +

New grid

+ +To overcome this problem, pcb-rnd offers configuration settings to limit +the number of dots to be drawn. There are mainly two parallel approaches: +using a local grid or draw less dots in a global grid. The +old code defined only a global grid and did not have runtime settings for +the properties of the grid. + +

Global grid improvements

+ +The most trivial optimization is that grid points off the board are simply +not drawn: +

+ +

+Next, the compile-time configurable "minimum distance between grid points +before it is too dense" setting is user configurable now. The default value +can be changed in any of the usual +configuration sources. However, +when the configured density is reached while zooming out, there are two options. +

+The first, default option is to do the same that the original code did: just +hide the grid: +

+ +

+An alternative is to use sparse global grid which means only +every 2nd, 3rd, 4th, ... Nth grid point is drawn. The cursor still snaps +to every real grid point, so the grid got sparse only on the display. Note +how the line is drawn on invisible grid points: +

+ + +

Introduction of the local grid

+Another approach is to use a local grid. The grid helps finding whether +existing objects are aligned or where the next move/click would end up. +These are usually interesting only in a small range around the crosshair and +less interesting on the other end of the board. Local grid draws the grid +points only near the crosshair. Such local grid follows the crosshair +everywhere: +

+ +

+The user can configure or interactively set the radius in which the grid +points are drawn: +

+ +

+The radius is given in "number of grid points", thus the local grid yields +a constant number of points that is independent of the actual grid size. When +a local grid gets too dense, it is hidden - there's no sparse option, since +local grids usually have too few points to make reasonable skips. + +

save/load and compatibility

+Not affected. + +

plans

+This feature is gtk-specific and is complete. There are no plans to +implement this in the lesstif HID at the moment. + + + Index: trunk/doc-rnd/features/grid_edge.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/doc-rnd/features/grid_edge.png =================================================================== --- trunk/doc-rnd/features/grid_edge.png (nonexistent) +++ trunk/doc-rnd/features/grid_edge.png (revision 3576) Property changes on: trunk/doc-rnd/features/grid_edge.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: trunk/doc-rnd/features/grid_global_nosparse.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/doc-rnd/features/grid_global_nosparse.png =================================================================== --- trunk/doc-rnd/features/grid_global_nosparse.png (nonexistent) +++ trunk/doc-rnd/features/grid_global_nosparse.png (revision 3576) Property changes on: trunk/doc-rnd/features/grid_global_nosparse.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: trunk/doc-rnd/features/grid_global_sparse.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/doc-rnd/features/grid_global_sparse.png =================================================================== --- trunk/doc-rnd/features/grid_global_sparse.png (nonexistent) +++ trunk/doc-rnd/features/grid_global_sparse.png (revision 3576) Property changes on: trunk/doc-rnd/features/grid_global_sparse.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: trunk/doc-rnd/features/grid_local_16.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/doc-rnd/features/grid_local_16.png =================================================================== --- trunk/doc-rnd/features/grid_local_16.png (nonexistent) +++ trunk/doc-rnd/features/grid_local_16.png (revision 3576) Property changes on: trunk/doc-rnd/features/grid_local_16.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: trunk/doc-rnd/features/grid_local_4.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/doc-rnd/features/grid_local_4.png =================================================================== --- trunk/doc-rnd/features/grid_local_4.png (nonexistent) +++ trunk/doc-rnd/features/grid_local_4.png (revision 3576) Property changes on: trunk/doc-rnd/features/grid_local_4.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: trunk/doc-rnd/features/index.html =================================================================== --- trunk/doc-rnd/features/index.html (revision 3575) +++ trunk/doc-rnd/features/index.html (revision 3576) @@ -46,7 +46,8 @@ [dynstyle] dynamic routuing style: sypport more than 4 of them - with no limit [conf] new, unified, config file system routing styles routing style fixes -settings minor changes in default settings +(gtk grid) gtk grid improvements: sparse global grids, local grids +(settings) minor changes in default settings