question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Findings on the performance

See original GitHub issue

I went through the code and it’s some really good implementation by @chrfalch 😃

I extended the example mentioned here and simulated it to make a busy app to test out how smooth SET would be.

Here are the screen recording of 2 instance.

  1. using useNativeDriver (https://media.giphy.com/media/AS4NAijk6WVGaslJOW/giphy.gif) This doesn’t not support layout properties.

  2. Using the clever trick where the native driver drivers a non-native animation through an Animated.event (https://media.giphy.com/media/4KFGU2gkedfsxsQ62d/giphy.gif) This supports layout properties.

So how did I make it a busy app? Just added the below code on next button click handler.

setInterval(() => {
  for (let i = 0; i < 5e8; i++) {}
}, 1000);

Correct me if I am wrong, so what I think is happening here is that even though native driver is driving the non-native animation it has to still go through the bridge on every frame to update Animated.event.

Let me know what you think about it.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:1
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

5reactions
chrfalchcommented, Apr 9, 2018

@MrLoh This library uses native animations for moving and scaling elements using a technique similar to FLIP like you are describing. The discussion here is about finding a way to open up for animating properties not supported by the native driver. There are several issues I’m working on to get this to work properly.

First of all we have the problem of not being able to use stateless components for animating (with Animated.createAnimatedComponent). This can be solved by creating a wrapper for the stateless component and transferring shared element/transition properties.

Next we have the issue with native vs. non-native animations. I’m close to solving this by creating another set of wrappers that basically creates two outer elements, one for native animations and one for non-native animations.

With these solutions I’m pretty confident that we can create a good-enough solution to the problems with animations, with the limitation in performance that @narendrashetty has pointed out for some of the animations, but with full native support where applicable.

1reaction
chrfalchcommented, Apr 6, 2018

Thanks for your feedback! It is really appreciated.

What I’m trying to do with combining native/non-native animations is to run native animations like transforms and opacity using the native driver while running other animations with the non-native driven animated value. This is not a trivial task to implement so we’ll see what the results will be.

Read more comments on GitHub >

github_iconTop Results From Across the Web

8 Findings and Conclusions | Pay for Performance
Performance appraisals were viewed in much the same way as tests: they were evaluated against criteria for validity and reliability and freedom from...
Read more >
Interesting Findings Related To Performance Management | HP
4 Interesting New Findings Related To Performance Management ... Factors such as objectives setting, incentives and rewards have been re-designed ...
Read more >
Findings and Performance Analysis - Oracle Help Center
Findings and Performance Analysis · The Average Response time in seconds. · The change percentage in response time. · The number of SQL...
Read more >
4 powerful new findings in the science of performance ...
4 powerful new findings in the science of performance management · Create and maintain individualised developmental plans · Ensure that work is ...
Read more >
Initial Findings from Performance Management TAG Research
Our findings identified that the managers of highly engaged teams adapted the performance appraisal policy and produced more positive employee outcomes, than ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found