On Tue, Apr 21, 2009 at 8:34 PM, Chad innocentkiller@gmail.com wrote:
The main issue with the daemon idea (which was discussed at length in #mediawiki a few weeks ago) is that it requires a major change in how we handle images.
Right now, the process involves rendering on-demand, rather than at-leisure. This has the benefit of always producing an ideal thumb'd image at the end of every parse. However the major drawbacks are an increase in parsing time (while we wait for ImageMagik to do its thing) and an increased load on the app servers. The only time we can sidestep this is if someone uses a thumb dimension for which we already have a thumb rendered.
In order for this to work, we'd need to shift to a style of "render when you get a chance, but give me the best fit for now." Basically, we'd begin parsing and find that we need a thumbnailed copy of some image, but we don't have the ideal size just yet. Instead, we could return the best-fitting thumbnail so far and use that until the daemon has given us the right image.
I'm not clear on why we don't just make the daemon synchronously return a result the way ImageMagick effectively does. Given the level of reuse of thumbnails, it seems unlikely that the latency is a significant concern -- virtually no requests will ever actually wait on it.