In some sites in their home pages, as u scroll down, modules appear one by one.
I think this enhances page load time. How can i do this in Joomla? Is it doable? Is there a plugin or something for this matter?
"Lazy loading" may be what you are describing.
There is a free Joomla extension, "Lazy Load for Joomla!" which helps with this but is more for images than modules.
I would be very careful using the lazyload method. I have seen many instances where the content (images) at top do not load until the page scrolls even 1 pixel.
You might consider using scrollfire/magic.. this allows you to load certain content based on where the user is on their scrolling position.
You can use sp-pagebuilder. The functionality is there by default. In sp-pagebuilder, goto row settings chose the animation what you want, increase the delay time. U are done.