-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use bitmap filtering for improved chart rendering #364
base: master
Are you sure you want to change the base?
Conversation
Interesting Fred, thanks for the patch submission.
I don't have a strong preference for the softer look, but that probably
doesn't matter. :)
A few questions:
* How much visual impact does it have when not zoomed in? More
extreme zooms are a small percentage of the total usage time...
since for anything zoomed out we pull a different tile.
* And is the look similar for IFR charts?
* And other images (plates, chartsup, etc)? Or does this just apply to
charts?
* What is the power burden?
* What is the relative rendering speed.
https://developer.android.com/reference/android/graphics/drawable/BitmapDrawable#attr_android:filter
suggests this is set true by default. If it varies by device, I would
then presume that different manufacturer's make the default change for a
purpose? Do you have any insights on that?
I image that principle impact of this (beyond visual) is that it is
power hungry and might make the screen response more sluggish. (I
estimate 510*510*9=2,340,900 floating point additions per tile,
sometimes ~60+ tiles on screen when zoomed out and ~4-8 when zoomed in)
to which this is applied if done in CPU. Likely some boards may get a
boost by doing this in hardware? Which may explain the manufacturer
differences?. FWIW The pixel3XL has defaulted to many power hungry
features and I have felt the pain of that on my phone's battery life.
Would love to hear thoughts on these especially from somebody on the
lower end of the hardware spectrum.
…On 5/22/20 1:45 PM, Fred Wehle wrote:
This PR adds bitmap filtering to the LocationView. This results in
reduced pixelation when fully zoomed in. It also reduces artifacts
when moving the map a zoomed out view.
(This may already be the default setting on some devices. For example
my Nexus 9 does not default to bitmap filtering, but my Pixel 3XL does.)
Before:
Screenshot_bbefore
<https://user-images.githubusercontent.com/2163396/82694914-57da4e80-9c21-11ea-9cce-69830038d3b9.png>
After:
Screenshot_after
<https://user-images.githubusercontent.com/2163396/82694943-658fd400-9c21-11ea-8bd7-a829deeb04ea.png>
------------------------------------------------------------------------
You can view, comment on, or merge this pull request online at:
#364
Commit Summary
* Use bitmap filtering for improved chart rendering
File Changes
* *M* app/src/main/java/com/ds/avare/views/LocationView.java
<https://github.com/apps4av/avare/pull/364/files#diff-b30ed811c5f90de151a0769af8c6d078>
(1)
Patch Links:
* https://github.com/apps4av/avare/pull/364.patch
* https://github.com/apps4av/avare/pull/364.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#364>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAIN4GMKMCGLFY2WIV7N2FDRS225JANCNFSM4NIBAB6A>.
|
Thanks Gustafson, those are great questions.
The zoom and pan experience when zoomed out is quite smooth in comparison. It doesn't have all of the artifacts that are present without bitmap filtering. (It might not be a bad idea to try it out on a device just to see. It's difficult to describe and not something that could be captured in a simple screenshot.)
This should apply to any rendered bitmaps that use pass
The power burden as a result of this change could vary by device. However, it's highly likely that it is negligible in comparison to the power consumption of the display and it only amounts to an extremely small percentage more gpu utilization. 2D bitmap filtering should be an extremely efficient, hardware accelerated feature in most any device supported by this application (Android 4.3+).
Do you have a test method for profiling rendering that y'all prefer? |
Any interest in returning to this? As a user, the smoother look would be a welcome addition, even if it's behind a display preference. |
We could take it if you can add a preference to it which is disabled by default. Should be under UI Settings. |
This PR adds bitmap filtering to the LocationView. This results in reduced pixelation when fully zoomed in. It also reduces artifacts when moving the map in a zoomed out view.
(This may already be the default setting on some devices. For example my Nexus 9 does not default to bitmap filtering, but my Pixel 3XL does.)
Before:

After:
