You can find a list of limitations here:
http://developer.android.com/guide/topics/graphics/hardware-accel.html (see
Unsupported Drawing Operations).

We will update this page with a table listing the limitations per API
level. That table will also list limitations such as the one you're running
into.


On Fri, Jun 21, 2013 at 9:46 PM, Leith Bade <[email protected]>wrote:

> Thanks for the fast reply guys!
>
> Is there a page that lists all the limitations of the hardware accelerated
> rendering engine and the Android versions applicable? That would be very
> useful.
>
> It's cool to see the Android developers actually read these emails.
>
> On Saturday, 22 June 2013 03:29:09 UTC+10, RichardC wrote:
>>
>> See this thread:
>> https://groups.google.com/d/**msg/android-developers/**
>> 2DT6JaPszR0/-Q2g6ZLRM5sJ<https://groups.google.com/d/msg/android-developers/2DT6JaPszR0/-Q2g6ZLRM5sJ>
>>
>>
>>
>> On Friday, June 21, 2013 5:32:51 PM UTC+1, Leith Bade wrote:
>>>
>>> I have been banging my head for a while trying to figure out why my
>>> custom view was not drawing properly until I tried turning off hardware
>>> acceleration.
>>>
>>> It is to do with canvas.drawCircle. It is drawn in solid blue at about
>>> 300px radius.
>>>
>>> I also use canvas.drawText and that works fine under hardware
>>> acceleration.
>>>
>>> The only thing I can think of is that I a using an unsymmetrical
>>> canvas.scale...
>>>
>>> Here is my code:
>>> // Called to redraw the map
>>>  @Override
>>> protected void onDraw(Canvas canvas) {
>>>  // Check if we are in Eclipse UI editor
>>> if (isInEditMode()) {
>>>  return;
>>> }
>>>  // Save the canvas' transforms for unscaled UI elements
>>> canvas.save();
>>>  // Place the map offset in centre of screen
>>>  canvas.translate(getWidth() / 2, getHeight() / 2);
>>>  // Zoom the map
>>> canvas.scale((float) (-1.0 / mMapController.**getMapMetresPerPixelX()),
>>> (float) (-1.0 / mMapController.**getMapMetresPerPixelY()));
>>>  // Pan the map
>>> canvas.translate((float) mMapController.getMapCentreX()**, (float)
>>> mMapController.getMapCentreY()**);
>>>  // Draw a circle
>>> canvas.drawCircle(0.0f, 0.0f, 0.01f, mCirclePaint);
>>>  // Restore the canvas' transforms for unscaled UI elements
>>>  canvas.restore();
>>>  // Draw the map centre coordinated and scale in top left
>>>  canvas.drawText("Centre Coord: (" + String.format("%.4f",
>>> mMapController.getMapCentreX()**) + ", " + String.format("%.4f",
>>> mMapController.getMapCentreY()**) + ")", 16.0f *
>>> mDisplayMetrics.density, 36.0f * mDisplayMetrics.scaledDensity,
>>> mCoordPaint);
>>>  canvas.drawText("Scale:" + String.format("%.4f",
>>> mMapController.getMapScale()), 16.0f * mDisplayMetrics.density, 54.0f *
>>> mDisplayMetrics.scaledDensity, mCoordPaint);
>>>  }
>>>
>>> The values of the various variables from the debugger:
>>> isInEditMode() = false
>>> getWidth() = 1080
>>> getHeight() = 1701
>>> getMapMetresPerPixelX() = 5.37037039426811E-5
>>> getMapMetresPerPixelY() = -5.364583215838397E-5
>>> getMapCentreX() = 0.0
>>> getMapCentreY() = 0.0
>>> getMapScale() = 1.0
>>> mCirclePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
>>> mCirclePaint.setColor(Color.**BLUE);
>>> mCoordPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
>>> mCoordPaint.setColor(Color.**BLACK);
>>> mCoordPaint.setTextSize(18.0f * mDisplayMetrics.scaledDensity)**;
>>> mDisplayMetrics.density = 3.0
>>> mDisplayMettrics.scaledDensity = 3.0
>>>
>>> I hope that helps figure it out.
>>>
>>> I am going to try on the emulator with 4.2 too see what happens.
>>>
>>> Leith
>>>
>>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Android Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
Romain Guy
Android framework engineer
[email protected]

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to