Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Выделение памяти и уборка мусора

Читайте также:
  1. А17. Какие из перечисленных устройств относятся к внешней памяти?
  2. Алгоритмы расчета физических величин по показаниям датчиков Линейное энерговыделение
  3. Анализ входной информации предметной области и выделение информационных объектов
  4. В общем, принцип Вы поняли. Конечно, таская в себе кучу мусора долгие годы, трудно в одночасье от всего этого избавиться. Работайте над собой, и все получится.
  5. ВИДЫ ПАМЯТИ И ИХ ОСОБЕННОСТИ
  6. ВОСКРЕШЕНИЕ В ПАМЯТИ
  7. Выделение азотистых продуктов, концентрационная способность почек, ее регуляция.

Для нормальной работы MAXScript, ему выделяется некоторый участок памяти. Величина этого участка может быть определена в диалоге Preference Settings, который вызывается из меню Customize пунктом Preferences. На этом диалоге есть закладка MAXScript, в которой вы можете изменить значение Initial heap allocation (MBytes), то есть изначально выделенная память (в Мегабайтах). Можно увеличить (но не уменьшить) память и по ходу выполнения программы. Для этого увеличивается значение переменной heapSize, например, так:

heapSize=heapSize+2000

что увеличит доступную память аж на две тысячи байт. Хотя MAXScript поддерживает операцию увеличения, поэтому более грамотно написать то же самое можно так:

heapSize += 2000

В процессе работы объекты то создаются, то уничтожаются, то вновь создаются. В отличие от некоторых других языков программирования, в MAXScript Вам не придется следить за тем, чтобы память, использованная уничтоженным объектом, вновь возвращалась в строй. Если же у Вас есть подозрение, что MAXScript не справляется с обязанностями по уборке мусора, вызовите функцию gc(). Кстати, она возвращает количество свободных байт памяти, имеющихся в распоряжении MAXScript. Однако для информационных целей лучше использовать переменную heapFree, так как если на момент вызова в памяти имеется много мелких переменных, то gc() может работать до нескольких секунд. Кстати, попробовав несколько раз вывести значение heapFree, вы можете получить все время разные значения. Отчего это происходит, лучше спросить у фирмы discreet. Видимо в 3ds max постоянно кипят какие-то невидимые простым глазом процессы.

 

Имена переменных

Имена переменных в MAXScript подчиняются обычным для языков программирования правилам. Имя должно начинаться с буквы, но может содержать цифры. Символ подчеркивания “_” считается буквой, прочие символы не допускаются. Длина имени не ограничена.

MAXScript нечувствителен к регистру символа. Иными словами имена

RotationX

rotationx

ROTATIONX

принадлежат одной и той же переменной

Кроме того, в MAXScript имеется специальный тип данных – имя. Он представляет собой имя переменной, которой предшествует знак #. Используется этот тип данных главным образом для того, чтобы передать имя переменной какой-нибудь стандартной функции. Например, уже знакомая нам функция persistents.remove требует, чтобы ей передавали как раз имена переменных

persistent global a

persistents.remove #a

Убрав знак # из приведенного скрипта, Вы получите ошибку.

Если Вам все же очень хочется использовать в имени переменной пробелы и знаки пунктуации, то это можно сделать, окружив имя одинарными кавычками. Например:

‘Rotation X’=12

‘Translation (Z)’=48.5

При этом знак подчеркивания в обычном имени эквивалентен символу пробела в имени, окруженном кавычками, то есть имена

Scale_X

‘Scale X’

принадлежат одной и той же переменной.

 

Литералы

Литералы, или иными словами константы, записанные в тексте программы, могут использоваться, например, для присвоения начальных значений переменным. Поскольку переменные могут содержать данные разных типов, то разных типов могут быть и литералы.

 


Дата добавления: 2015-10-31; просмотров: 123 | Нарушение авторских прав


Читайте в этой же книге: С чего начать | Литералы массивов | Выражения сравнения | Блоковые выражения | Контекстные выражения | Каскадирование префиксов | Операторы цикла do и while | Создание функций, локальных внутри структуры | Символьные строки | Логические (Булевы) значения |
<== предыдущая страница | следующая страница ==>
Области видимости| Литералы имен объектов

mybiblioteka.su - 2015-2024 год. (0.006 сек.)