entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Redimensionar imagen mediante get php retrasa la carga de la misma?

Necesito saber si al cambiar tamaño o redimensionar una imagen mediante GET retrasara mas la carga de la misma a que la almacene primero ya redimensionada y luego la muestre

1 Respuesta

2votos

carlossevi Puntos63580

La respuesta corta es: Sí, retrasa la carga.

La respuesta algo más larga es: retrasa la carga pero aporta ventajas y puedes utilizar alguna estrategia para que el retraso sea mínimo. En este caso no hay una respuesta única y dependerá siempre del proyecto.

Almacenar todas las imagenes redimensionadas

Ventajas: El servidor tarda menos en devolver la imagen y se nota tanto en tiempo como en consumo de recursos.
Inconvenientes: Hacer un cambio en el diseño es menos flexible (tienes que preparar todas las imágenes por lotes) y puede ocupar más espacio en disco si tu aplicación puede llegar a presentar la misma imagen en multitud de formatos distintos.

Redimensionar las imágenes "al vuelo"

Ventajas: No tienes que preocuparte de los tamaños al hacer el diseño ni de preprocesar todas las imágenes.
Inconvenientes: El servidor tiene que procesar las imágenes en cada petición GET, se hace un uso intensivo de CPU y RAM y la respuesta es más lenta.

Posible punto intermedio: caché

En caso de querer redimensionar todas las imágenes al vuelo te recomiendo o bien utilizar algún sistema de caché o directamente almacenar el resultado de la redimensión en el servidor.

En cada petición, se comprueba si ya hemos generado anteriormente esa resolución. Si está generada con antelación, se entrega, si no se genera. De esta forma solo se genera una vez cada imagen.

0voto

jorge98 comentado

Excelente! muchas gracias por tu ayuda, ahora tengo otra duda!
Como seria la mejor manera de hacer esto "En cada petición, se comprueba si ya hemos generado anteriormente esa resolución. Si está generada con antelación, se entrega, si no se genera. De esta forma solo se genera una vez cada imagen." Mediante un if()?

2votos

carlossevi comentado

Si en la ejecución de tu programa necesitas que el curso del mismo dependa de una condición necesitarás una estructura de control, y el if es la más básica de todas.

Edito: doy por hecho que si preguntas sobre el impacto en el rendimiento de la redimensión de imágenes sobre la marcha, conoces lo que es un if y estás en disposición de implementarlo.

0voto

Peter comentado

@jorge98 si esta respuesta soluciona tu duda, por favor seleccionala como correcta.

Saludos.

1voto

jorge98 comentado

si! muchas gracias por la informacion, ya te califico.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta