Le 20/07/2014 11:49, Christian Quest a écrit : > Ca me titillait depuis longtemps... j'ai modifié render_list, > l'utilitaire de mod_tile qui sert à prégénérer les tuiles. > > > Le but de la modif: > 1- profiter au mieux des caches lors du process de prégénération > > render_list procédait jusqu'aujourd'hui niveau de zoom par niveau de zoom. > génération du zoom n, puis n+1, puis n+2 > > Du coup, les requêtes postgis chargeaient les données d'une zone, puis > les dévait les recharger au zoom suivant car le reste du rendu les avait > forcément supprimé des caches. Du coup ceci généère un grand nombre > d'I/O... nerf de la guerre avec de telles volumes de données. > > Désormais, render_list peut immédiatement calculer les tuiles du zoom > suivant, tirant parti du fait que les données utiles sont encore en > cache... et donc réduisant les I/O et donc le temps de rendu. > > Mais bon... où arrêter la récursion ?
Et comment parcours tu les tuiles a générer ? Un scan en zig-zag (style DCT du MPEG) serait sans doute aussi une bonne chose pour le cache http://www.bretl.com/mpeghtml/zigzag.HTM http://www.cs.cf.ac.uk/Dave/Multimedia/node238.html > 2- prégénérer uniquement ce qui vaut le coup de l'être > > Deuxième apport... une limite de temps de génération. > > Si une metatile a pris moins de temps que cette limite, on peut se > passer de la prégénérer, elle pourra l'être rapidement si jamais elle > est demandée. > > > Pour utiliser cette nouvelle fonctionnalité, j'ai juste ajouté l'option > de temps maximum de rendu (en ms), qui déclenche et contrôle la > récursion. Sans elle, le fonctionnement est inchangé. > > Exemple: > render_list -m osm -a -f -z 9 -Z 9 --max-time 5000 > > A faire: > - pour un rendu multi-niveau (-z 9 -Z 12) prévoir de tester si une > metatile a déjà été rendue en testant son heure de génération par > rapport à l'heure de démarrage de render_list > - ajouter une limite sur le zoom maxi pour la récursion (pour l'instant > ça descend jusqu'au 18 codé en dur) > > La modif est sur github, commentaires bienvenus ! > > https://github.com/cquest/mod_tile/commit/652ec90c7d1293a4b049ee0b58be53c01a602e75 > -- > Christian Quest - OpenStreetMap France > > > _______________________________________________ > dev-fr mailing list > [email protected] > https://lists.openstreetmap.org/listinfo/dev-fr > -- Christophe Merlet (RedFox) _______________________________________________ dev-fr mailing list [email protected] https://lists.openstreetmap.org/listinfo/dev-fr
