Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2011, 14:56   #1
Preyar
 
Регистрация: 16.04.2011
Сообщений: 5
По умолчанию Алгоритмы создания браузерных онлайн-игр

Здравствуйте.
Я занимаюсь программированием уже несколько лет. Дошло дело до довольно нагруженных систем, как, например, онлайн-игра.
Остро возник вопрос нехватки знаний в области программирования с учетом нагрузки на сервер.

Имеется:
Программирование на PHP5.
Хранение данных MySQL.

Понятно, что необходимо оптимизировать систему, поэтому появились несколько вопросов:

1. Информация хранится в БД. Как реализовывать это хранение и выборку, чтобы не упереться в гигантское количество обращений в секунду и подвисанию сервера БД. Например, идет бой персонажа, соответственно каждый удар должен быть записан в БД, чтобы можно было увидеть лог боя. Этих боев одновременно с онлайном, допустим, 10к человек будет огромное количество в единицу времени, поэтому БД может не выдержать столько записей и запросов одновременно. Как правильно реализовать эту работу с БД? Каждую команду пользователя или результат обработки команды писать в БД или можно как-то по другому реализовать это?

2. Структура всех сущностей должна быть создана каждый раз при обращению к серверу или лучше сделать разные "программы" для разных операций, таких как "чат", "бой", "миниигра", "квест" и т.д. или лучше обрабатывать одним кодом в модуле ядра? Вопрос в том, как разделить алгоритмы системы, чтобы загружались только нужные ветви, но и чтобы снизить количество обращений к серверу?

3. Как реализовывается обмен данными между браузером и движком? Имеется ввиду: как правильно реализовать запросы - ответы, чтобы нагрузка на сервер и на БД оказалась минимальной (не имеются ввиду оптимизация кода и запросов), как например, может быть необходимо некоторые данные хранить во временных таблицах или отдельно для каждого боя создавать свою таблицу, а потом составлять лог и копировать его в архив логов?

Буду очень признателен за исчерпывающие ответы или ссылки на статьи о построении подобных систем.

Последний раз редактировалось Preyar; 16.04.2011 в 14:59.
Preyar вне форума Ответить с цитированием
Старый 16.04.2011, 15:30   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Дошло дело до довольно нагруженных систем, как, например, онлайн-игра.
Рисовать умеете?
Цитата:
10к человек
Откуда Вы такие цифры взяли? У Вас богатая фантазия.
Цитата:
идет бой персонажа, соответственно каждый удар должен быть записан в БД, чтобы можно было увидеть лог боя
Логи лучше записывать в файлы, точно так же как и состояние боя.
Цитата:
Каждую команду пользователя или результат обработки команды писать в БД или можно как-то по другому реализовать это?
Зачем?
Цитата:
Структура всех сущностей должна быть создана каждый раз при обращению к серверу или лучше сделать разные "программы" для разных операций, таких как "чат", "бой", "миниигра", "квест" и т.д. или лучше обрабатывать одним кодом в модуле ядра? Вопрос в том, как разделить алгоритмы системы, чтобы загружались только нужные ветви, но и чтобы снизить количество обращений к серверу?
Сначала читаем это. Лучше организовать так, чтобы все поступающие данные обрабатывались одним файлом и в соответствии от задач инклудились дополнительные модули.
Цитата:
Как реализовывается обмен данными между браузером и движком? Имеется ввиду: как правильно реализовать запросы - ответы, чтобы нагрузка на сервер и на БД оказалась минимальной
Советую использовать AJAX и JSON+текстовые команды.
Цитата:
может быть необходимо некоторые данные хранить во временных таблицах или отдельно для каждого боя создавать свою таблицу, а потом составлять лог и копировать его в архив логов?
Во временных не получиться, т.к. структура данных обычно сложная. Логи сразу в файлы. Условия боя и результат в таблицы InnoDB. Состояние боя в файлы.
Виталий Желтяков вне форума Ответить с цитированием
Старый 16.04.2011, 19:25   #3
Preyar
 
Регистрация: 16.04.2011
Сообщений: 5
По умолчанию

Цитата:
Рисовать умеете?
К чему такой пафосный и совершенно ненужный вопрос? я не подросток, которому надо срочно сделать игру, чтобы быть сильнее других. Почему вы не спросили, умею ли я строить бизнес, проводить рекламные кампании и инвестировать средства? Или вы мне предлагаете нарисовать алгоритмы?

Цитата:
Откуда Вы такие цифры взяли? У Вас богатая фантазия.
Если вы не встречали проектов с посещаемостью больше 200 человек в сутки, то не надо лишний раз просто флудить. Будьте аккуратнее в своих суждениях. 10000 - довольна скромная цифра для загруженной системы.

Цитата:
Логи лучше записывать в файлы, точно так же как и состояние боя.
Логи - согласен, можно и в файлы. Но текущий бой, у которого тик каждые, например, 30 секунд и таких боев 500 в текущий момент идет, то вопрос: на сколько это накладно по ресурсам, ведь файл надо открыть, прочитать, другой поток туда же будет стремиться записать, сомневаюсь, что это должно делаться так банально?

Цитата:
Зачем?
Вы скорее всего не поняли вопрос. Любое действие/сущность должны где-нибудь храниться, потому что в памяти их хранить невозможно, т.к. игра браузерная. То есть, когда человек купил что-либо, пошел куда-либо, копнул, ковырнул в носу, упал, сломал коленку, напал на игрока, пукнул и т.п., эти действия необходимо обработать и записать

Цитата:
Сначала читаем это. Лучше организовать так, чтобы все поступающие данные обрабатывались одним файлом и в соответствии от задач инклудились дополнительные модули.
К сожалению, пропущу эту статью, т.к. половина - это бред, вторая половина - банальщина.
Насчет одним файлом - это хорошая мысль, но ядро должно в таком случае загружать необходимые классы в полном объеме, а я в вопросе имел ввиду, может будет менее нагружено, если работать с БД напрямую, минуя абстракцию и инкапсуляцию? или все же это будет не правильно?

Цитата:
Советую использовать AJAX и JSON+текстовые команды.
Спасибо за совет. Но не будет ли увеличение количества запросов к серверу (а количество запросов увеличится раз в 5-6 изза AJAX, если блоки загружать асинхронно) создавать повышенную нагрузку? Или на нее плюнуть и делать AJAX?

Цитата:
Во временных не получиться, т.к. структура данных обычно сложная. Логи сразу в файлы. Условия боя и результат в таблицы InnoDB. Состояние боя в файлы.
Если вам не составит труда, опишите, пожалуйста по подробнее этот момент, какую информацию куда складывать (InnoDB, txt, myisam, другие методы)?

Основной вопрос и заключается в том, как реализовать механизм хранения и извлечения информации (что, куда)?

Буду очень признателен за ответ.
Preyar вне форума Ответить с цитированием
Старый 16.04.2011, 19:29   #4
Preyar
 
Регистрация: 16.04.2011
Сообщений: 5
По умолчанию

Виталий, если вы хорошо разбираетесь в таких системах и в методах хранения информации в БД, то не могли бы вы оставить мне ваш Skype? Я был бы хотел, если вы, конечно, не против, встретиться в Волгограде и получить небольшую консультацию по этим вопросам.
Preyar вне форума Ответить с цитированием
Старый 16.04.2011, 20:18   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
К чему такой пафосный и совершенно ненужный вопрос? я не подросток, которому надо срочно сделать игру, чтобы быть сильнее других. Почему вы не спросили, умею ли я строить бизнес, проводить рекламные кампании и инвестировать средства? Или вы мне предлагаете нарисовать алгоритмы?
Разработка браузерной игры состоит из:
- Разработки концепции (30% от всей работы) ,
- Программирования (20%),
- Создание контента, т.е. рисования и пр. (40%),
- Тестирование и исправление багов (10%).
К тому же без художественного оформления игру нельзя ни продать, не привлечь на это дело инвестиции. Стоимость художественных работ для средней игры порядка 100К рублей.

Ну, так рисовать умеете? Или как собираетесь решать данную проблему?
Цитата:
Если вы не встречали проектов с посещаемостью больше 200 человек в сутки, то не надо лишний раз просто флудить. Будьте аккуратнее в своих суждениях. 10000 - довольна скромная цифра для загруженной системы.
10000 пользователей - это порядка 300 запросов в секунду. Такую нагрузку редкий сервер выдержит.
Обычно по достижении нагрузки 100-150 запросов производят зеркалирование игры, т.е. разбиение на несколько серверов. Крупные игры крутятся на десятках серверов. К тому же, чтобы набрать 10000 пользователей нужна рекламная компания 200-300К рублей.
Цитата:
Но текущий бой, у которого тик каждые, например, 30 секунд и таких боев 500 в текущий момент идет, то вопрос: на сколько это накладно по ресурсам, ведь файл надо открыть, прочитать, другой поток туда же будет стремиться записать, сомневаюсь, что это должно делаться так банально?
Скорость записи в файлы в ~10 раз больше, чем в БД. А сделать систему распределения записи логов очень просто.
К тому же, Вы что думаете их проверять?
Цитата:
То есть, когда человек купил что-либо, пошел куда-либо, копнул, ковырнул в носу, упал, сломал коленку, напал на игрока, пукнул и т.п., эти действия необходимо обработать и записать
Да, денежные операции нужно логировать в БД. Остальное логировать не нужно. Логируются только места возможного взлома - авторизация, изменение критических параметров.
Цитата:
Насчет одним файлом - это хорошая мысль, но ядро должно в таком случае загружать необходимые классы в полном объеме, а я в вопросе имел ввиду, может будет менее нагружено, если работать с БД напрямую, минуя абстракцию и инкапсуляцию? или все же это будет не правильно?
Я имел в виду не это, не одним файлом. В один файл можно пихать только небольшие проекты, а не проекты по 500Кб кода - загрузка будет большая.
Нужен один файл, который бы распределял запросы и подключал необходимые модули по потребности. БД использовать только по необходимости.
Цитата:
Но не будет ли увеличение количества запросов к серверу (а количество запросов увеличится раз в 5-6 изза AJAX, если блоки загружать асинхронно) создавать повышенную нагрузку? Или на нее плюнуть и делать AJAX?
От переменны мест слагаемых сума не меняется. Нагрузка в запросах возрастает в 3-4 раза из-за того, что реакция игры становится в 3-4 раза быстрее. Можно ограничивать, если необходимо, скорость запросов программно. Но при AJAX мы имеем неиллюзорный профит пользовательской реакции и весьма существенное сокращение нагрузки на процессор и снижение траффика.
Цитата:
Если вам не составит труда, опишите, пожалуйста по подробнее этот момент, какую информацию куда складывать (InnoDB, txt, myisam, другие методы)?
То, что меняется, в InnoDB: пользовательские массивы, установки боёв, денежные логи.
То, что не ценно и быстро меняется, в Memory: он-лайн пользователи и буффер.
То, что редко меняется, в MyISAM: таблицы пользователей, характеристик и прочих игровых параметров.
Таблицы, которые не меняются, к тому же загоняем в кэш.
Сложные объёмные данные пихаем в файлы: логи, интерфейс, чат.
Цитата:
Skype
Я живу на болотах, тут нормального интернета нет, то есть и skype тоже нет.
Цитата:
Я был бы хотел, если вы, конечно, не против, встретиться в Волгограде и получить небольшую консультацию по этим вопросам.
Зачем?
Вопросы Вы можете свободно задать здесь. Или у Вас есть другие предложения?
Виталий Желтяков вне форума Ответить с цитированием
Старый 16.04.2011, 20:47   #6
Preyar
 
Регистрация: 16.04.2011
Сообщений: 5
По умолчанию

Цитата:
Разработка браузерной игры состоит из:
- Разработки концепции (30% от всей работы) ,
- Программирования (20%),
- Создание контента, т.е. рисования и пр. (40%),
- Тестирование и исправление багов (10%).
К тому же без художественного оформления игру нельзя ни продать, не привлечь на это дело инвестиции. Стоимость художественных работ для средней игры порядка 100К рублей.

Ну, так рисовать умеете? Или как собираетесь решать данную проблему?
Объясню еще раз. Рисовать - дело дизайнера, художника и иллюстратора, а не программиста, верстальщика, копирайтера, менеджера, директора, руководителя проектов и т.д.. Стоимость же всего этого волновать не должна в вопросе алгоритмистики. Ни один человек, который разумно подходит к вопросу бизнеса и распределения финансов не будет делать масштабных проектов в одиночку и без команды.

Цитата:
10000 пользователей - это порядка 300 запросов в секунду. Такую нагрузку редкий сервер выдержит.
Обычно по достижении нагрузки 100-150 запросов производят зеркалирование игры, т.е. разбиение на несколько серверов. Крупные игры крутятся на десятках серверов. К тому же, чтобы набрать 10000 пользователей нужна рекламная компания 200-300К рублей.
В moswar.ru в среднем порядка 30000 онлайн. Зеркалирование - совершенно не оправданный подход. Легче распределить нагрузку по серверам. При построении такого проекта здравый смысл не позволяет ставить его на 1 сервер или не дай бог на виртуальный хостинг.
Насчет рекламной кАмпании повторюсь, не надо считать деньги, тема не для этого.

Цитата:
Скорость записи в файлы в ~10 раз больше, чем в БД. А сделать систему распределения записи логов очень просто.
К тому же, Вы что думаете их проверять?
Это огромное заблуждение. Скорость записи файлов не может быть в 10 раз больше скорости записи в память, а потом дампа в файл (что делает БД). Тем более, что потом сервер захлебнется с залоченными файлами, куда стоит огромная очередь записи логов.
Второй камень - эти логи потом не выбрать и сложно отсортировать такие объемы.
И да. Логи для того и нужны, чтобы их можно было проверить.

Цитата:
Да, денежные операции нужно логировать в БД. Остальное логировать не нужно. Логируются только места возможного взлома - авторизация, изменение критических параметров.
Я немного не про то. Любые действия - должны быть фактически обработаны и их результат сохранен в памяти. При браузерной игре в оперативную память я их записать не могу, поэтому их надо будет хранить физически либо в БД, либо каждый раз писать в файл, а потом его снова парсить. Я тут и спрашиваю, как рациональней сохранять изменения игрового процесса, которые будут по 1000-5000 в секунду.

Цитата:
Я имел в виду не это, не одним файлом. В один файл можно пихать только небольшие проекты, а не проекты по 500Кб кода - загрузка будет большая.
Нужен один файл, который бы распределял запросы и подключал необходимые модули по потребности. БД использовать только по необходимости.
Я это и имел ввиду. Спасибо.

Цитата:
От переменны мест слагаемых сума не меняется. Нагрузка в запросах возрастает в 3-4 раза из-за того, что реакция игры становится в 3-4 раза быстрее. Можно ограничивать, если необходимо, скорость запросов программно. Но при AJAX мы имеем неиллюзорный профит пользовательской реакции и весьма существенное сокращение нагрузки на процессор и снижение траффика.
Я думаю легче выполнить 1 скрипт за 1 секунду, чем сделать обращение к 10 скриптам по 0.1 секунде. Времени только на http-запросы сэкономится больше, чем скрипт выполняется. А то, что пользователь этого не заметит, то в этом вы абсолютно правы - это весомый аргумент. Но тут идет разговор о нагрузке на сервера.

Цитата:
То, что меняется, в InnoDB: пользовательские массивы, установки боёв, денежные логи.
То, что не ценно и быстро меняется, в Memory: он-лайн пользователи и буффер.
То, что редко меняется, в MyISAM: таблицы пользователей, характеристик и прочих игровых параметров.
Таблицы, которые не меняются, к тому же загоняем в кэш.
Сложные объёмные данные пихаем в файлы: логи, интерфейс, чат.
Спасибо, это действительно то, что надо, буду копать в этом направлении.

Цитата:
Я живу на болотах, тут нормального интернета нет, то есть и skype тоже нет.

Зачем?
Вопросы Вы можете свободно задать здесь. Или у Вас есть другие предложения?
Нет, мне просто необходимо заполнить некоторые пробелы в знаниях. Я до этого разрабатывал только большие логические системы автоматизации бизнеса, которые требовательны к ресурсам в процессе вычислений и анализа и не сталкивался с высоконагруженными приложениями, связанными с высокой частотой запросов и сохранений данных. Поэтому и хотел получить некоторую консультацию по реализации подобных проектов (по построению алгоритмов работы и проектированию системы, но ни в коем случае не написанию кода или построению системы).

Спасибо, что ответили на мои вопросы. Если будут еще - спрошу.

Последний раз редактировалось Preyar; 16.04.2011 в 20:52.
Preyar вне форума Ответить с цитированием
Старый 16.04.2011, 21:29   #7
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Рисовать - дело дизайнера, художника и иллюстратора, а не программиста, верстальщика, копирайтера, менеджера, директора, руководителя проектов и т.д.. Стоимость же всего этого волновать не должна в вопросе алгоритмистики.
Ну, ну. Программировать вперёд художника. Сами зае***сь и художника зае***те.
Цитата:
Ни один человек, который разумно подходит к вопросу бизнеса и распределения финансов не будет делать масштабных проектов в одиночку и без команды.
А у Вас есть команда? Хотя бы художник?
Цитата:
Насчет рекламной кАмпании повторюсь, не надо считать деньги, тема не для этого.
Я не считаю ваши деньги. Мне оно не надо.
Про художника и про деньги Я говорю, что бы Вы реально представляли какие трудности Вас ожидают в этом нелёгком деле.
Цитата:
Это огромное заблуждение. Скорость записи файлов не может быть в 10 раз больше скорости записи в память, а потом дампа в файл (что делает БД).
Вы забыли о подключении к БД. Это оно "съедает" время.
Цитата:
Тем более, что потом сервер захлебнется с залоченными файлами, куда стоит огромная очередь записи логов.
Если правильно всё организовать, никаких проблем не будет.
Цитата:
Второй камень - эти логи потом не выбрать и сложно отсортировать такие объемы.
И да. Логи для того и нужны, чтобы их можно было проверить.
Попахивает параноей. Даже, если они будут храниться в БД, это очень большие объёмы данных, чтобы их просматривать.
Цитата:
Я немного не про то. Любые действия - должны быть фактически обработаны и их результат сохранен в памяти. При браузерной игре в оперативную память я их записать не могу, поэтому их надо будет хранить физически либо в БД, либо каждый раз писать в файл, а потом его снова парсить.
Что относиться только к одному игроку в БД и сессию. Остальное по возможности в файлы.
Цитата:
изменения игрового процесса, которые будут по 1000-5000 в секунду.
Что это за такие изменения?
Цитата:
Я думаю легче выполнить 1 скрипт за 1 секунду, чем сделать обращение к 10 скриптам по 0.1 секунде.
Вы плохо знаете AJAX. Достаточно оного запроса, а не 10.
Цитата:
Но тут идет разговор о нагрузке на сервера.
Использование AJAX снижает объём трафика и нагрузку на процессор. Если боитесь увеличенной частоты запросов, то ограничьте её программно.
Виталий Желтяков вне форума Ответить с цитированием
Старый 17.04.2011, 03:19   #8
Preyar
 
Регистрация: 16.04.2011
Сообщений: 5
По умолчанию

Не буду цитировать. так отвечу по пунктам.

1. Ну почему вы решили, что кто-то что-то делает вперед и неправильно? Поверьте, я все делаю правильно и как надо.

2. Если вас все же это так интересует, то есть 2 программиста помимо меня, художник, иллюстратор, дизайнер, 2 верстальщика, копирайтер, переводчик на 3 языка и 12 человек для тестирования проекта и 2 инвестора. Повторюсь, я не на коленке делаю, я просто интересуюсь, какие могут быть еще методы реализации таких систем, помимо тех, что описал я и наши программисты вместе с руководителем проектов в нашем ТЗ, вдруг что упустили, чтобы не наступать на чужие грабли, решил поинтересоваться.

3. О подключении к БД.
Допустим, после обработки команды, надо сохранить 75 разных значений в разные структуры данных. При использовании БД я 1 (!) раз подключаюсь к ней и быстро-быстро сохраняю и делаю выборку. При использовании файлов я 75 файлов открываю, делаю 75 записей на диск, 75 файлов закрываю. Даже без тестов ясно, что БД будет быстрее.

4. Про логи. Еще раз повторю, что логгирование систем нужно ТОЛЬКО для того, чтобы их можно было просмотреть. Иначе теряется вообще смысл делать логи.

5. Относиться к 1 игроку будет ВСЕ и ВСЕГДА, ну кроме технической инфы, которую надо хранить все равно в БД. 1 сессия - 1 человек. по другому быть не может.

6. Изменения игрового процесса - это реакция системы на действия большого количества пользователей в малый промежуток времени.

7. Технологию асинхронных запросов я знаю достаточно, чтобы говорить о том, что делая 10 запросов для загрузки 10 блоков, потребуется 10 http запросов. Если же делать 1 AJAX запрос, то вообще в нем смысла не вижу, т.к. количество запросов по сравнению с обычной передачей данных увеличивается в 2 раза (1-й раз - выгрузка страницы, 2-й раз - передача XML в асинхронном виде), вместо 1 раза (выгрузка уже готовой страницы).

8. Использование AJAX увеличивает количество запросов к серверу, что очень сильно сказывается на скорости загрузки (см. пункт выше). Именно поэтому, чем меньше отдельных файлов загружать на сайт, тем быстрее и менее трудозатратным будет проект.

Последний раз редактировалось Preyar; 17.04.2011 в 03:35.
Preyar вне форума Ответить с цитированием
Старый 17.04.2011, 09:16   #9
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Ну почему вы решили, что кто-то что-то делает вперед и неправильно? Поверьте, я все делаю правильно и как надо.

2. Если вас все же это так интересует, то есть 2 программиста помимо меня, художник, иллюстратор, дизайнер, 2 верстальщика, копирайтер, переводчик на 3 языка и 12 человек для тестирования проекта и 2 инвестора. Повторюсь, я не на коленке делаю, я просто интересуюсь, какие могут быть еще методы реализации таких систем, помимо тех, что описал я и наши программисты вместе с руководителем проектов в нашем ТЗ, вдруг что упустили, чтобы не наступать на чужие грабли, решил поинтересоваться.
У нас на форуме полным полно пользователей, впервые начавших писать он-лайн игру. Про их компетентность Я говорить не буду. Так как Вы ничего о себе не рассказали, то Я решил, что Вы очередной. Извените.
Цитата:
Допустим, после обработки команды, надо сохранить 75 разных значений в разные структуры данных
Не, надо. После обработки команды обычно надо сохранить 1-3 значения.
Цитата:
При использовании БД я 1 (!) раз подключаюсь к ней и быстро-быстро сохраняю и делаю выборку. При использовании файлов я 75 файлов открываю, делаю 75 записей на диск, 75 файлов закрываю. Даже без тестов ясно, что БД будет быстрее.
Это, если брать данные, хранящиеся в разных таблицах (файлах). А если мы работаем со сложными структурами (например, состояние боя), которые сохраняются в один файл, то выигрыш файлов значителен.
Цитата:
Про логи. Еще раз повторю, что логгирование систем нужно ТОЛЬКО для того, чтобы их можно было просмотреть. Иначе теряется вообще смысл делать логи.
Ваше дело. Переубеждать Вас не буду. На тестировании пилотной версии сами поймёте.
Цитата:
Относиться к 1 игроку будет ВСЕ и ВСЕГДА, ну кроме технической инфы, которую надо хранить все равно в БД. 1 сессия - 1 человек. по другому быть не может.
Это Вы к чему?
Инициализировалась игра - часть необходимых данных считалась и записалась в сессию. Дальнейшее получение этих данных идёт из сессии.
Цитата:
изменения игрового процесса, которые будут по 1000-5000 в секунду.
Цитата:
Изменения игрового процесса - это реакция системы на действия большого количества пользователей в малый промежуток времени.
У Вас сильно завышены цифры.
Цитата:
Технологию асинхронных запросов я знаю достаточно, чтобы говорить о том, что делая 10 запросов для загрузки 10 блоков, потребуется 10 http запросов. Если же делать 1 AJAX запрос, то вообще в нем смысла не вижу, т.к. количество запросов по сравнению с обычной передачей данных увеличивается в 2 раза (1-й раз - выгрузка страницы, 2-й раз - передача XML в асинхронном виде), вместо 1 раза (выгрузка уже готовой страницы).
Учите AJAX. Вы его знаете на уровне начинающего программиста. А лучше посмотрите лучше, как это реализовано во многих играх.
Один запрос для загрузки 10 блоков.
Если хотите сделать всё без AJAX, то делайте интересно будет на это "чудо" посмотреть.
Виталий Желтяков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание онлайн игр Licherman Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 23.10.2010 16:24
разработка онлайн-игр dvizzz Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 18.06.2010 23:52
Стандартные алгоритмы программирования игр. VintProg Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 07.11.2009 13:36
Баги онлайн игр 4erw Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 10.04.2009 07:58