Skip to content

gui optimisation: don't invalidate entire screen? #45

@danstowell

Description

@danstowell

Using TraceView I checked what was taking the CPU time in ScanVox. The SCAudio stuff took about 50%, which is to be expected; next heaviest was a lot of android.view traversal and repainting.

Arranger.listenToMessages() invalidates the whole view whenever a clock tick comes in. It could be made more efficient by only invalidating the Rect in which the old+new clock-cursor lie. However, this could only be done (I think) by refactoring the GUI so that there wasn't one single view, so not sure how easy this is.

An alternative might be to cache the rendered bitmap (i.e. of the whole view with blobs on) so that under a 'normal' clock tick we just paste the whole bitmap in and put the clock cursor on top. (Would need to invalidate that cache on reorient, record, drag, etc)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions