XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
TmaRT

offline
Опыт: 1,360
Активность:
Локальные Переменые
Чисто за своего любопытства ведь если функция чета принимает (пример снизу) то там создаются локальный переменные вот это и мне не дает покоя надо их обнулять или нет если нет то почему?

Код:
function TexTags takes player owner,string order,unit u,unit u2,unit u3,location point returns nothing 
endfunction
Старый 14.07.2008, 11:39
J
expert
offline
Опыт: 48,447
Активность:
нет, потомучто они не создают утечек Oo
Старый 14.07.2008, 11:50
Toadcop

offline
Опыт: 54,313
Активность:
TmaRT входящие параметры скажем "чистятьса сами". вот локальные переменые типа хендла надо. (ну те которые динамически создаютьса)
Старый 14.07.2008, 13:08
TmaRT

offline
Опыт: 1,360
Активность:
Toadcop,Jon Ура! хоть теперь одной головною болью меньше), спасибо что объяснили.

Отредактировано TmaRT, 14.07.2008 в 15:13.
Старый 14.07.2008, 14:51
Radiant
Silence
offline
Опыт: 4,907
Активность:
А меня вот тоже мучал вопрос, почему ВЕ не обнуливает сам локалки, ведь поток прекратился, какой смысл ему их держать...
Старый 14.07.2008, 14:58
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
почему ВЕ не обнуливает сам локалки


хз, возможгно просто недаработка (мб для возможности вэйтов)

либо они используют общий алгоритм присвоения переменной хендл значения
Старый 28.07.2008, 14:07
Radiant
Silence
offline
Опыт: 4,907
Активность:
Тогда какого, близзы их не обнуливают... oO
Старый 28.07.2008, 19:24
S

offline
Опыт: 43,833
Активность:
Цитата:
Тогда какого, близзы их не обнуливают... oO

я почти всегда все локалки обнуляю Оо на всякий случай, вдруг что xD

то что близзы не обнуляют - их проблемы
Старый 28.07.2008, 19:29
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Тогда какого, близзы их не обнуливают... oO

у них в их сценариях все работает и вполне прилично
Цитата:
я почти всегда все локалки обнуляю Оо на всякий случай, вдруг что xD

маладец
Старый 29.07.2008, 21:39
ScorpioT1000
Работаем
offline
Опыт: отключен
Radiant азерот гранд прикс смотрел?

ScorpioT1000 добавил:
Код:
function Move takes integer nPlayerIndex returns nothing
    local location loc = null
    local real rSpeed = 0
    local real scale = 0

    if ( nPlayerIndex < 0 ) then
        return
    endif

    set rSpeed = RealSpeed( udg_Speed[nPlayerIndex] )
    set loc = PolarProjectionBJ( udg_CartPrePos[nPlayerIndex], rSpeed, udg_Angle[nPlayerIndex])

    if ( IsValidLocForVehicle( loc ) ) then
        call SetUnitPositionLoc( udg_Carts[nPlayerIndex], loc )
    else
        call StopCart( nPlayerIndex )
    endif
    call RemoveLocation( loc )

    call SetUnitFacingTimed( udg_Carts[nPlayerIndex], udg_Angle[nPlayerIndex], 0.05 )

    //Check whether the cart are near enough to an item
    if ( udg_TickSlow == 0 ) then
        call CheckItemPick( nPlayerIndex )
    endif

    if ( rSpeed > 0 ) then
        if ( udg_PlayerBlazeFlag[nPlayerIndex] > 0 ) then
            call DoBlaze( nPlayerIndex )
        endif
    endif
endfunction

Локации точно удаляют
Старый 30.07.2008, 03:08
Dragon27

offline
Опыт: 6,779
Активность:
Ну объекты-то удалять надо, они в любом случае остаются (это как работа с указателями), а вот переменные типа integer, real и прочие?
Старый 30.07.2008, 03:30
ScorpioT1000
Работаем
offline
Опыт: отключен
Не видел ни одного обнуления, хоть и периодик, хоть и длится игра долго - никаких лагов
Старый 30.07.2008, 05:00
Toadcop

offline
Опыт: 54,313
Активность:
ScorpioT1000 лагов и не будет... будет тока после хрен знает скока времени когда виндовс начнёт насиловать файл подкачки и подобная фигня...

на самом делел смысл обнуления заключаетьса в том что бы держать определёный диапазон индексов (хендлов) а не что бы они постояно росли и росли... ну тк всё наченаетьса с 1048576 (0x100000) то до 2ух млрд. еще очень далеко =) если достичь 2 млрд мне кажетьса будет фатал =) или хрен знает... хотя перед этим закончитьса оперативная память на компе =)
Старый 30.07.2008, 12:26
adic3x

offline
Опыт: 108,439
Активность:
ну и смысл абузить озу мусором?
Старый 30.07.2008, 20:28
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
хотя перед этим закончитьса оперативная память на компе =)

Либо вар не допустит либо винда. В Г3 стопудово были утечки, но это не приводило к зависанию винды
Старый 30.07.2008, 23:40
Закрытая тема

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

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

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 21:09.