Appodeal uses pre-caching, which means that when the app is running, all ads load in the background. As a result, it takes 0 ms to render an ad when it's requested because it had already been pre-cached.
In our SDK we also have “precache” waterfall block for banners, interstitials and mrecs with low ad price floors. It allows loading ads faster (1-2 seconds with a stable Internet connection) and that is mostly important for the first ad display. First, the Precache block is checked and then regardless of the result, the standard waterfall process is initiated. If an ad from the standard waterfall is loaded before calling Appodeal.show method, we will compare it with the loaded “precache” and display the most expensive ad.
Please note that, by default, onLoaded callback is not triggered on precache. So if your display logic is tied to onLoaded, check the setTriggerOnLoadedOnPrecache method in our docs.
We don’t have the precache option for video ads, because in most cases this ad format should not be loaded right at the app start. It’s easy to process this ad format by using callbacks to show the "wait message" ("Video Unavailable, Try Watching Later"). So it can take 5-15 seconds on average to load video ads.