Anyone using famo.us in production?

Sorry - I know it’s not directly Meteor related, but I do know that some folks here have done Meteor + Famo.us (+ Cordova, in some cases).

We are under the gun for a big release and struggling with a pretty bad memory leak in Famo.us. If anyone has dealt with removing Surfaces from the DOM in Famo.us and found the ‘right’ way to do it, I would greatly appreciate a PM or email. We have been elbows-deep in their memory management code all week and it’s full of dangling pointers, which means the browser isn’t able to garbage collect.

If anyone has any contact info for someone at Famo.us who can help, that would be fantastic as well - any assistance much appreciated!

Thanks,
Aaron

2 Likes

Sorry to hear Famo.us still isn’t quite ready for prime time…

Famo.us Mixed Mode (not yet released) is looking extremely good (I’ve seen it first-hand). It lets you manipulate DOM and WebGL in the same 3D space without having to think about how it’s done. The API is also much better. It’s different, but the concept of a RenderTree and things existing at nodes in the tree is still the same (that won’t change, it’s the premise).

As for Famo.us+Meteor, check out http://famous-views.meteor.com/. It’s amazing.

Also, considering that you can use React in Meteor as an alternative to Blaze, you can then use react-famous to create your Famo.us render trees in Meteor as an alternative to famous-views.

Down to Chill is made with Famo.us+Meteor, and is available in the App Store and Google Play.

Oh, by the way, memory management will be fixed in Mixed Mode, and it’ll also have a caching system so that transforms don’t need to be re-calculated every single tick if nothing is moving.

The new Famo.us is so many times better.

1 Like

Mixed Mode is out. Memory management is now as simple as node.removeChild(child). The way performance is solved is that you are now given the power to determine when things update and when they don’t, whereas before everything always updated. So, for example, you can now tell a node to stop updating in the loop when an animation is complete so that the Engine will no longer compute transforms for that node. It’s also possible that you can naively just update everything, in which case you’re back at the original problem.

They’ve released a slack community so they’re developing more openly now under an MIT license, with plans to make the pull-request process faster and smoother for community contribution.

2 Likes

I am, but not with Meteor. It works like a charm with angular

1 Like

@Gamemaker Join the slack community I linked. Famo.us engineers hang out there and are easier to communicate with now. Oh, I forgot, here are some production examples of Famo.us: