Оценка сайтов | Игра на Laravel elnowars.ru!
Норм да нет? (Открытое голосование)
Да (42 чел. - 71 %)
Нет (17 чел. - 28 %)
Всего проголосовало: 59 чел.
gisen, Битва тупит, наносишь удар, и этот таймер по несколько раз срабатывает
mrcatoff, сам таймер шатает, а так бой идет прям так как задумано. После удара таймер уберу вообще, то что он так считает постоянно от 14 секунд это там происходит какое-то действие с не большой задержкой, в среднем 1-2 секунды. Вы ударили, таймер стал 14 сек, пошел запрос для вывода новых данных об оппоненте и только потом идет запрос на удар оппонента и поэтому кажется что тупит.
gisen (12.07.2021 в 18:53)
mrcatoff, сам таймер шатает, а так бой идет прям так как задумано. После удара таймер уберу вообще, то что он так считает постоянно от 14 секунд это там происходит какое-то действие с не большой задержкой, в среднем 1-2 секунды. Вы ударили, таймер стал 14 сек, пошел запрос для вывода новых данных об оппоненте и только потом идет запрос на удар оппонента и поэтому кажется что тупит.
mrcatoff, сам таймер шатает, а так бой идет прям так как задумано. После удара таймер уберу вообще, то что он так считает постоянно от 14 секунд это там происходит какое-то действие с не большой задержкой, в среднем 1-2 секунды. Вы ударили, таймер стал 14 сек, пошел запрос для вывода новых данных об оппоненте и только потом идет запрос на удар оппонента и поэтому кажется что тупит.
ты при каждом действии в битве запускаешь ещё раз таймер, тебе сначала нужно предыдущий удалить и потом уже брать данные с сервера для начала отсчёта, а то у тебя таймерЫ долбят сервак я так понимаю: открой инструменты разработчика в браузере и посмотри какая дичь происходит у тебя в Console и в Network, если таймер не просто для отсчёта а ещё и аяксом долбит сервак, то прикинь как он там балдеет от твоих скриптов, у тебя таймеры даже не секундыне а милисекундные что ли

________
посл. ред. 13.07.2021 в 17:18; всего 1 раз(а); by Вилы Выкидные
Вилы Выкидные (13.07.2021 в 17:02)
ты при каждом действии в битве запускаешь ещё раз таймер, тебе сначала нужно предыдущий удалить и потом уже брать данные с сервера для начала отсчёта, а то у тебя таймерЫ долбят сервак я так понимаю: открой инструменты разработчика в браузере и посмотри какая дичь происходит у тебя в Console и в Network, если таймер не просто для отсчёта а ещё и аяксом долбит сервак, то прикинь как он там балдеет от твоих скриптов, у тебя таймеры даже не секундыне а милисекундные что ли
ты при каждом действии в битве запускаешь ещё раз таймер, тебе сначала нужно предыдущий удалить и потом уже брать данные с сервера для начала отсчёта, а то у тебя таймерЫ долбят сервак я так понимаю: открой инструменты разработчика в браузере и посмотри какая дичь происходит у тебя в Console и в Network, если таймер не просто для отсчёта а ещё и аяксом долбит сервак, то прикинь как он там балдеет от твоих скриптов, у тебя таймеры даже не секундыне а милисекундные что ли

Там всё норм. Так и должно всё работать. Да игра высокие нагрузки делает и требует серьёзные ресурсы vds в идеале после запуска нужен сервер 4-6 ядра по 5ггц и минимум 8 гб оперативки. На таком сервере одновременно могут быть в бою 1500-2000 игроков, но мне такой посещаемости ни в жизнь не добиться, так что 2 ядра по 5ггц и 4-6 гб оперативки хватит за глаза.
То что от клиента идут часто запросы, тоже не страшно, всё продуманно.
Самая сложное идет при запуске нового раунда, нужно брать всех в бою и проверять, есть ли противник, выпил ли он какую нить банку, есть ли на нем травилки лечилки, если нет противника то назначаем противника если есть свободный и т.д и т.п и так каждые 2-3 секунды. И думается, что если в бою 10 человек, то подобный кошмар будет проходить раз 5 в секунду от каждого, но нет, со стороны сервера всё продумано и не даст запустить чаще 2 секунд. И так на всём.
Вилы Выкидные, А таймер всего один.
gisen (13.07.2021 в 17:34)
Вилы Выкидные, А таймер всего один.
Вилы Выкидные, А таймер всего один.
он запускается ещё и ещё и ещё раз после каждого удара, его нужно перед повторным запуском удалять
gisen (13.07.2021 в 17:25)
Там всё норм. Так и должно всё работать. Да игра высокие нагрузки делает и требует серьёзные ресурсы vds в идеале после запуска нужен сервер 4-6 ядра по 5ггц и минимум 8 гб оперативки. На таком сервере одновременно могут быть в бою 1500-2000 игроков, но мне такой посещаемости ни в жизнь не добиться, так что 2 ядра по 5ггц и 4-6 гб оперативки хватит за глаза.
То что от клиента идут часто запросы, тоже не страшно, всё продуманно.
Там всё норм. Так и должно всё работать. Да игра высокие нагрузки делает и требует серьёзные ресурсы vds в идеале после запуска нужен сервер 4-6 ядра по 5ггц и минимум 8 гб оперативки. На таком сервере одновременно могут быть в бою 1500-2000 игроков, но мне такой посещаемости ни в жизнь не добиться, так что 2 ядра по 5ггц и 4-6 гб оперативки хватит за глаза.
То что от клиента идут часто запросы, тоже не страшно, всё продуманно.
это всего лишь анимация, тебе один раз нужно взять данные с сервера и делать анимацию на JS, а на сервере только при обновлении делать просчёты и обновлять БД, а так ты аяксом постоянно долбишь вычисления
Вилы Выкидные (13.07.2021 в 17:39)
это всего лишь анимация, тебе один раз нужно взять данные с сервера и делать анимацию на JS, а на сервере только при обновлении делать просчёты и обновлять БД, а так ты аяксом постоянно долбишь вычисления
это всего лишь анимация, тебе один раз нужно взять данные с сервера и делать анимацию на JS, а на сервере только при обновлении делать просчёты и обновлять БД, а так ты аяксом постоянно долбишь вычисления
Куда вы лезете со своими советами? Сказано же - все продумано.
Вилы Выкидные (13.07.2021 в 17:37)
он запускается ещё и ещё и ещё раз после каждого удара, его нужно перед повторным запуском удалять
он запускается ещё и ещё и ещё раз после каждого удара, его нужно перед повторным запуском удалять
Повторяю, таймер всего 1. И он просто обновляется когда с axios.get('/allbattle/round').... или с других запросов приходит ответ, по сути этот таймер нужен только для того чтобы вы знали сколько у вас времени для удара и использования банок и если вы не ударили, то ход переходит к другому axios.get('/allbattle/round')... по завершению таймера. Ни каждый запрос на сервер берет данные с базы.
Запросы на сервер от клиента идут по очереди с задержкой
if (response.data.next === true && this.next == 3) {
this.next = 4
setTimeout(() => {
this.getOpponent()
}, 450)
}
Если пришёл ответ от axios.get('/allbattle/round')... то через пол секунды запрашиваем информацию по оппоненту, далее в оппоненте смотрим, пришёл ли ответ и запускаем атаку ботов и так по кругу.
________
посл. ред. 13.07.2021 в 18:35; всего 1 раз(а); by gisen