pack graphique à télécharger - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : pack graphique à télécharger (/showthread.php?tid=2662) |
pack graphique à télécharger - Asphodèles - 13-03-2011 Bonjour à tous ! Dans le temps, pas mal de jeux PHP proposaient des packs graphiques à télécharger, on spécifiait l'emplacement où on l'avait sauvé, et les graphismes étaient chargés depuis cet endroit là. De nos jours, je ne joue plus à aucun jeu web, mais je me souviens qu'il y avait eu un problème technique suite à une version de firefox qui interdisait le chargement de quoi que ce soit depuis le disque du client. Qu'en est-il aujourd'hui ? Ca se fait encore de proposer ce genre de packs ? Est-ce que ça se fait de mettre du code javascript dedans ? Je comprends bien qu'avec les caches ça fait double emploi, mais c'est quand même encore vachement plus rapide en local, j'imagine. Merci ! RE: pack graphique à télécharger - Sephi-Chan - 14-03-2011 C'est une pratique d'un autre âge ! De nos jours, on a plein d'outils :
Bref, il y a de quoi faire avant d'embêter l'utilisateur. Le plus important, c'est de bien comprendre le fonctionnement de HTTP et de savoir en tirer profit en configurant son serveur Web. Sephi-Chan RE: pack graphique à télécharger - Argorate - 14-03-2011 Et avoir les bon outils sur son hébergeur... :roll: RE: pack graphique à télécharger - Sephi-Chan - 14-03-2011 Mais ça, c'est comme tout : si on veut être sérieux, on s'en donne les moyens. Et ça n'est pas forcément excessif. Il faut juste investir son argent dans les bons services. Pour ceux qui ont un hébergement mutualisé, c'est un minimum que celui-ci doit propose mod_deflate (compression Gzip). Sans ça il est inutile d'optimiser : le Gzip est la principale source de gain lors d'un chargement. Vouloir optimiser sans compression, ça revient à passer le balai dans le désert… Après, il faut utiliser tout ce qui permet de paralléliser le chargement des pages. Un navigateur peut charger 2 ressources simultanément par domaine : il faut donc multiplier les domaines depuis lesquelles ont charge. Ça inclut les librairies Javascript qu'on peut charger depuis les serveurs de Google (Google Libraries API). Ces ressources sont déjà dans le cache de milliers d'utilisateurs (et bientôt dans celui de vos joueurs !) et sont compressées. Le tout gratuitement ! Ça inclut le service Amazon S3 qui permet de stocker des quantités de ressources à moindre frais et de les servir rapidement grâce à un cache efficace et des serveurs géographiquement proches. Ainsi, en chargeant jQuery et jQuery UI (par exemple) chez Google (depuis le domaine ajax.googleapis.com) et nos images depuis Amazon S3 (depuis le domaine mygame.s3.amazonaws.com), on permet au navigateur de charger en même temps les feuilles de styles (hébergée sur notre propre serveur, dans l'exemple). N'oubliez pas de mettre les inclusions de scripts en bas de la page (car leur téléchargement empêche de récupérer le reste de la page et de commencer à l'afficher). On peut également utiliser les attributs async et defer pour charger les scripts de manière asynchrone. À ceux qui ont peur de se rendre dépendant de Google en utilisant leurs API, il existe un moyen simple d'éviter tout problème (bien que ce soit très improbable) :
Sephi-Chan RE: pack graphique à télécharger - Asphodèles - 14-03-2011 Super intéressant ! merci beaucoup ! Je n'avais pas connaissance de cette limite à deux ressources par domaine... C'est lié à quoi cette limitation ? Effectivement ça donne envie de dispatcher son contenu. Très intéressant les CDN, je ne connaissais pas ça, merci beaucoup ! Pour ce qui est de google api, je n'utilise que json2.js qu'ils ne semblent pas proposer, mais dans le futur ça pourrait m'être utile, on verra. Dans tous les cas merci beaucoup pour ces infos passionnantes. RE: pack graphique à télécharger - Sephi-Chan - 14-03-2011 Cette limite vient du protocole HTTP 1.1 (décrit ici). Je n'ai pas pu trouver rapidement la documentation de ce comportement, mais c'est à explorer. Notez d'ailleurs la section 13, dédié au cache. Je cite les ingénieurs Web de Yahoo sur Best Practices for Speeding Up Your Web Site : Citation :Put Scripts at the Bottom Il faut donc mettre les balises de script en bas de la page car ils empêche les téléchargement parallèles. Citation :Reduce DNS Lookups Il faut utiliser des ressources réparties sur au moins 2 autres domaines (ou sous-domaine, ça marche aussi). Cependant, il ne faut pas dépasser 4. Au delà, la vitesse apportée par la parallélisation est plombée par la quantité de résolutions DNS à effectuer. Il y a également quelques autres articles intéressants sur le sujet :
Sephi-Chan |