Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.08.2010, 03:35
JackLondon вне форума Посмотреть профиль Отправить личное сообщение для JackLondon Найти все сообщения от JackLondon
  № 1  
Ответить с цитированием
JackLondon

Регистрация: Aug 2010
Сообщений: 15
По умолчанию PvP игра, php&MySQL&AS v3.0

Вобщем есть игра, требующая информирования одним пользователем другого и в обратном порядке.

Решение: сервер с парой пхп файлов get и set функционала, к которым обращаются оба пользователя, они пишут и читают из БД.

Проблема: скорость, даже при передаче просто координат х, у, rotation = это около 10-ти запросов на запись своих данных и 10-ти запросов на считывание данных противника каждым из клиентов. Получается не очень быстрое слайдшоу.

Вопрос: как можно оптимизировать?

Я в флеш разработке новенький, сильно не пиннайте

Добавлено через 3 минуты
Да, забыл. В игре нет и 10-й части требуемого функционала, т.е. дальше fps будет только падать.
Тормоза связаны только со скоростью загрузки/выгрузки с серва/на серв, т.е. код выполняется моментально.

Запросы строю с помощью URLLoader, через URLLoaderDataFormat.VARIABLES..

Старый 15.08.2010, 04:02
e_gamer вне форума Посмотреть профиль Отправить личное сообщение для e_gamer Найти все сообщения от e_gamer
  № 2  
Ответить с цитированием
e_gamer

Регистрация: Aug 2010
Адрес: MSK
Сообщений: 104
Отправить сообщение для e_gamer с помощью ICQ
AMFPHP в помощь.
Так же советую пересмотреть серверный код - 10 запросов это не много.
Если база планируется большая, может стоит поставить PostgreSQL.

Как программист из game-dev`а, хотел поинтересоваться:
Игра реал-тайм?
__________________
$world->answer_for_request($_REQUEST['hello,world!']);
ICQ: 336637242

Старый 15.08.2010, 04:20
JackLondon вне форума Посмотреть профиль Отправить личное сообщение для JackLondon Найти все сообщения от JackLondon
  № 3  
Ответить с цитированием
JackLondon

Регистрация: Aug 2010
Сообщений: 15
Спасибо за быстрый ответ, сегодня будем пробовать интегрировать. Если честно, оба эти слова сегодня впервые прочитал
Да, естественно реалтайм, поэтому и не хватает 10-ти слайдов в секунду.. Иначе можно было бы хотя бы поочереди ждать полной загрузке произведенных противником действий за ход и только тогда демонстрировать..

Старый 15.08.2010, 04:26
e_gamer вне форума Посмотреть профиль Отправить личное сообщение для e_gamer Найти все сообщения от e_gamer
  № 4  
Ответить с цитированием
e_gamer

Регистрация: Aug 2010
Адрес: MSK
Сообщений: 104
Отправить сообщение для e_gamer с помощью ICQ
10 кадров в секунду - это скорость?
__________________
$world->answer_for_request($_REQUEST['hello,world!']);
ICQ: 336637242

Старый 15.08.2010, 04:50
JackLondon вне форума Посмотреть профиль Отправить личное сообщение для JackLondon Найти все сообщения от JackLondon
  № 5  
Ответить с цитированием
JackLondon

Регистрация: Aug 2010
Сообщений: 15
Именно!
И да, приложение лежит ВКонтакте. Хотя про контакт это оффтоп, так что извиняюсь. Из за чего такая низкая производительность? Php скрипты простейшие, их просто нельзя никак оптимайзить. СПб-й хостинг, скорость на нем хорошая.
Сегодня как проснусь попробую использовать вместо БД то место, отведенное самим контактом, собственно стал писть это все в БД потому что не разобрался в вконтакте API. Аааа, опять оффтоплю Вобщем разберусь с AMFPHP и PostgreSQL и отпишусь как прошло..
Если у кого еще есть какие советы как качественно и быстро организовать PvP - буду благодарен

Старый 15.08.2010, 12:17
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 6  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
очень странно что при довольно высокой плотности запросов (10/сек) рассматривается вариант с php/get-set !!!

только сокет, причем однозначно пересматривать архитектуру, для снижения кол-ва запросов (допустим передавать не координаты, а вектор движения раз в секунду, не текущий угол поворота, а конечный/целевой, и т.д., ну и там - всякие разбития игрового поля на ячейки)

но это надо смотреть на месте, так это абстрактные мысли

Старый 15.08.2010, 18:32
e_gamer вне форума Посмотреть профиль Отправить личное сообщение для e_gamer Найти все сообщения от e_gamer
  № 7  
Ответить с цитированием
e_gamer

Регистрация: Aug 2010
Адрес: MSK
Сообщений: 104
Отправить сообщение для e_gamer с помощью ICQ
Но 10 запросов в секунду в базу - я бы не сказал, что это много.
Игровой сервер не должен виснуть от такого.
Другое дело - как они построены и действительно ли нужны некоторые из них?

Ходы во время игры можно обсчитывать с помощью PHP, даже для реал-тайм игры.
Как показывает практика, я даже по своему опыту знаю, оптимизация запросов и скриптов помогает решить такую ситуацию.
__________________
$world->answer_for_request($_REQUEST['hello,world!']);
ICQ: 336637242


Последний раз редактировалось e_gamer; 15.08.2010 в 18:37.
Старый 15.08.2010, 19:48
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 8  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
10 на одного пользователя, зайдет сотня и понадобится выделенный сервер, зайдет 1000 нужен будет довольно крутой сервер и т.д.

только отдельный процесс, который в реалтайме обсчитывает каждую сессию, желательно без запросов к базе, то есть каждая сессия/пвп игра это отдельный компактный объект в памяти

дальше:
- хттп запросы/ответы не гарантируют правильную последовательность доставки
- топик кастер сказал что нет и 10-й части функционала, ждем еще запросов
- обменн данными в сокете быстрее хттп запросов, не скажу на сколько, но разница очень существенная

Старый 15.08.2010, 22:47
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 9  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
10 запросов в секунду - однозначно сокет и посылать надо только дельты и апдейты.
__________________
Отряд Котовскага

Старый 15.08.2010, 23:15
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 10  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Крутые сервера не обращаются к базе так часто: они оперируют в памяти, а сохраняют результаты игры по запросу (а ля игрок вышел) и например каждую минуту.

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:52.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.