-
Notifications
You must be signed in to change notification settings - Fork 515
Big regression after upgrading to v2 on react native 0.79 #3098
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
Comments
Thank you for reporting this. The example is pretty big any chance you could reproduce the issue in a smaller example? Is this on iOS or android, both? |
It looks like this issue might be a duplicated of #2999, I am currently investigating it. |
The big issue here seems to be the canvas re-rendering on every animation frame which is a big no-no. However it does looks like the situation could be improved on our side, I am investigating it. |
@wcandillon I'm facing an issue with running example project on Android, so, I haven't checked there. I will let you know as soon as I can run the example on there. I guess I could create a simple table renderer for it if you needed One thing to note is I'm not using any animations here. I'm simply rerendering the Picture and Canvas component when scroll is changed. This was initially created to work with web canvas and then I wanted it to work on the mobile, so, I integrated skia. I'm skia newbie, so, please feel free to make a suggestion. I'm very much open to improving the performance on the mobile side. |
In fact, I need some tips because the performance of the table is not very good on Android even before this problem happens. ) The goal of this library is to create a canvas based table renderer that works anywhere. |
@wcandillon |
hehe funny I was already looking into it this morning. I also plan to address your comments above but first I want to fix something that might be indeed a regression. |
Nice. ) |
Possibly related to #3128 -- I'm also seeing things not rendering to the screen after updating to rn 0.79, the new arch, and skia 2.0.0-next.3. They are there internally because if I snapshot them the snapshot looks correct, they're just not rendered to the screen. |
Not very useful from my end, but also seeing regression when trying to update to expo@53 + [email protected] + react@19. Skia canvas is disappearing, color set on path element going out of bounds and texts disappearing. I am also using a lot of reanimated and use react-compiler. I haven't got time to investigate more for now, but everything works great on react-native-skia@1, [email protected], expo@52, react@18 and react-compiler |
The same problem! After update to expo@53 + [email protected] + react@19 and skia 2.0.0-next.4 or 2.0.0 my simple component doesn't work as previously. It's super slow. |
@wcandillon Sorry to bother you, but it's super critical and it blocking us |
Same. We're thinking of moving to canvas with WebView for the time being. |
I'm really upset, i hope react-native-signature-canvas help me out |
Description
I have a library for rendering the table with Canvas on the web and with skia on mobile.
It was working reasonably well with react native 0.76.9 + new arch
After upgrading to react native 0.79 + react 19 and react-native-skia v2. I'm facing significant issues.
Flicker, memory leaks and skia elements being transparent on first render.
Here is the video of that.
Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2025-04-15.at.08.47.40.mp4
And this was before (on react 18.3 and react native 0.76.9)
Simulator_Screen_Recording_-_iPhone_16_Pro_-_2025-04-15_at_09.01.26.mov
React Native Skia Version
2.0.0-next.2
React Native Version
0.79.0
Using New Architecture
Steps to Reproduce
This is a public repo where you can reproduce it. (the branch should be
adopt/new-arch
It includes the source code of the table rendering logic as well
If you go to
examples/expo
folder and runpnpm ios
. You'll be able to see ithttps://github.com/webbeetechnologies/datagrid/tree/adopt/new-arch
And on the main branch, we have the old version where it's using react 18 and react native 0.76.9
https://github.com/webbeetechnologies/datagrid
Snack, Code Example, Screenshot, or Link to Repository
https://github.com/webbeetechnologies/datagrid/tree/adopt/new-arch
The text was updated successfully, but these errors were encountered: