Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

fredmon3
Copy link
Contributor

@fredmon3 fredmon3 commented May 22, 2020

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:
Screenshot_bbefore

After:
Screenshot_after

@gustafson
Copy link
Collaborator

gustafson commented May 22, 2020 via email

@fredmon3
Copy link
Contributor Author

fredmon3 commented May 22, 2020

Thanks Gustafson, those are great 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.

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.)

  • And is the look similar for IFR charts?
  • And other images (plates, chartsup, etc)? Or does this just apply to
    charts?

This should apply to any rendered bitmaps that use pass ctx.paint as a param including all charts, plates and layers.

  • What is the power burden?

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.
Is there a power consumption test that y'all use to benchmark? What is the target "low end of the hardware spectrum" device?

2D bitmap filtering should be an extremely efficient, hardware accelerated feature in most any device supported by this application (Android 4.3+).

  • What is the relative rendering speed.

Do you have a test method for profiling rendering that y'all prefer?

@jordonbiondo
Copy link

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.

@apps4av
Copy link
Owner

apps4av commented Mar 19, 2022

We could take it if you can add a preference to it which is disabled by default. Should be under UI Settings.
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants