Foros del Web » Programando para Internet » PHP »

Generar imagenes al vuelo

Estas en el tema de Generar imagenes al vuelo en el foro de PHP en Foros del Web. He visto como hace una cosa blogspot y me han surgido varias dudas que mas o menos me he respondido, pero son cosas de esas ...
  #1 (permalink)  
Antiguo 07/12/2013, 03:11
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Generar imagenes al vuelo

He visto como hace una cosa blogspot y me han surgido varias dudas que mas o menos me he respondido, pero son cosas de esas que viene muy bien hablarlas con alguien con mas experiencia que yo.

El asunto en cuestión es este

http://3.bp.blogspot.com/-5RRPim0V5E...s200/falso.jpg

parece que esta imagen se genere al vuelo segun los parámetros que reciba

el falso.jpg es eso, falso, imagino que será por algún asunto de validación de la w3c y cumplir estándares, pero lo que me ha hecho gracia es esta variable en al url
Cita:
s200
ahi puedes poner el numero que te apetezca hasta s320 y la imagen da la impresión de que se genere al vuelo y se recibe un original exactamente de ese tamaño así que vamos a hablar un poquito..

Se podría generar cada tamaño de una misma imagen, en mis aplicaciones lo hago, a cada imagen genero 3 o 4 tamaños distintos para usar el que mas convenga en cada caso y redimensionar un poquito con css, pero en este caso, no creo que a cada imagen se genere una con cada tamaño, hay desde 1 hasta 320, suena descabellado

lo que me inquieta un poco el tema del rendimiento...
viendo que hacen esto, he llegado a una conclusión, en el nivel que tengo yo mis aplicaciones, digamos que me sobra ancho de banda por todos los lados pero en rendimiento del servidor voy un poco justo, quizá cuando un proyecto crece hasta unos niveles serios, empieza a invertirse la proporción, lo que sobra, es fácil y "barato" de aumentar es potencia de calculo y lo que sale caro es el ancho de banda, por tanto un sistema así para trabajar con imágenes parece ideal

por eso... para meter 2 imagenes en una pagina no creo que haya mayor problema por mucha vista que tengas, mas caña le metes a mysql a cada click, pero, imaginemos una tienda online, cada pagina 90 vistas en miniatura y cada click te envia a 90 vistas mas... no se muy bien que rendimiento pueda tener gd ni la cantidad de ram que se va a comer tanto recurso de imagen de golpe


asi que resumiendo mis dudas son esas
1-¿La propiorcion de "calculo"/ancho de banda según el tamaño de un proyecto funciona asi?

2-¿alguien le ha dado caña de verdad a gd a estos niveles y ha visto que impacto tiene en un entorno discretamente serio?
  #2 (permalink)  
Antiguo 07/12/2013, 14:22
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Información Respuesta: Generar imagenes al vuelo

¿Has pensado que pueda tratarse de una URL semántica?
Ni por asomo hay una imagen en cada directorio, simplemente el servidor crea una ruta temporal y carga el contenido de un archivo php al que se le ha pasado unos parámetros, exactamente los de la dimensión de la imagen.

Como los gráficos GD hacen un consumo bastante excesivo de datos y CPU, es muy importante hacer un uso efectivo de caché para evitar la saturación del servidor a causa de muchas peticiones.

Respecto a la primera pregunta, hay mucha diferencia entre el tráfico de datos y el rendimiento del servidor para procesar esos datos. Como ocurre en muchos sitios de hospedaje; se proporciona muchísimo ancho de banda (casi siempre innecesario como en tu caso) pero luego el servidor es incapaz de procesar todos esos datos, y mejorar ese aspecto es muy complicado a no ser que estés en un VPN. Lo del dinero puede parecerte genial pero en definitiva es puro marketing.

Yo nunca he hecho el loco con esto, pero si usas el GD con cabeza no te va a suponer ningún problema.

Saludos

Etiquetas: imagenes, mysql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:45.