Выбрать главу
Работа с хранилищем

Хотя полный урок по работе с Subversion выходит за рамки этой книги, вероятно, будет полезным набросать схему рабочего процесса для проекта Блендера, в котором скриптовые компоненты пишутся через систему контроля версий.

Важно понимать, что сам проект Блендера не должен находиться под управлением системы контроля версий. Мы можем организовать наш проект Блендера любым способом, который имеет смысл, и расположить каталог scripts в его пределах, он и будет находиться под управлением системы контроля версиями.

Скажем, что мы создали хранилище для скриптов на сетевом устройстве хранения, и создали каталог проекта Блендера на нашей локальной машине. Для того, чтобы перевести наши скрипты под управление версиями, мы должны выполнить следующие шаги:

1. Подтвердить (Check out) хранилище скриптов внутри нашего каталога проекта Блендера (это называется рабочая копия хранилища).

2. Создать скрипт в нашем .blend файле во встроенном редакторе.

3. Сохранить этот скрипт в рабочую копию.

4. Каждый раз, когда мы что-то изменяем, мы нажимаем Ctrl + Alt + C, чтобы отправить наши изменения.

5. Каждый раз, когда мы начинаем работать с нашим скриптом снова, мы нажимаем сначала Ctrl + Alt + U, чтобы сразу увидеть, не изменил ли кто-нибудь еще что-нибудь.

Обратите внимание, что ничто не мешает включить все активы, такие как текстуры или .blend файлы, чтобы они выступали в роли библиотек под контролем версий, но нам понадобится использовать отдельный клиент для фиксации изменений. Это будет интересным упражнением, создать несколько скриптов, которые отправляют или обновляют все файлы в текущем каталоге Блендера.

The need for speed (жажда скорости) — использование Psyco

Питон является интерпретируемым языком: все инструкции в скрипте интерпретируются и выполняются снова и снова, когда они встречаются. Это может звучать неэффективным, но для разработчиков программ преимущество возможности быстро разработать и протестировать программу может перевесить недостаток медленного выполнения программы. И интерпретация может быть неэффективной но, это не идентично тому, что она всегда медленная. Питон является очень высокоуровневым языком, в котором единственный языковой элемент может быть эквивалентом множества низкоуровневых инструкций. Кроме того, с учетом современного аппаратного обеспечения,  даже медленный скрипт может закончить работу быстрее, чем пользователь ожидает результат.

Тем не менее, существуют ситуации, где любое увеличение скорости весьма приветствуется. Из всех примеров, которые мы видели в этой книге, Pynodes, вероятно, наиболее интенсивные в вычислительном отношении, так как инструкции выполняются над каждым видимым пикселем в текстуре или шейдере, и часто даже много больше времени уходит на пиксель, если принять во внимание oversampling. Экономия нескольких миллисекунд от скрипта, который тратит меньше секунды на выполнение, не даст слишком многого, но экономия 20% времени рендера составит существенную экономию времени при рендере 500 кадров.

Ввод Psyco: Psyco - расширение Питона, которое пытается ускорять выполнение скрипта, компилируя часто используемые части скрипта в машинные инструкции, и сохраняя их для многократного использования. Этот процесс часто называется компиляция-на-лету (just-in-time compilation, JIT), и она родственна JIT-компиляторам на других языках, таких как Java. (Они аналогичны по концепции, но совершенно отличаются в реализации из-за того, что в Питоне динамическая типизация. Это никак не затрагивает разработчиков скриптов на Питоне.)  Важно то, что Psyco может быть использовано в любом скрипте без каких-либо изменений в коде, за исключением добавления нескольких строк.

Psyco доступен как бинарный пакет для Windows, и может быть скомпилирован из исходных кодов на других платформах. Полные инструкции доступны на вебсайте Psyco: http://psyco.sourceforge.net/.

Проверьте, что Вы устанавливаете версию, которая подходит вашей версии Питона, поскольку, хотя сайт указывает, что версия, скомпилированная для Питона 2.5 должна работать также для 2.6, она все еще может потерпеть неудачу, поэтому лучше использовать версию, специально скомпилированную для 2.6.

На сайте http://psyco.sourceforge.net/ я не смог найти бинарной версии Psyco для Питона 2.6 под Windows (в Линуксе-то его легко самостоятельно скомпилировать). Но Гугл помог — такая версия обнаружилась   здесь: http://www.voidspace.org.uk/python/modules.shtml#psyco.   Вполне рабочая. Ввиду фактического умирания проекта Psyco (в википедии написано, что его преемником является PyPy – странная штука «Питон-на-Питоне», в данный момент не слишком работоспособная), сомневаюсь, что он когда-нибудь заработает для 3-го Питона, и, соответственно, для новых версий Блендера. - прим. пер.