Já tentei testar isso de todas as formas (jogar a carga de processamento tão exigente para o Browser), ainda não foi possível ter um resultado minimamente utilizável em nosso software de E-commerce b2b. Imagens maiores e cargas mais complexas principalmente quando o usuário com uma maquina fraca (acredite, eles são praticamente 90% dos usuários) tenta usar trava tudo, e acionavam o suporte toda hora. Em nossas máquinas aqui do escritório, Alien i9 de ultima geração funciona que é uma beleza, mas na vida real não deu certo ainda.
2
1
Então, a forma que achei para fazer essa parte de processamento é utilizar webworkers. Tanto que se você acessar o site hoje, da para perceber que tem um pequeno delay para carregar o file input e as imagens de exemplo, pois a máquina está carregando o modelo internamente no navegador.
No fim do dia acaba demorando o mesmo tempo do que não ter um webworker, mas só o fato de não bloquear o resto da navegação (por funcionar de forma assíncrona), melhora em muito a percepção do usuário, tendendo a achar que é mais rápido do que realmente é.
É quase que um truque que envolve UI, UX, e carregamento assíncrono usando webworkers.