Last Updated: February 25, 2016
·
923
· teonimesic

Otimizando compressão de imagens no rails

Estes dias eu estava otimizando o tempo de carregamento do boratrocar, e um dos problemas mais graves indicadas pelo PageSpeed era a (falta de) compressão das imagens.

Este problema existia tanto nas imagens estáticas ( que haviam sido criados como PNG 24 salvando para otimizar para a Web no photoshop ), quanto para as imagens das fotos dos ítens e avatares dos usuários (em geral JPGs).

A primeira coisa que fizemos foi otimizar os PNGs estáticos, utilizando:

optipng -o7 -strip all app/assets/images/*.png

Depois disso, adicionamos a gem carrierwave-imageoptimizer ao Gemfile, seguimos os passos de instalação, e rodamos os comandos para gerar novamente as versões das imagens antigas, que no nosso caso eram:

User.all.each{|u| u.avatar.recreate_versions! }
ItemPicture.all.each{|i| i.image.recreate_versions! }

E voilá, o comando gerou novamente a versão de algumas milhares de imagens agora otimizadas. O ganho de desempenho foi notável, chegando a mais de 5MB a menos em algumas páginas.