Skip to content

sky.ColorFilter needs operator== #69

Description

@FlutterIssues

Issue by Hixie
Thursday Jul 16, 2015 at 22:25 GMT
Originally opened as https://github.com/flutter/engine/issues/25


From @abarth on July 15, 2015 19:7

When someone sets a sky.ColorFilter on either a ColorFilter widget or on an Image widget, we call operator== to check whether the filter has changed. If it has changed, we mark ourselves as needing paint. However, sky.ColorFilter doesn't implement operator==, which means we're just getting object identity, which means we're invalidating paint more often than necessary.

/cc @mpcomplete

Copied from original issue: domokit/mojo#324

Activity

  1. FlutterIssues commented on Nov 9, 2015

    @FlutterIssues
    Author

    Comment by Hixie
    Thursday Jul 16, 2015 at 22:25 GMT


    From @eseidel on July 16, 2015 4:19

    Would be nice to be able to catch these errors in some way. In obj-c one could override -[NSObject equals:] to warn using a "category". I know dart doesn't have those, but maybe there is another solution we should use.

  2. FlutterIssues commented on Nov 9, 2015

    @FlutterIssues
    Author

    Comment by Hixie
    Monday Oct 26, 2015 at 05:05 GMT


    @abarth You said you were planning on changing how this works so that ColorFilter would be a pure Dart class, right? With the data sent over to the C++ in an efficient manner at the last minute?

  3. added this to the milestone on Nov 9, 2015
  4. FlutterIssues commented on Nov 9, 2015

    @FlutterIssues
    Author

    Comment by abarth
    Monday Oct 26, 2015 at 05:24 GMT


    That's right. The steps are:

    • Start using the new binding system for window, replacing view.
    • Switch the Canvas interface over to the new bindings system.
    • Lift Paint-related classes up into Dart using the new bindings system.
  5. added
    c: performanceRelates to speed or footprint issues (see "perf:" labels)
    on Dec 12, 2015
  6. eseidelGoogle commented on May 13, 2016

    @eseidelGoogle
    Contributor
  7. self-assigned this
    on Jun 21, 2016
  8. abarth commented on Jun 21, 2016

    @abarth
    Contributor

    Fixed!

  9. github-actions commented on Aug 17, 2021

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  10. locked as resolved and limited conversation to collaborators on Aug 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

c: performanceRelates to speed or footprint issues (see "perf:" labels)engineflutter/engine related. See also e: labels.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions