On XO Tablet (Android 4.3):
- Rotate button is too slow to be usable
- Zooming and rotating does not respond well
Further comments from original issue:
This might be due to the slow processor on this particular tablet, but that might be indicative of many Android 4.2 / 4.3 tablets, so we should look at a way of speeding this up. Note that rotation is working smoothly on smaller shapes, but not on complex shapes like Scratch cat.
Here's an idea for how we can fix this, and improve performance in the process. Instead of drawing the SVG each frame, draw the SVG to a temporary canvas and then rotate the canvas. When the rotation is complete, update the image and destroy the working canvas.
I've confirmed with debug statements that the reason it is not responding is that mouseMove is not being fired. I'm tracking down the code that's preventing mouseMove from being fired. Looks like it's Layer.findGroup().
It's not directly caused by Layer.findGroup(). Instead, it looks like the more objects that are selected, the longer it takes the mouse events to process, and eventually the browser gives up sending the mouseMove events. This only seems to happen on Android 4.2 and 4.3 tablets, and I haven't found a good fix yet.
However, this is a workaround - to rotate, simply start dragging, let go, and tap in the final spot you want it to rotate. Not as good as interactive rotation, but better than not rotating at all.
Galaxy Tab 2 (7-inch) running 4.2 had the same issue. simple shapes could rotate, more complex ones had problems - the workaround did "solve" it.
We noticed the same sort of issues with using the camera. Tapping a simple shape the camera would come up relatively quickly. (The snake worked for example) But anything complex it would take a really long time, or never come up.
Moved from LLK/scratchjr-private#235
/cc @markroth8