Найти - Пользователи
Полная версия: Клеточное поле на веб-странице
Начало » Web » Клеточное поле на веб-странице
1
Enchantner
Заранее прошу прощения, что вопрос не совсем по питону, но в основе проекта лежит Django, да и вообще задача интересная.

Собственно, надо реализовать веб-интерфейс для клеточного автомата, который будет рассчитываться на сервере. Проблема в том, что среди начальных требований есть задание начальных данных мышкой, то есть смена состояния клеток по клику, дальнейшие результаты расчета будут возвращаться, скорее всего, в виде картинок.

HTML5 Canvas отпадает, потому что требуется поддержка IE. Я пробовал генерировать структуру на сервере и вставлять в DOM самой HTML-страницы - но на поле 1000 на 1000 браузер уже начинает просить пощады и очень долго рассуждать. А flash я, к сожалению, знаю довольно плохо.

В общем, прошу совета - как реализовать на клиенте задание начальных данных мышкой для больших полей и как сериализовать-десериализовать это поле для передачи на сервер за минимальное время? JSON почему-то не кажется хорошим решением, а бинарный формат яваскриптом реализовывать - это злобно…
PooH
Enchantner
HTML5 Canvas отпадает, потому что требуется поддержка IE.
Не все так плохо с канвасом. http://code.google.com/p/explorercanvas/. В работе с растром там многого нет, но вектор работает неплохо.

Или даже http://raphaeljs.com/
Enchantner
PooH
А как со скоростью-то? Я понимаю, что рисование квадрата в любом случае быстрее DOM-манипуляции, но все зависит от реализации…

И да, насчет SVG (Raphael) думал, но там опять же та же ерунда - поддержка SVG появилась только в IE 9, а всякие svg2swf - ужасно неудобные и тормозные…
PooH
Enchantner
PooH
А как со скоростью-то? Я понимаю, что рисование квадрата в любом случае быстрее DOM-манипуляции, но все зависит от реализации…
А фиг знает, пробовать надо :) Я делал на нем карту интерактивную, вроде хватало скорости. В принципе он почти напрямую в VML операции транслирует.
Enchantner
А по сериализации никто ничего не посоветует хорошего? Как можно на сервер максимально компактно это все отправить?
zheromo
JSON + Zip
если вариантов значений клеток не много, что-то типа RLE сжатия
PooH
Enchantner
Как можно на сервер максимально компактно это все отправить?
Может битовый массив? На клиент придет набор целых чисел. Побитные операции в javascript есть.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB