Ich habe ein Spiel, das auf einer 25x20 HTML-Tabelle (dem Spielbrett) basiert. Alle 3 Sekunden kann der Benutzer "verschieben", wodurch eine AJAX-Anfrage an den Server gesendet wird. Zu diesem Zeitpunkt gibt der Server die gesamte HTML-Tabelle erneut aus und sendet sie an den Benutzer.Differentielle AJAX-Updates für die HTML-Tabelle?
Das war einfach zu schreiben, aber es verschwendet viel Bandbreite. Gibt es Bibliotheken, Client (vorzugsweise jquery) oder serverseitig, die helfen, differentielle anstelle von vollständigen Updates für große Tabellen zu senden? Normalerweise ändern sich nur 5-10 Kacheln bei einem bestimmten Reload, so dass ich glaube, dass ich die Bandbreitennutzung um eine Größenordnung reduzieren kann, indem ich nur alle 3 Sekunden nur diese Kacheln anstatt alle 500 sende.
Ich bin auch offen für "Sie Idiot, warum verwenden Sie HTML-Tabellen" -Typ Kommentare, wenn Sie eine bessere Alternative vorschlagen können. Gibt es zum Beispiel irgendwelche CSS/DOM-Manipulationstechniken, die ich in Erwägung ziehen sollte, anstatt eine HTML-Tabelle zu verwenden? Sollte ich eine Tabelle verwenden, aber jede td-Koordinaten für eine ID geben (wie "12x08") und dann jquery verwenden, um Zellen durch ID zu ersetzen?
Eine Klarstellung: die Fliesen sind Text, keine Bilder.
Wie viel Bandbreite belegt jede Kachel? Laden Sie jedes Mal ein neues Bild? Oder ähnliche Bilder (in diesem Fall sollten Sie sicherstellen, dass das Caching aktiviert ist)? – strager
Einige Bytes, komprimiert. Jede Kachel ist "
Ist der Zustand des Spiels zwischen den Aktualisierungen des Servers bekannt? Mit anderen Worten, hat der Server Zugriff sowohl auf die Vorher-Map (was der Benutzer jetzt sieht) als auch auf die After-Map (Was wird gesendet)? – strager