I have been doing projects that have required smooth transitions and animations. We have recently migrated from using Javascript to CSS animations almost 100% of the time.
I have found using translate3d provides a very smooth nice animation on both mobile and desktop.
My current animating style is like this:
CSS:
.animation-up{
transform: translate3d(0, -100%, 0);
}
.animation-down{
transform: translate3d(0, 100%, 0);
}
.animation-left{
tranform: translate3d(-100%, 0, 0);
}
.animation-right{
tranform: translate3d(-100%, 0, 0);
}
Recently, I have begun to look into different frameworks that seem to be getting a lot of buzz. Two in specific GreenSock (http://greensock.com/tweenmax) and Famo.us (http://famo.us). Both show awesome frame-rates and amazing performance.
I am noticing they are using a martix transform.
Greensock example (using matrix):
<div class="box green" style="transform: matrix(1, 0, 0, 1, 0, 100);"></div>
Famo.us example (using 3D-matrix):
<div class="famous-surface" style="transform-origin: 0% 0% 0px; transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 149, 385, 0, 1);"></div>
My Question is... What is the difference between translate3d and matrix? Is there a huge improvement using matrix over translate3D? Is there another method out there that yields even better results?
I have been happy with translate3D, but want to learn whatever method will give the smoothest best animations and looking for guidance as to what that maybe.