Android : Why does android requests a full redraw after a touch event, but only on a ARM device and not on a x86

on Sunday, September 14, 2014


I use the JUCE framework and have a strange performance issue on my Android ARM device, but not on a x86 test dev.


Problem: When I touch the screen on the ARM test device, android requests a full redraw for the whole UI (canvas size == desktop::width x desktop::height) without invalidate any area on the UI from my side. But the same code doesn't do it on the x86 device! This full redraw takes a long time (~300ms) and the ui feels very sluggish.


File: app.java



public final class MyCustomView extends ViewGroup
{
// ...
@Override
public void onDraw (Canvas canvas)
{
// The canvas size is here == deskto::width X ::height
// after a onTouch MotionEvent.ACTION_DOWN on the ARM test dev

// This method calls C++ rendering code
}

@Override
public boolean onTouchEvent (MotionEvent event)
{
// ...
}
}


I do not understand why android handles the same thing different on different architectures. Could it be just a device setting? Any idea?


Thanks


0 comments:

Post a Comment