You would preload the images in background first. Google preloading of images in background and you will find plenty of examples.
20kb is not a vastly huge file size, If your images are not loading properly when you are loading up the page from the server, you have a bottle neck somewhere, this could be in your home, especially if you are using a WiFi connections and you have other members of the family using WiFi, your router could also be a cause of delay, not enough down stream bandwidth, your router tries to share among users a limited amount of bandwidth. A typical 100Mb line would have a ratio of 60:40 which would mean that your connection would give you 60% of the bandwidth with a 40% headroom for collisions, drops and corrupt data and requests for resending, if you have two people on the same line this plummets further because you will then have two lots of downstream / headroom factors.
If the bottleneck is in your ISP's line, the bRouter, then the contention ratio may be high as they may be stacking you all in the hopes that you are not all online at the same time, this is felt in download speed drops, I suggest you do random broadband speed tests and not time and speed and plot it on a graph to see if a pattern is forming, you could have someone file sharing. Often a complaint about the speed of your service and pointing out that you are not getting the speed that you are promised in the contract, claiming that they are running a high contention ratio for users on the node you are on will often provoke a settings change and they can give your IP address a higher priority.
If none of the service is showing up as the problem then the only answer is the server host you are using, likely they are over subscribed and if you are on a shared server, if you have someone that is running a demanding service, that will impact on delivery of your site and data. It takes a complaint to them to get them to investigate why your server service is very slow.