![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 15
|
Вобщем есть игра, требующая информирования одним пользователем другого и в обратном порядке.
Решение: сервер с парой пхп файлов get и set функционала, к которым обращаются оба пользователя, они пишут и читают из БД. Проблема: скорость, даже при передаче просто координат х, у, rotation = это около 10-ти запросов на запись своих данных и 10-ти запросов на считывание данных противника каждым из клиентов. Получается не очень быстрое слайдшоу. Вопрос: как можно оптимизировать? Я в флеш разработке новенький, сильно не пиннайте ![]() Добавлено через 3 минуты Да, забыл. В игре нет и 10-й части требуемого функционала, т.е. дальше fps будет только падать. Тормоза связаны только со скоростью загрузки/выгрузки с серва/на серв, т.е. код выполняется моментально. Запросы строю с помощью URLLoader, через URLLoaderDataFormat.VARIABLES.. |
|
|||||
|
AMFPHP в помощь.
Так же советую пересмотреть серверный код - 10 запросов это не много. Если база планируется большая, может стоит поставить PostgreSQL. Как программист из game-dev`а, хотел поинтересоваться: Игра реал-тайм?
__________________
$world->answer_for_request($_REQUEST['hello,world!']); ICQ: 336637242 |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 15
|
Спасибо за быстрый ответ, сегодня будем пробовать интегрировать. Если честно, оба эти слова сегодня впервые прочитал
![]() Да, естественно реалтайм, поэтому и не хватает 10-ти слайдов в секунду.. Иначе можно было бы хотя бы поочереди ждать полной загрузке произведенных противником действий за ход и только тогда демонстрировать.. |
|
|||||
|
10 кадров в секунду - это скорость?
__________________
$world->answer_for_request($_REQUEST['hello,world!']); ICQ: 336637242 |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 15
|
Именно!
И да, приложение лежит ВКонтакте. Хотя про контакт это оффтоп, так что извиняюсь. Из за чего такая низкая производительность? Php скрипты простейшие, их просто нельзя никак оптимайзить. СПб-й хостинг, скорость на нем хорошая. Сегодня как проснусь попробую использовать вместо БД то место, отведенное самим контактом, собственно стал писть это все в БД потому что не разобрался в вконтакте API. Аааа, опять оффтоплю Вобщем разберусь с AMFPHP и PostgreSQL и отпишусь как прошло..Если у кого еще есть какие советы как качественно и быстро организовать PvP - буду благодарен ![]() |
|
|||||
|
очень странно что при довольно высокой плотности запросов (10/сек) рассматривается вариант с php/get-set !!!
только сокет, причем однозначно пересматривать архитектуру, для снижения кол-ва запросов (допустим передавать не координаты, а вектор движения раз в секунду, не текущий угол поворота, а конечный/целевой, и т.д., ну и там - всякие разбития игрового поля на ячейки) но это надо смотреть на месте, так это абстрактные мысли |
|
|||||
|
Но 10 запросов в секунду в базу - я бы не сказал, что это много.
Игровой сервер не должен виснуть от такого. Другое дело - как они построены и действительно ли нужны некоторые из них? Ходы во время игры можно обсчитывать с помощью PHP, даже для реал-тайм игры. Как показывает практика, я даже по своему опыту знаю, оптимизация запросов и скриптов помогает решить такую ситуацию.
__________________
$world->answer_for_request($_REQUEST['hello,world!']); ICQ: 336637242 Последний раз редактировалось e_gamer; 15.08.2010 в 18:37. |
|
|||||
|
10 на одного пользователя, зайдет сотня и понадобится выделенный сервер, зайдет 1000 нужен будет довольно крутой сервер и т.д.
только отдельный процесс, который в реалтайме обсчитывает каждую сессию, желательно без запросов к базе, то есть каждая сессия/пвп игра это отдельный компактный объект в памяти дальше: - хттп запросы/ответы не гарантируют правильную последовательность доставки - топик кастер сказал что нет и 10-й части функционала, ждем еще запросов - обменн данными в сокете быстрее хттп запросов, не скажу на сколько, но разница очень существенная |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
10 запросов в секунду - однозначно сокет и посылать надо только дельты и апдейты.
__________________
Отряд Котовскага |
|
|||||
|
Крутые сервера не обращаются к базе так часто: они оперируют в памяти, а сохраняют результаты игры по запросу (а ля игрок вышел) и например каждую минуту.
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:52. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|