06-06-2017, 10:42 AM
After some investigation, I also see the issue you're describing.
The internal code to handle the resize callback from Illustrator is identical between Mac and Windows, and Mac does not exhibit this problem. I suspect that the underlying problem is how quickly the Windows message pump in Illustrator can issue messages regarding the window resize events (unfortunately all plugins are subject to Illustrator's handling of the message pump). We have seen this problem in other areas, like scheduling delayed callbacks (much slower on Windows than on Mac). So for each pixel the window is physically resized we are probably only getting a fraction of the events we should be receiving, e.g. every 5 px instead of every 1 px. As such, the "final" resize event for when the user has stopped moving their cursor might never be received at all
However, I wonder why you are moving widgets manually to align them with the left side of the panel? If you create a widget at e.g. (10,10) then it will always be at (10,10) no matter which side/corner of the panel the user utilizes to resize said panel. As in, the widget will always be 10 pixels offset from the left of the panel and 10 pixels offset from the top of the panel, unless you manually move it to another coordinate.
The internal code to handle the resize callback from Illustrator is identical between Mac and Windows, and Mac does not exhibit this problem. I suspect that the underlying problem is how quickly the Windows message pump in Illustrator can issue messages regarding the window resize events (unfortunately all plugins are subject to Illustrator's handling of the message pump). We have seen this problem in other areas, like scheduling delayed callbacks (much slower on Windows than on Mac). So for each pixel the window is physically resized we are probably only getting a fraction of the events we should be receiving, e.g. every 5 px instead of every 1 px. As such, the "final" resize event for when the user has stopped moving their cursor might never be received at all
However, I wonder why you are moving widgets manually to align them with the left side of the panel? If you create a widget at e.g. (10,10) then it will always be at (10,10) no matter which side/corner of the panel the user utilizes to resize said panel. As in, the widget will always be 10 pixels offset from the left of the panel and 10 pixels offset from the top of the panel, unless you manually move it to another coordinate.