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

Lag and visual glitches with new Impeller render engine #10

Closed
user425846 opened this issue Dec 30, 2022 · 5 comments
Closed

Lag and visual glitches with new Impeller render engine #10

user425846 opened this issue Dec 30, 2022 · 5 comments
Labels
bug Something isn't working enhancement New feature or request

Comments

@user425846
Copy link

Hi! Thank you so much for this package, its absolutely awesome!

However, i was having issues with a lot of lagging and i finally figured out what it was. I had the new Impeller render engine turned on for my iOS project, which caused the lagging and the visual issues. I have attached 2 videos of non Impeller vs. Impeller. Tried it both on a real device and on the simulator.

It would be awesome if you could release an update for this package!

impeller.mp4
non-impeller.mp4
@notDmDrl
Copy link
Owner

notDmDrl commented Dec 30, 2022

Hi @user425846,

Based of of your first video it looks like impeller itself is not handling blur correctly right now (no blur whatsoever, and quite possibly this is the source of lag to).

Could you try using fully opaque color in the meantime? This will result in no blur used, so it should work with impeller without any further problems I hope.

Unfortunately I am on holiday vacation right now, so the earliest I can look into it more closely is in a week.

@notDmDrl notDmDrl added bug Something isn't working enhancement New feature or request labels Dec 30, 2022
@user425846
Copy link
Author

user425846 commented Dec 31, 2022

Thanks for the quick reply! So i tried setting a fully opaque background color. The result: It fixed the lagging issue on the Simulator but NOT on the real device (iPhone 13 Pro), but it improved it a bit. Also it shows some weird lines below some of the items. These lines are also at different positions at the simulator and the real device, but they do appear on both. I attached a video of the real device to this reply. This line issue does not appear without impeller turned on.

And next week would be great, enjoy your vacation!

RPReplay_Final1672474319.MP4

@notDmDrl
Copy link
Owner

Also it shows some weird lines below some of the items.

Yeah, i also noticed those while trying out impeller in one of my other projects. From my observations, it appears that those lines are some part of a glyph that show up when you animate Text or change its content. Looks like it's another impeller specific issue.


It fixed the lagging issue on the Simulator but NOT on the real device (iPhone 13 Pro)

Will look into this.

@notDmDrl
Copy link
Owner

notDmDrl commented Jan 3, 2023

Hi @user425846

So i tested an example app and here are my observations:

On iPhone 7 Plus and iPhone 11 Pro Max (profile)

  1. Blur was rendered correctly (not like on your first video);
  2. There where not any random glyph parts (not like on your third video);
  3. Performance wise it was really bad (average frame render time was way over 32ms, non impeller was around 4ms) for whole application, not just pull-down menu. Although, as i was expecting, using fully opaque background color indeed improves frame rate a bit.

On Simulator (debug)

  1. Blur was rendered correctly;
  2. No any random glyph parts;
  3. Similar to 7 plus - pretty noticeable lag, opaque background slightly better.

Worth mentioning that i used latest beta (3.7.0-1.2.pre) for tests. Seems like 1. and 2. were already fixed.

Performance wise, I'd say its better to wait at least for beta version of impeller. Right now it's too unfinished to begin any optimisation works.
Hopefully, said beta will be released after upcoming Flutter Forward.

@notDmDrl
Copy link
Owner

Based on release notes for Flutter 3.7.0 Impeller is now in preview for iOS with it being default renderer in later stable release.

I'll check if there are any noticable changes compared to my previous tests. If not, i guess it's better to wait for Impeller being default and then do some optimisations if needed.

For now i'll close this issue, feel free to reopen it.

@notDmDrl notDmDrl closed this as not planned Won't fix, can't repro, duplicate, stale Jan 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants