Сообщение отредактировал Werdna: 22 October 2015 - 0:51
Донат На хостинг |
ISK за переводы до 75kk за 1000зн. |
Хроники EVE Сборник |
Новичкам Полезная информация |
Сообщение отредактировал Werdna: 22 October 2015 - 0:51
Я что-то не совсем понимаю. Если они хотят перенести расчеты (но не убрать их) на отдельный сервер, то этот сервер должен быть достаточно мощным чтобы расчитывать скиллы для всей евы.
Откуда они возьмут такого монстра?
WAR IS PEACE. FREEDOM IS SLAVERY. FRIENDSHIP IS MAGIC. PINKIE PIE IS WATCHING YOU FOREVER!
То есть статы шипов и модулей в гриде до этого вычислялись по новой из скилов и флит бонусов каждый кадр на ноде. Найс кодинг, ццп.
Нет, при каждой смене сессии, индивидуально.
Пример: ты решил покрабить, андокаешься, сервер при андоке расчитал все твои параметры (и только твои). Далее в систему залетает ганг из 10 человек - сервер обсчитывает только этих 10 человек.
Ну, по крайней мере именно это и следует из текста.
Сообщение отредактировал err0r: 22 October 2015 - 0:43
WAR IS PEACE. FREEDOM IS SLAVERY. FRIENDSHIP IS MAGIC. PINKIE PIE IS WATCHING YOU FOREVER!
Я что-то не совсем понимаю. Если они хотят перенести расчеты (но не убрать их) на отдельный сервер, то этот сервер должен быть достаточно мощным чтобы расчитывать скиллы для всей евы.
Откуда они возьмут такого монстра?
они же вроде в очередной раз меняют железо, оставят старый сервак и скинут все расчёты на него
На еве-ру нет места лжи, ненависти и некачественному постингу - надеюсь, это ты запомнишь.
Это частный ресурс, тут нет никакой справедливости, несмотря на то, что про неё тут много пишут, тут предвзятое модерирование, тут всем плевать на правила, если есть какой-то интерес или профит. Бороться за правду на этом форуме не имеет смысла.
Что бы определить уровень навыка берутся сп, берётся множитель и вычисляется уровень. Хотя казалось бы: делаем на сервере таблицу со скилами персонажа и их лвлами, по накоплению сп на следующий уровень навыка просто однократно записываем новое значение в таблицу. При андоке\пропрыге\фите запрашиваем из таблицы значение без дополнительных вычеслений
Во истину изначально еву писали какие то индусы.
Сообщение отредактировал Alex Lenin: 22 October 2015 - 0:45
Как я понял из минимума информации, речь идет о специальной ноде, которая будет без перерыва только и делать, что считать навыки.
то есть вся перечисленное в девблоге - чушь? То, как ты описал процесс, делает BiaB ненужным.
а как ты думаешь, навык и, скажем, чемодан - это одно и то же или разные вещи?
Это не девблог, кстати, это просто интересный рассказ про Еву.
Ну не все так очевидно. Навык может доучиться и по ходу боя. И корректно учитываться. А если тебе от скуки захочется его переключить?
А вот представь, что бывает, когда ФК дает команду флоту в 200 рыл подогреть, к примеру, пушки? Придется пересчитать абсолютно все модули на всех кораблях флота с учётом всех навыков пилотов этих кораблей.
А вот представь, что бывает, когда ФК дает команду флоту в 200 рыл подогреть, к примеру, пушки? Придется пересчитать абсолютно все модули на всех кораблях флота с учётом всех навыков пилотов этих кораблей.
То есть включение-выключение перегрева вызывает пересчёт абсолютно всего, а не просто добавляет\убирает в\из формулы множитель скажем 0,15 (бонусный роф от перегрева)? Всё намного хуже чем я себе представлял. Теперь понятно как в тд умудряются сжигать чемоданы.
А вот представь, что бывает, когда ФК дает команду флоту в 200 рыл подогреть, к примеру, пушки? Придется пересчитать абсолютно все модули на всех кораблях флота с учётом всех навыков пилотов этих кораблей.
Нечего там пересчитывать. Тупо следующий роф увеличивается на 17.6...%
Я воняю к тому, что пересчёт скилов на отдельной ноде в момент захода тел в систему не повысит производительность во флотовом бою.
Сообщение отредактировал Treant: 22 October 2015 - 0:59
То есть включение-выключение перегрева вызывает пересчёт абсолютно всего, а не просто добавляет\убирает в\из формулы множитель скажем 0,15 (бонусный роф от перегрева)? Всё намного хуже чем я себе представлял. Теперь понятно как в тд умудряются сжигать чемоданы.
Нет. Пересчёт всего вызывает таймер смены сессии, если это не докачавшийся скилл (кто-то пробовал выпрыгнуть из корабля при толькочто вкачанном скилле?).
Мозг в коробке - пересчёт параметров только при их изменении, иначе - берём из БД заранее посчитанные данные.
В обоих утверждениях могу ошибаться.
Русские - мирный народ. Нам нужен мир, желательно весь.
В мире победившего капитализма всего два всадника апокалипсиса - Глупость и Жадность. Остальных оптимизировали.
Нечего там пересчитывать. Тупо следующий роф увеличивается на 17.6...%
Как быстро будет греться рэк, как быстро будут гореть модули? Каков шанс что сгорит, скажем, работающий нейтрик в хайслоте рядом с гретыми пушками, думаешь это от скиллов и от шипа не зависит, можно просто роф увеличить и все, больше ничего обсчитывать не надо? Тебе надо идти к панцеру и крекеру в команду, втроем вы наверняка за пару месяцев еву 2.0 запилите, которая не тормозит.
Илита еверу, статистика врать не может!
При разговоре со мной учитывайте, что я не просто какой-то бич, а самый настоящий ЦЕО клайм альянса.
Как быстро будет греться рэк, как быстро будут гореть модули? Каков шанс что сгорит, скажем, работающий нейтрик в хайслоте рядом с гретыми пушками, думаешь это от скиллов и от шипа не зависит, можно просто роф увеличить и все, больше ничего обсчитывать не надо? Тебе надо идти к панцеру и крекеру в команду, втроем вы наверняка за пару месяцев еву 2.0 запилите, которая не тормозит.
Угу, причем ведь от навыка термодинамики ничего не зависит, от навыков на Т3 тоже.
Я просто не понимаю, как могла упасть производительность ракет?
Ситуация простая, мы имеем выделенный сервер для расчета скилов и сервер игровой механики. При смене сессии, мы берем актуальные значения не скилов, а характеристик - дронов 5, контрол ренж 84км и т.д.
Если не произошло изменения состояния (бонусник во флоте, доучился скил и прочее) мы тупо берем кэшированные значения из кэша сервера игровой механики.
Каким макаром производительность будет падать?
у меня стаж игры с 2009 года я летал почти на всем что есть в еве, включая титаны на тесте.
Хм, странно это как-то все. Скилы завершаются не так часто. Не проще ли после завершения скила запускать событие, которое пересчитывает все эффекты персонажа и записывает их в определенную таблицу. И при андоке не считать заново это все, а взять уже готовые данные. И быстрее, и нагрузка минимальная.В статикдампе есть таблица эффектов и аттрибутов, где перечислено все, что дает юнит. если сесть и хорошо подумать, все вычисления вообще можно оставить на стороне MSSQL в хранимой процедуре, которая вытащит из новой таблицы уже посчитанных эффектов все данные, посчитает по формулам все бонусы корабля, применит их и вернет готовый объект.
Хм, странно это как-то все. Скилы завершаются не так часто. Не проще ли после завершения скила запускать событие, которое пересчитывает все эффекты персонажа и записывает их в определенную таблицу. И при андоке не считать заново это все, а взять уже готовые данные. И быстрее, и нагрузка минимальная.В статикдампе есть таблица эффектов и аттрибутов, где перечислено все, что дает юнит. если сесть и хорошо подумать, все вычисления вообще можно оставить на стороне MSSQL в хранимой процедуре, которая вытащит из новой таблицы уже посчитанных эффектов все данные, посчитает по формулам все бонусы корабля, применит их и вернет готовый объект.
Все именно так, только не нужно вешать логику на MS Sql, а то видел я в Unicreditе Хранимки на 10 страниц, которые проверяли правильность заполнения формы на клиенте
Делается очень просто. Нода, на которой сейчас висит персонаж, обладает банально кэшем аттрибутов - Вася_DronesControlRange 84000. БО Вася подписан на события - смена сессии, прокачка скила, бонусы. При получении событий, мы заново опрашиваем сервер скилов и получаем новые характеристики.
Более того, если не было бонусов, а мы перешли в новую систему в рамках ноды, то можно вообще не пересчитывать скилы.
у меня стаж игры с 2009 года я летал почти на всем что есть в еве, включая титаны на тесте.
Складывается ощущещение, что когда писали код руководствовались приципом "не храни лишнего"Хм, странно это как-то все. Скилы завершаются не так часто. Не проще ли после завершения скила запускать событие, которое пересчитывает все эффекты персонажа и записывает их в определенную таблицу. И при андоке не считать заново это все, а взять уже готовые данные. И быстрее, и нагрузка минимальная.В статикдампе есть таблица эффектов и аттрибутов, где перечислено все, что дает юнит. если сесть и хорошо подумать, все вычисления вообще можно оставить на стороне MSSQL в хранимой процедуре, которая вытащит из новой таблицы уже посчитанных эффектов все данные, посчитает по формулам все бонусы корабля, применит их и вернет готовый объект.
Не сожалей о том что было, не думай о том что могло быть.
Складывается ощущещение, что когда писали код руководствовались приципом "не храни лишнего"
В принципе это имеет право на жизнь, так как
1) бд и все ее индексы занимают меньше места
2) ситуация рассинхрона данных невозможна (грубо говоря не может произойти ситуации когда sp начислились, а скилл остался неизученным)
Но как и за все, за эти плюсы пришлось платить недостатками - избыточностью вычислений.
Причем тут БД и ее индексы, я не понял к скилам? Логично, что хранятся только базовые аттрибуты, все расчетные/производные считаются рантайм. А что касается индексов, то твой инвентарь занимает куда как больше места в БД, чем та сотня характеристик чара.
у меня стаж игры с 2009 года я летал почти на всем что есть в еве, включая титаны на тесте.
0 members, 0 guests, 0 anonymous users