FluidTransitions icon indicating copy to clipboard operation
FluidTransitions copied to clipboard

Opening a new screen takes more time with FluidNavigator than with StackNavigator

Open jskidd3 opened this issue 6 years ago • 22 comments

I am experiencing a white screen which shows for roughly 2 seconds when navigating to a FluidNavigator from another screen embedded inside a StackNavigator.

If this is the incorrect way to use the library, please could you explain how I can change the code in the Snack below so that it functions without the white screen?

https://snack.expo.io/B1ZDrVbZ7

jskidd3 avatar Jun 15 '18 12:06 jskidd3

Could it be that you are doing some work in componentWillMount that causes the delay?

chrfalch avatar Jun 16 '18 12:06 chrfalch

@chrfalch If you check the Snack you'll see it's mostly the same code from Examples/src/FlatList.js, I've just changed it so that it's embedded in a StackNavigator and the FluidNavigator is that one that is navigated to.

jskidd3 avatar Jun 16 '18 12:06 jskidd3

And thats exactly the same we're doing in the example as well. Would it be possible to use the style parameter for the fluid navigator? You can see how this is done in the ShoeShop example:

const Navigator = FluidNavigator({
  screen1: { screen: Screen1 },
  screen2: { screen: Screen2 },
}, {
  style: { backgroundColor: '#C14534' },
  navigationOptions: {
    gesturesEnabled: true,
  },
});

chrfalch avatar Jun 16 '18 12:06 chrfalch

Not sure I'm following you exactly but I've just tried setting the background on the Snack and it doesn't seem to change anything. I've found a related closed issue which describes the same issue: https://github.com/fram-x/FluidTransitions/issues/7

jskidd3 avatar Jun 16 '18 12:06 jskidd3

I'm not sure if the issue I'm seeing is a real issue ;-) Even the example app has a slight delay after clicking on the example buttons?

chrfalch avatar Jun 16 '18 12:06 chrfalch

The library works fantastically well in terms of the the actual transitions etc, but a two second delay before the FluidNavigator loads won't be acceptable in our app at the moment. It looks like something has gone wrong with the app. If it was just a flicker/0.5 seconds it might be acceptable but it's a noticeable pause.

jskidd3 avatar Jun 16 '18 12:06 jskidd3

Ok, in the Snack provided I get around 0,5 secs, is this on Android or iOS?

chrfalch avatar Jun 16 '18 12:06 chrfalch

I've only be able to test on iOS so far. This is a gif taken from the simulator:

Simulator

jskidd3 avatar Jun 16 '18 12:06 jskidd3

It looks like it takes approx 0.5 secs? Same as I experienced running the Snack.

chrfalch avatar Jun 16 '18 13:06 chrfalch

If I change FluidNavigator to StackNavigator I see that the speed is much better. I'll take a look and see, always happy to try to optimize the library!

chrfalch avatar Jun 16 '18 13:06 chrfalch

Ok, well unfortunately that's still too long for our app. Thanks for your help anyway. If performance ever improves do let me know and we'll revisit the library.

jskidd3 avatar Jun 16 '18 13:06 jskidd3

(See last comment)

chrfalch avatar Jun 16 '18 13:06 chrfalch

Thanks - it's truly a great library, am keen to use it if you manage to optimise this.

jskidd3 avatar Jun 16 '18 13:06 jskidd3

@chrfalch any solution to this? Am also navigating to a fluidNavigator from a stack and getting a white flash.

Jonovono avatar Oct 09 '18 17:10 Jonovono

Although it seems the code execution seems to call _interactionDonePromiseDone properly, the TransitionOverlayView keeps staying for 500ms before showing the screen.

balthazar avatar Nov 09 '18 18:11 balthazar

Same issue here, no matter how i optimize my code. Any click wait about 0.5s animation start. The animation looks good, but why must wait 0.5s ???

roytan883 avatar Nov 20 '18 11:11 roytan883

In the example it looks like this is solved for the latest releases, could you check and see? @roytan883, @jskidd3, @Jonovono

chrfalch avatar Dec 07 '18 12:12 chrfalch

in the version 0.2.74 ,I don't think this problem has been solved

superqianqian avatar Dec 18 '18 08:12 superqianqian

in ImageListScreen.js ,I set image max size is 100 , click will wait about 1.5s animation start,but set image max size is 3 ,click is normal

superqianqian avatar Dec 18 '18 09:12 superqianqian

Could be related to the fact that when you use react-navigation, screens don't unmount when you navigate away from them, but stay mounted somehow in the background until you return to them. It doesn't seem like fluid-transitions does that optimization.

iwikal avatar Feb 19 '19 14:02 iwikal

Is there any update about the performance of the waiting time before the transition starts? This library is very helpful with very interesting transitions that we can implement in our production app.

neyosoft avatar May 30 '19 14:05 neyosoft

@jskidd3 did you find any solution for this? i am also facing same issue when navigating to a FluidNavigator from another screen embedded inside a StackNavigator

saurabh874 avatar Mar 05 '21 11:03 saurabh874