Идёт большая нагрузка на сервер.
#1

После того как в игре через команду я создаю 3Д текст который обновляется и обьект - все эти вещи я делаю на стримере от Инкогнито.Не пойму сервер начинает лагать,3Д текст у меня обновляется в паблике OtherTimer,,но этот таймер обновляется каждые 1000 мсек.
Что можно сделать?
Reply
#2

Сделай таймер не так часто.
Reply
#3

Но раньше всё хорошо было.
Вот поэкспериментировал я чуть,узнал что изза обновления OtherTimer'a лагает.
А если сделать новый таймер?
Reply
#4

Степаш,вот сделал новый таймер вроде не лагает.
Но не идёт ли дополнительная нагрузка на сервер изза этого таймера?
add: Ух ты,таймер я ставил на 5000 мсек - всё было хорошо.
Поставил на 1000 мсек - стало не лагать,а просто загрузка дольше идёт.
Тоесть я появился и через примерно четыре сек все обьекты появляются.
Reply
#5

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

Сделай свой стример, если очень надо и ты будет всегда знать по какой алгоритму он подгружает объекты или иконки или 3дтексты.
Reply
#6

Свой стример,это что-то новенькое)
Если бы умел сделал бы,а так пользуюсь этим...
Reply
#7

OtherTimer это из ГФ кажется? Если да, то там слишком много говна, советую удалить все таймеры и переписать по новой, другого выхода не вижу, слишком там засрано
Reply
#8

Создал вот новый таймер специально для этого.
Лагает всё равно,просто в этом таймере поставил чтобы обновлялся каждые 5000 мсек,так лаги идут теперь реже потому-что обнова в 5000 мсек,а там же в 1000 мсек и были по хуже.
Вот код кстате.

PHP Code:
     for(new 0sizeof(PlantInfo); o++)
    {
        if(
PlantInfo[o][plantPlanted] == 1)
        {
              if(
PlantInfo[o][plantProg] > 100.0)
              {
                  
PlantInfo[o][plantProg] = 100.0;
                
format(stringsizeof(string),"%f% \nКуст созрел!",PlantInfo[o][plantProg]);
                
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREENstring);
                
PlantInfo[o][plantPlanted] = 2;
                
SavePlants();
             }
             else
            {
                
PlantInfo[o][plantProg] += 0.1;
                
format(stringsizeof(string),"%f%",PlantInfo[o][plantProg]);
                
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREENstring);
                
SavePlants();
            }
          }
    } 
Reply
#9

SavePlants();- возможно сохранение идёт долго а если ещё и на дини .....
Вот так попробуй
PHP Code:
   for(new 0sizeof(PlantInfo); o++) 
    { 
        if(
PlantInfo[o][plantPlanted] == 1
        { 
              if(
PlantInfo[o][plantProg] > 100.0
              { 
                  
PlantInfo[o][plantProg] = 100.0
                
format(stringsizeof(string),"%f% \nКуст созрел!",PlantInfo[o][plantProg]); 
                
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREENstring); 
                
PlantInfo[o][plantPlanted] = 2
             } 
             else 
            { 
                
PlantInfo[o][plantProg] += 0.1
                
format(stringsizeof(string),"%f%",PlantInfo[o][plantProg]); 
                
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREENstring); 
    
            } 
          } 
    }
    
SavePlants(); 
Reply
#10

Можно обойтись в моде вообще одним таймером(у меня 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();
Reply
#11

Quote:

Вообще написать свой стример легко, сложное лишь в его оптимизации.

Есть разные методы и в каждой из них есть гвоздь!
Reply
#12

Quote:
Originally Posted by White_116
View Post
SavePlants();- возможно сохранение идёт долго а если ещё и на дини .....
Вот так попробуй
PHP Code:
   for(new 0sizeof(PlantInfo); o++) 
    { 
        if(
PlantInfo[o][plantPlanted] == 1
        { 
              if(
PlantInfo[o][plantProg] > 100.0
              { 
                  
PlantInfo[o][plantProg] = 100.0
                
format(stringsizeof(string),"%f% \nКуст созрел!",PlantInfo[o][plantProg]); 
                
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREENstring); 
                
PlantInfo[o][plantPlanted] = 2
             } 
             else 
            { 
                
PlantInfo[o][plantProg] += 0.1
                
format(stringsizeof(string),"%f%",PlantInfo[o][plantProg]); 
                
UpdateDynamic3DTextLabelText(PLANT[o], COLOR_GREENstring); 
    
            } 
          } 
    }
    
SavePlants(); 
Вроде кстате не лагает,спасибо)
Сейчас ещё потестирую.
Reply
#13

Dima_Tkach, я полагаю, что нагрузка идет из-за постоянного вызова паблика SavePlants(); и видимо он делает какое-то сохранение)
Вообщем можешь сделать как написано выше, или не делай вызов SavePlants() по таймеру, а только при каких-то изменений данных, т.е. когда команду используешь и когда происходит изменение параметра, вот тогда и вызывай этот паблик)
Reply
#14

Сейчас попробую твою версию)
Кстате,ту потестировал,что писали выше,ничего не изменилось.
Reply
#15

хмм... ну должно хотяб на немного уменьшиться. А мб проблема не из-за этого?
Reply
#16

Хм,а изза чего?
Сейчас вроде всё хорошо.
Продолжаю тестить.
Reply
#17

Это решили вроде)
Всем спасибо за ответы.

Тема закрыта!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)