Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
После того как в игре через команду я создаю 3Д текст который обновляется и обьект - все эти вещи я делаю на стримере от Инкогнито.Не пойму сервер начинает лагать,3Д текст у меня обновляется в паблике
OtherTimer,,но этот таймер обновляется каждые
1000 мсек.
Что можно сделать?
Re: Идёт большая нагрузка на сервер. -
Stepashka - 27.10.2011
Сделай таймер не так часто.
Re: Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
Но раньше всё хорошо было.
Вот поэкспериментировал я чуть,узнал что изза обновления
OtherTimer'a лагает.
А если сделать новый таймер?
Re: Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
Степаш,вот сделал новый таймер вроде не лагает.
Но не идёт ли дополнительная нагрузка на сервер изза этого таймера?
add: Ух ты,таймер я ставил на
5000 мсек - всё было хорошо.
Поставил на
1000 мсек - стало не лагать,а просто загрузка дольше идёт.
Тоесть я появился и через примерно четыре сек все обьекты появляются.
Re: Идёт большая нагрузка на сервер. -
DANGER1979 - 27.10.2011
мне ни когда не нравился стример от инкогнито.
Слишком он навороченный и объекты загружаются в зависимости от кучи условий по разному.
Но тоже добавляя что то, привело к кучи лагов и объекты перед самым носом стали появляться.
Я забил на этот стример.
Сделай свой стример, если очень надо и ты будет всегда знать по какой алгоритму он подгружает объекты или иконки или 3дтексты.
Re: Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
Свой стример,это что-то новенькое)
Если бы умел сделал бы,а так пользуюсь этим...
Re: Идёт большая нагрузка на сервер. -
Jon_De - 27.10.2011
OtherTimer это из ГФ кажется? Если да, то там слишком много говна, советую удалить все таймеры и переписать по новой, другого выхода не вижу, слишком там засрано
Re: Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
Создал вот новый таймер специально для этого.
Лагает всё равно,просто в этом таймере поставил чтобы обновлялся каждые 5000 мсек,так лаги идут теперь реже потому-что обнова в 5000 мсек,а там же в 1000 мсек и были по хуже.
Вот код кстате.
PHP Code:
for(new o = 0; o < sizeof(PlantInfo); o++)
{
if(PlantInfo[o][plantPlanted] == 1)
{
if(PlantInfo[o][plantProg] > 100.0)
{
PlantInfo[o][plantProg] = 100.0;
format(string, sizeof(string),"%f% \nКуст созрел!",PlantInfo[o][plantProg]);
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREEN, string);
PlantInfo[o][plantPlanted] = 2;
SavePlants();
}
else
{
PlantInfo[o][plantProg] += 0.1;
format(string, sizeof(string),"%f%",PlantInfo[o][plantProg]);
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREEN, string);
SavePlants();
}
}
}
Re: Идёт большая нагрузка на сервер. -
White_116 - 27.10.2011
SavePlants();- возможно сохранение идёт долго а если ещё и на дини .....
Вот так попробуй
PHP Code:
for(new o = 0; o < sizeof(PlantInfo); o++)
{
if(PlantInfo[o][plantPlanted] == 1)
{
if(PlantInfo[o][plantProg] > 100.0)
{
PlantInfo[o][plantProg] = 100.0;
format(string, sizeof(string),"%f% \nКуст созрел!",PlantInfo[o][plantProg]);
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREEN, string);
PlantInfo[o][plantPlanted] = 2;
}
else
{
PlantInfo[o][plantProg] += 0.1;
format(string, sizeof(string),"%f%",PlantInfo[o][plantProg]);
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREEN, string);
}
}
}
SavePlants();
Re: Идёт большая нагрузка на сервер. -
Mutha_X - 27.10.2011
Можно обойтись в моде вообще одним таймером(у меня 2 ради независимости одного от другого):
Берешь 1 таймер, допустим на 250 мс, делаешь колбеки: посекундные,поминутные, почасовые и тд если надо.
Второй таймер(поток) для всех стримеров.
Вообще написать свой стример легко, сложное лишь в его оптимизации.
// ps: лучше
sizeof(чо-то там) не юзать внутри цикла, а сразу 1 раз узнать размер массива и записать его в отдельную переменную.
pawn Code:
for(new o = 0,f=sizeof(PlantInfo); o != f ; o++)
{
if(PlantInfo[o][plantPlanted] == 1)
{
if(PlantInfo[o][plantProg] > 100.0)
{
PlantInfo[o][plantProg] = 100.0;
format(string, sizeof(string),"%f% \nКуст созрел!",PlantInfo[o][plantProg]);
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREEN, string);
PlantInfo[o][plantPlanted] = 2;
}
else
{
PlantInfo[o][plantProg] += 0.1;
format(string, sizeof(string),"%f%",PlantInfo[o][plantProg]);
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREEN, string);
}
}
}
SavePlants();
Re: Идёт большая нагрузка на сервер. -
White_116 - 27.10.2011
Quote:
Вообще написать свой стример легко, сложное лишь в его оптимизации.
|
Есть разные методы и в каждой из них есть гвоздь!
Re: Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
Quote:
Originally Posted by White_116
SavePlants();- возможно сохранение идёт долго а если ещё и на дини .....
Вот так попробуй
PHP Code:
for(new o = 0; o < sizeof(PlantInfo); o++)
{
if(PlantInfo[o][plantPlanted] == 1)
{
if(PlantInfo[o][plantProg] > 100.0)
{
PlantInfo[o][plantProg] = 100.0;
format(string, sizeof(string),"%f% \nКуст созрел!",PlantInfo[o][plantProg]);
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREEN, string);
PlantInfo[o][plantPlanted] = 2;
}
else
{
PlantInfo[o][plantProg] += 0.1;
format(string, sizeof(string),"%f%",PlantInfo[o][plantProg]);
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREEN, string);
}
}
}
SavePlants();
|
Вроде кстате не лагает,спасибо)
Сейчас ещё потестирую.
Re: Идёт большая нагрузка на сервер. -
valych - 27.10.2011
Dima_Tkach, я полагаю, что нагрузка идет из-за постоянного вызова паблика SavePlants(); и видимо он делает какое-то сохранение)
Вообщем можешь сделать как написано выше, или не делай вызов SavePlants() по таймеру, а только при каких-то изменений данных, т.е. когда команду используешь и когда происходит изменение параметра, вот тогда и вызывай этот паблик)
Re: Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
Сейчас попробую твою версию)
Кстате,ту потестировал,что писали выше,ничего не изменилось.
Re: Идёт большая нагрузка на сервер. -
valych - 27.10.2011
хмм... ну должно хотяб на немного уменьшиться. А мб проблема не из-за этого?
Re: Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
Хм,а изза чего?
Сейчас вроде всё хорошо.
Продолжаю тестить.
Re: Идёт большая нагрузка на сервер. -
Dima_Tkach - 27.10.2011
Это решили вроде)
Всем спасибо за ответы.
Тема закрыта!