On 10/26/2008 07:47 PM, Vladimir Savic wrote:
Do you think we are getting insignificantly better performance by
determining motion speed even in "always snap" mode? I don't know,
honestly. 

Well, it depends on the complexity drawing. I haven't done any measurements on the responsiveness, but it feels better. Anyway, it shouldn't get significantly worse in any case. The number of snapping calculations has dropped dramatically for sure, but we still need to go through all candidates for snapping to once, that didn't change.

Haven't tried it at complex drawing, but I think I like 0.46
version behavior better. Only in this situation, though.

To see some side-effects of recent changes in snapping code, try this
situation: pick pencil tool and draw with snapping to grid on. Observe
how many nodes are being added to resulting path without reason.
  

Good catch! I think I can easily solve this by not adding new nodes while snapping is being postponed. But still I find this a bit worrysome; are there more cases in which we can expect such behavior?

) Wait a few milliseconds when snapping occurs to avoid re-snapping
glitches
  
      
That would just act as a low-pass filter, wouldn't it? It would just 
reduce the jumpiness but not eliminate it completely.
    

I think this will have much more psychological effect then anything.
User know that snapping will occur. He/she picks a tool for work and
draws/moves/whatever. If distance is more then, let's say, 50px first
move(s) will probably be the longest one(s). Snapping happened
somewhere. Now, the interesting part. Pointer moves really near. Not
more then 10-15 pixels. Snapping again. At this stage user either
quickly releases click as he/she already saw everything is in place _or_
wants to make sure everything is in place by making small movements
around target (almost like tablet input device jitter). If jerking of
redraws doesn't happen now user will be convinced that the job is done.

Careful choice of snapping time delay will _probably_ make jitter much
less present. Maybe the same approach would help in previously described
situation. I'm not really sure...
  

But wouldn't this require a delay that's too large? I don't want to introduce too much lag. I'm not sure either though.


Slightly off-thread but on-topic:
1) Who reincarnated radio buttons in Snap to grids and Snap to guides?
  

I did. Apparently this is the best way to implement the "always snap" and "snap distance" features. We arrived at this after lots of discussion. The only downside I see is that it takes up a lot of space
2) Maybe snap dialog could be cleaned out a bit.
  
It's on my TODO list

Thanks for your feedback Vlada!

Diederik