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

Performance degradation after some time if there are animations on the screen #2455

Closed
igordmn opened this issue Nov 7, 2022 · 0 comments · Fixed by JetBrains/compose-multiplatform-core#325
Assignees
Labels

Comments

@igordmn
Copy link
Collaborator

igordmn commented Nov 7, 2022

Compose 1.2.1, Windows 11

  1. Run run1 example in the Compose repo
  2. Wait 10 minutes
  3. See that FPS drops:
[248871313] FPS 46 (1-355)
[248873317] FPS 92 (48-139)
...
[249093562] FPS 99 (58-123)
[249095571] FPS 100 (71-113)
[249097573] FPS 99 (61-112)
[249099574] FPS 97 (61-111)
[249101578] FPS 99 (75-114)
[249103579] FPS 99 (74-112)
[249105584] FPS 99 (72-110)
[249107591] FPS 98 (66-110)
[249109602] FPS 96 (21-111)
[249111606] FPS 98 (53-109)
[249113611] FPS 93 (62-111)
[249115611] FPS 95 (73-111)
[249117622] FPS 98 (76-115)
[249119626] FPS 97 (64-113)
[249121635] FPS 85 (49-107)
[249123638] FPS 97 (65-111)
[249125645] FPS 92 (67-103)
[249127645] FPS 90 (61-102)
[249129649] FPS 87 (51-102)
[249131655] FPS 94 (61-109)
[249133658] FPS 91 (50-109)
[249135667] FPS 94 (42-111)
[249137669] FPS 88 (60-106)
[249139671] FPS 92 (20-111)
[249141678] FPS 84 (56-95)
[249143686] FPS 83 (54-104)
[249145692] FPS 87 (45-109)
[249147698] FPS 88 (64-106)
[249149704] FPS 90 (65-103)
[249151704] FPS 86 (54-102)
[249153706] FPS 83 (58-99)
[249155713] FPS 91 (54-118)
[249157715] FPS 96 (64-115)
[249159717] FPS 85 (59-108)
[249161724] FPS 83 (56-98)
...
[249233938] FPS 78 (52-86)
[249235946] FPS 76 (55-87)
[249237947] FPS 78 (48-87)
[249239954] FPS 74 (51-87)
[249241960] FPS 78 (48-87)
[249243969] FPS 77 (61-85)
[249245971] FPS 72 (50-82)
[249247972] FPS 72 (48-87)
[249249976] FPS 78 (54-89)
[249251982] FPS 74 (60-82)
[249253988] FPS 73 (56-84)
[249255997] FPS 73 (50-90)
[249258005] FPS 80 (61-94)
[249260008] FPS 79 (16-92)
[249262016] FPS 75 (56-84)
[249264021] FPS 68 (43-83)
[249266024] FPS 77 (63-87)
[249268028] FPS 73 (57-82)
[249270031] FPS 72 (44-80)
[249272042] FPS 71 (51-77)
[249274054] FPS 69 (42-78)
[249276060] FPS 69 (45-77)
[249278063] FPS 69 (56-77)
[249280076] FPS 69 (51-77)
[249282077] FPS 69 (47-76)
[249284090] FPS 68 (51-77)
[249286094] FPS 68 (43-79)
[249288100] FPS 75 (55-84)
[249290107] FPS 74 (15-87)
...
[249390478] FPS 58 (45-64)
[249392479] FPS 58 (45-67)
[249394487] FPS 58 (45-65)
[249396495] FPS 57 (43-63)
[249398500] FPS 54 (41-63)
[249400505] FPS 57 (37-63)
[249402515] FPS 57 (48-64)
[249404530] FPS 58 (48-63)
[249406546] FPS 57 (47-62)
[249408556] FPS 57 (43-63)
[249410566] FPS 55 (13-62)
[249412578] FPS 56 (41-62)
[249414582] FPS 55 (45-62)
[249416600] FPS 55 (30-62)
[249418609] FPS 55 (46-63)
[249420610] FPS 55 (46-63)
[249422621] FPS 57 (37-64)
...
[249561263] FPS 50 (12-59)
[249563269] FPS 52 (39-57)
[249565278] FPS 52 (43-57)
[249567298] FPS 50 (38-57)
[249569303] FPS 49 (34-56)
[249571320] FPS 50 (39-55)
[249573320] FPS 48 (33-55)
[249575330] FPS 38 (10-54)
[249577347] FPS 46 (30-54)
[249579360] FPS 51 (37-59)
[249581377] FPS 51 (41-57)
[249583392] FPS 51 (42-57)
[249585394] FPS 51 (38-56)
[249587399] FPS 49 (31-56)
[249589409] FPS 49 (39-55)
[249591417] FPS 45 (10-54)
[249593426] FPS 49 (38-56)
[249595447] FPS 48 (40-54)
[249597459] FPS 48 (35-56)
[249599479] FPS 49 (39-54)

After the start:
image

After 10 minutes:
image

Not sure, but this can be the reason.

@igordmn igordmn self-assigned this Nov 7, 2022
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Nov 10, 2022
If there are animations on the screen, after some time we will encounter performance degradation, and an increased memory consumption.

This fix is similar to the other fix in the past (https://android-review.googlesource.com/c/platform/frameworks/support/+/1398690). We have to remember the lambda instead of creating it each time.

Fixes JetBrains/compose-multiplatform#2455
Fixes JetBrains/compose-multiplatform#1969

The tests are not very deterministic, but it seems better to have them than not to have. The second test fails before the fix, and passes after the fix.
We will see if they will be stable on our CI or not. If they will be flaky, we will tune them, or remove them.
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Nov 10, 2022
If there are animations on the screen, after some time we will encounter performance degradation, and an increased memory consumption.

This fix is similar to the other fix in the past (https://android-review.googlesource.com/c/platform/frameworks/support/+/1398690). We have to remember the lambda instead of creating it each time.

Fixes JetBrains/compose-multiplatform#2455
Fixes JetBrains/compose-multiplatform#1969

The tests are not very deterministic, but it seems better to have them than not to have. The second test fails before the fix, and passes after the fix.
We will see if they will be stable on our CI or not. If they will be flaky, we will tune them, or remove them.
eymar pushed a commit to JetBrains/compose-multiplatform-core that referenced this issue Nov 16, 2022
If there are animations on the screen, after some time we will encounter performance degradation, and an increased memory consumption.

This fix is similar to the other fix in the past (https://android-review.googlesource.com/c/platform/frameworks/support/+/1398690). We have to remember the lambda instead of creating it each time.

Fixes JetBrains/compose-multiplatform#2455
Fixes JetBrains/compose-multiplatform#1969

The tests are not very deterministic, but it seems better to have them than not to have. The second test fails before the fix, and passes after the fix.
We will see if they will be stable on our CI or not. If they will be flaky, we will tune them, or remove them.
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Dec 5, 2022
If there are animations on the screen, after some time we will encounter performance degradation, and an increased memory consumption.

This fix is similar to the other fix in the past (https://android-review.googlesource.com/c/platform/frameworks/support/+/1398690). We have to remember the lambda instead of creating it each time.

Fixes JetBrains/compose-multiplatform#2455
Fixes JetBrains/compose-multiplatform#1969

The tests are not very deterministic, but it seems better to have them than not to have. The second test fails before the fix, and passes after the fix.
We will see if they will be stable on our CI or not. If they will be flaky, we will tune them, or remove them.
eymar pushed a commit to JetBrains/compose-multiplatform-core that referenced this issue Jan 13, 2023
If there are animations on the screen, after some time we will encounter performance degradation, and an increased memory consumption.

This fix is similar to the other fix in the past (https://android-review.googlesource.com/c/platform/frameworks/support/+/1398690). We have to remember the lambda instead of creating it each time.

Fixes JetBrains/compose-multiplatform#2455
Fixes JetBrains/compose-multiplatform#1969

The tests are not very deterministic, but it seems better to have them than not to have. The second test fails before the fix, and passes after the fix.
We will see if they will be stable on our CI or not. If they will be flaky, we will tune them, or remove them.
MatkovIvan pushed a commit to MatkovIvan/compose-multiplatform that referenced this issue May 10, 2023
If there are animations on the screen, after some time we will encounter performance degradation, and an increased memory consumption.

This fix is similar to the other fix in the past (https://android-review.googlesource.com/c/platform/frameworks/support/+/1398690). We have to remember the lambda instead of creating it each time.

Fixes JetBrains#2455
Fixes JetBrains#1969

The tests are not very deterministic, but it seems better to have them than not to have. The second test fails before the fix, and passes after the fix.
We will see if they will be stable on our CI or not. If they will be flaky, we will tune them, or remove them.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant