Comments (12)
Hey @damikdk to be honest I forgot about this project since I left the project I initially start building rn-skottie for. However, there seems to be a lot of interest and I have some spare capacity.
Will try to work on it in the following weeks, will keep y'all updated 😊
from react-native-skia.
Not sure how much of a low-hanging fruit this is but it sure would be nice.
I see three main use-cases for this:
- Consistency between platforms. Using it in react native now results in some inconsistencies between platforms (esp. web) regarding positioning and size, which has to be compensated for with platform-specific styles for each Lottie file.
- Performance. As @hannojg mentioned.
- Bundle size. Lottie is big, at least for web. Obviously CanvasKit as well. Being able to deal with it all through Skia would be nice.
from react-native-skia.
I agree, we need a wrapper around skottie with all features, lot's of people are heavily depend on lottie animations, but lottie react native is slow.
Also with react native skia we can get a great support for rive animations too :))
May be @hannojg could help us.
from react-native-skia.
Thanks! We do have some planned milestones, we just need to import them into this report. We will get to it, maybe after the holidays ;-)
from react-native-skia.
@wcandillon The main issue we face with LottieView is performance. Due to the fact that it uses the platform's animation API to run the animation continually, it comes with a certain CPU cost. For "complex" lottie animation this can be pretty high.
(For that very reason we were investigating using rlottie in react-native as it prerenders all the frames and so we just animate a bunch of bitmaps)
Mostly this is concerning low-end devices, especially on Android.
(The high CPU cost then causes a drop on the UI FPS/thread, meaning we are skipping frames and not running on 60 FPS anymore :( )
It would be very interesting for us to see the performance of skottie VS lottie-ios/android. I am not sure how skottie works internally and whether there is a good chance it will provide performance improvements.
from react-native-skia.
Skia Lottie for game elements will be super cool. or, we need Image sprites similar to css background position implementation.
from react-native-skia.
1++ for the skottie
from react-native-skia.
how about the Shadow ?
The shadow of android has always been sucked for years compare to iOS . The flutter showed us the great example of shadow usage based on skia-engine . Perhaps it's the most gentle way to bring the featured shadow to android for RN.
from react-native-skia.
@arasrezaei may I ask about your use-cases for Skottie support? You may want to file a separate issue for this.
I'm closing this for now. Feel free to reopen if needed
from react-native-skia.
@hannojg @arasrezaei may we ask about your use cases with Skottie? Why are you considering it versus using LottieView?
from react-native-skia.
LottieView has pretty horrific performance. Can make even high end devices lag.
Would be awesome to get Skottie =D
from react-native-skia.
Some time has passed since the latest updates, but it has not become easier to overcome manual skia/skottie setup yourself! Do you still have plans for skottie module?
in addition to the advantages of skottie listed in this issue and pull request, I would like to note skottie's much broader support for after effects features.
From your blog post it seems obvious that some kind of working implementation exists, but there are no actual supported public implementations? Looks like this two branches is the closest code to success?
Thanks @hannojg for this, btw!
from react-native-skia.
Related Issues (20)
- Dashed line HOT 1
- Height and width constant of a canvas
- Path dash return SkPath HOT 3
- Cannot read properties of undefined (reading 'Path') TypeError: Cannot read properties of undefined (reading 'Path') HOT 7
- Canvas onTouch Android HOT 3
- "Hello world" example code in Atlas document runs blank View, whereas "Animations" functions properly. HOT 1
- The useTexture function throws an error on Android: "Cannot read property 'getCanvas' of null" . HOT 6
- The Atlas API's transform exhibits random anomalies. HOT 3
- property opacity not working in some Element. include: <Group/>; <Picture/> HOT 1
- <Group matrix={...(Matrix4)}/> not working HOT 8
- makeImageFromView. Android crash when attempting to create an image from a view that is outside the viewport. HOT 1
- Please can useSharedValueEffect be brought back? HOT 1
- Canva path is transparent when react-native-svg elements are next to it.
- Text component doesn't re-render on value change HOT 6
- VisionOS Support
- useTexture and drawAsImage crash android app HOT 1
- Web Support Doc on Firefox not rendering HOT 1
- Multiple commands produce `'.../GrBackendDrawableInfo.h'` HOT 9
- matchFont is not included unsupported features for Web HOT 4
- Add support for InputRRect as Group's clip HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-skia.