I encounter a problem showing loading a CSS animation while doing a heavy JavaScript operation, so wondering if CSS animation is taking more resources than showing a simple loading GIF image, I made the following tests.
1 created page with loading CSS
Here are the results:
It looks like CSS animation is using more CPU, and more memory so basically I want to consult about using CSS animations. Isn't that too heavy? Should I avoid using it in loading cases?
Loading example using CSS animation
Loading example using GIF image
Here is the code for loading with CSS animation
CSS
/* Beautiful loading screen */
#loadingWrap{
width: 100%;
height: 100%;
top: 0px;
z-index: 250;
background-color: rgba(255, 255, 255, 0.46);
}
.glyphicon.spin {
font-size: 36px;
-webkit-animation: spin 1.822s infinite linear;
-moz-animation: spin 1.822s infinite linear;
-o-animation: spin 1.822s infinite linear;
animation: spin 1.822s infinite linear;
-webkit-transform-origin: 50% 58%;
transform-origin:50% 58%;
-ms-transform-origin:50% 58%; /* IE 9 */
line-height: 0px;
}
@-moz-keyframes spin {
from { -moz-transform: rotate(0deg); }
to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
from {-webkit-transform: rotate(0deg);}
to {-webkit-transform: rotate(360deg);}
}
@keyframes spin {
from { transform: rotate(0deg); }
to {transform: rotate(360deg); }
}
#loadingIcon {
z-index: 10;
position: absolute;
right: 20px;
bottom: 20px;
line-height: 0px;
}
HTML
<div id="loadingWrap">
<div id="loadingIcon">
<i class="glyphicon glyphicon glyphicon-cog spin">Q</i>
</div>
</div>
Here is the code for loading using a simple GIF image
CSS
#loadingWrap{
width: 100%;
height: 100%;
top: 0px;
z-index: 250;
background-color: rgba(255, 255, 255, 0.46);
}
#loadingIcon {
z-index: 10;
position: absolute;
right: 20px;
bottom: 20px;
line-height: 0px;
background: url(../1-0.gif) no-repeat center center;
width: 20px;
height: 20px;
}
HTML
<div id="loadingWrap">
<div id="loadingIcon">
</div>
</div>
Compared with animating elements using JavaScript, CSS animations can be easier to create. They can also give better performance, as they give the browser more control over when to render frames, and to drop frames if necessary.
The fact is that, in most cases, the performance of CSS-based animations is almost the same as JavaScripted animations — in Firefox at least. Some JavaScript-based animation libraries, like GSAP and Velocity. JS, even claim that they are able to achieve better performance than native CSS transitions/animations.
The animation-timing-function specifies the speed curve of an animation. The speed curve defines the TIME an animation uses to change from one set of CSS styles to another. The speed curve is used to make the changes smoothly.
CSS animations make it possible to animate transitions from one CSS style configuration to another. Animations consist of two components, a style describing the CSS animation and a set of keyframes that indicate the start and end states of the animation's style, as well as possible intermediate waypoints.
Gif images:
Positives
Negatives:
Css animations:
Positives:
Negatives:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With