Все о фотобанках и микростоках, купить и продать фото, работа для фотографа и иллюстратора


Ответ Правила нашего форума>
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.11.2011, 23:58   #81
Старожил
 
Аватар для Phantom
 
Регистрация: 29.08.2011
Сообщения: 631
Репутация: 1117
Оставлено благодарностей: 39
Получено благодарностей: 1,139
По умолчанию Re: Inkscape наше все!

Что делать с тормозами в инкскейп.....
Короткое вступление ( или корень проблемы).
Я уже упоминал о том, что основной проблемой медлительности программы при работе с иллюстрацией насыщенной объектами является (рендеринг) попросту говоря отрисовка (по крайней мере так обстоят дела на сегодняшний момент). Много хорошего в этом плане обещают в версии 0,49 (которая напомню выйдет этой зимой (хотя точная дата неизвестна))
а судя по отчетам разработчиков портирование на CAIRO уже законченно и остальное будет сделано в ближайшее время. Короче ждемс....
…... А пока …..
Часть 1. «Слои»
Ну про слои то мы знаем...Воскликнет добрая половина читателей. Знаете? Боюсь что не все.
По крайней мере это касается инкскейпа. Немного теории. В инкскейпе нет слоев. Их нет в том привычном виде, точнее сказать в той реализации как в других программах. Дело вот в чем, программа использует в качестве рабочего файла SVG. И структура svg не содержит слоев как таковых. Так как же тогда программа позволяет работать со слоями..? Все достаточно просто SVG позволяет делать группы , а «хитрец» инкскейп их просто по своему «метит» (и соответственно обрабатывает как слои). Какое это отношение имеет к нашему вопросу будет рассказано ниже.....
Учитывая этот факт я организовал работу следующим образам....
Сейчас попробую объяснить на абстрактном примере. Допустим нам нужно создать иллюстрацию на которой будет изображено следующее. Окружение в виде фона состоящего из неба, леса, домика. И человека соответственно в это все вписанного. По логике вещей нам нужно всего два слоя в данной иллюстрации, а именно фон и человек. Так и поступим создав два как бы корневых (или основных) слоя. Создавая новые слои в программе можно обратить внимание на строку положение. В ней помимо выбора над слоем и под слоем присутствует позиция внутри (внутри слоя). Вот она как раз нас и интересует. То есть слой может быть встроен в другой слой. Так можно встраивать не один слои, а столько сколько угодно. Таким образом можно скажем человека разделить на голову туловище и одежду (имеется ввиду субслои (слой в слое). Если изображение человека крупное и насыщено деталями то субслоев может быть намного больше (глаза, волосы и т.*д.). Вообщем этот вопрос остается полностью на усмотрение создающего иллюстрацию. Субслои подчиняются корневому слою (в который встроены но так же могут управляться и самостоятельно. По мимо того что создание иллюстрации упрощается за счет удобства в работе слои можно двигать между собой (меняя Z-порядок) отключать,блокировать это позволит контролировать производительность. Еще немного теории. Во время рендера инкскейп действует следующим образом он сканирует все объекты находящиеся на поверхности холста (в активном состоянии), а потом выбирает те которые нужно отобразить на экране (соответственно чем больше объектов тем дольше происходит этот процесс.). Скажем рисуя глаза нам же совершенно не нужно отображение ботинок на экране в это время (да мы их вообще не можем увидеть так как масштаб сосредоточен на лице, то мы просто отключаем ненужные слои. Таким образом сокращается время обработки и повышается отклик программы. А что же потом делать с этим многоСЛОЙНЫМ «пирогом» невольно возникает вопрос. Ответ очень прост ничего!. Я не зря упоминал структуру SVG в начале этой части. Когда закончена работа над иллюстрацией. Сохраняем ее в SVG и открываем иллюстратор для экспорта в EPS. Обратившись в последнем ко вкладке слоев мы увидим что структура документа не изменилась утратились только названия слоев. Дальше делаем следующее создаем два слоя (относительно примера приведенного выше) и перетаскиваем те основные два слоя созданные в икскейпе прямо в новые созданные слои «иллюстратора» (слой SVG и соответственно все что в нем осталось удаляем) закрываем вкладку слои, сохраняем в EPS. Снова открываем только что созданный EPS, открываем вкладку слои и видим...... Два слоя созданных в «иллюстраторе» и все... Все слои инкскейпа превратились в обычные группы. То есть был у нас субслой голова стала группа содержащая объекты которые входили в данный слой.

Подведя итог можно сказать следующее. Создание многослойного документа в инкскейп более чем оправданно. Организовав работу выше описанным способом мы (догоняем и ловим сразу нескольких зайцев) получаем сразу ряд плюсов.
1.Документом легко управлять во время создания иллюстрации (под ногами не чего не мешается).
2.Можно контролировать падение производительности при увеличении количества объектов
3.Для удобства мы можем присваивать «фривольные названия» нашим слоям-группам.
4.Привидение документа согласно нашей концепции ( в вид удобный конечному пользователю) не составляет ни какого труда, а если сказать больше файл будет нести более четкую структуру. (вы ни когда не забудете сгруппировать объекты по их смысловому содержанию).
5. Имеем повод лишний раз убедиться как недостатки легко перевести в достоинства если быть внимательным к деталям.....
Часть.2 «По мелочам»
Есть еще ряд моментов которые в той или иной мере позволяют обойти проблему производительности.
1. Отключаем следящую отрисовку редактирования узлов (настройки-узлы-обновлять контуры при перемещении узлов). При редактировании узлов будем теперь видеть абрис как в «иллюстраторе», а только в конце фигура-контур будет обновляться.
2. Стараемся не выходить за 300-500 узлов в контуре который будем интенсивно править. Программа по всей видимости обрабатывает контур целиком чем больше он содержит узлов тем медлительней процесс.
3. Можно воспользоваться опцией «дублировать окно». Один документ будет открыт в разных окнах икскейпа. Там может быть задан разный масштаб, открыты разные панели с инструментами. Иногда очень удобно работать над рисунком (переключение cnrl-Tab (искать в меню «вид»)
4. Иногда я обрабатываю куски иллюстрации или сложные контура в отдельном окне (документе). Понятно что скорость обработки в почти пустом документе высокая. Пришел к такому методу я совсем по другой причине. Просто не хотел тратить время на очистку рабочего документа от мусора. Который иногда в больших количествах появляется в следствии некоторых операций над контурами. Вычещать потом рисунок от векторных обрезков мне совсем не хотелось (ибо иногда очень хлопотно), то я и стал использовать подобный метод работе. Команда «Вставить на место» позволяет обменивать данные между документами последствием буфера с высокой точностью. Поэтому можно забирать контура из рисунка,править, и вставлять на тоже место (абсолютно «чистыми»). Так иногда и работаю перебрасывая между документами куски иллюстраций собирая в один «чистовой» рисунок потом все это хозяйство....
При данной методике бывает полезна опция сделать растровую копию (меню правка, alt-B). Выделив нужные объекты выполняем данную команду, и получаем поверх рисунка растровый кусок с данными контурами который можно перебросить в другой документ и рисовать поверх него в векторе. Потом его удалить а векторный рисунок вернуть обратно в основную иллюстрацию на тоже место.
Выше описанная организация работы позволяет мне почти не чувствовать медлительность программы при создании сложных иллюстраций. Так же к плюсам можно отнести порядок который данный метод позволяет поддерживать во время рисования, что в целом сказывается и на скорости и на качестве (потерянные контура под массой объектов, случайные точки и ненужные векторные «огрызки» и т.д.)
Приятной работы....
Phantom вне форума   Ответить с цитированием
За это сообщение сказали спасибо:
arerdobesmert (02.04.2013), larser (07.11.2011)
Старый 07.11.2011, 07:49   #82
Старожил
 
Аватар для larser
 
Регистрация: 18.02.2011
Адрес: Украина
Сообщения: 678
Репутация: 181
Оставлено благодарностей: 308
Получено благодарностей: 171
По умолчанию Re: Inkscape наше все!

Ай спасибо!.. Конечно, тут нужно будет посидеть поломать и снова собрать на место свою голову. Будем пробовать. Хотя один вопрос все же есть: данная методика понятна, когда иллюстрация состоит из множества отдельных объектов. И тогда и правда можно обмануть рендер. Но если объект состоит из множества узлов (ну например--текстура металлической пластины, где по всей поверхности набиты отверстия. То есть сама пластина--как минимум 4 узла, каждое отверстие в ней--еще как минимум 4. А отверстий-то может быть пару сотен. Вот и получается конкретный тормоз программы на этом объекте. Если попробовать его перетащить по экрану, то бывает даже трудно сдвинуть мышкой. Вот...

и если не будет трудно--еще просветите про смену клавиатурных сокращений. Переставил все на новый комп--мучаююююсь!))))))

Последний раз редактировалось larser, 07.11.2011 в 08:09.
larser вне форума   Ответить с цитированием
Старый 07.11.2011, 08:31   #83
Старожил
 
Аватар для larser
 
Регистрация: 18.02.2011
Адрес: Украина
Сообщения: 678
Репутация: 181
Оставлено благодарностей: 308
Получено благодарностей: 171
По умолчанию Re: Inkscape наше все!

Можно воспользоваться опцией «дублировать окно». Один документ будет открыт в разных окнах икскейпа. Команда именно дублировать окно или все же "повторить" окно? У меня так. дублировать нету.
Команда «Вставить на место» позволяет обменивать данные между документами последствием буфера с высокой точностью. Поэтому можно забирать контура из рисунка,править, и вставлять на тоже место
С этого места поподробнее плиз: если я скопирую в буфер объект, перенесу его в другой док, обработаю (типа буллеву операцию) как его снова вставить на то же место с помощью этой команды? это ж другой документ. Да и тот изначальный объект на том месте все же останется. (ну его-то можно убить без проблем)
larser вне форума   Ответить с цитированием
Старый 07.11.2011, 15:28   #84
Старожил
 
Аватар для Phantom
 
Регистрация: 29.08.2011
Сообщения: 631
Репутация: 1117
Оставлено благодарностей: 39
Получено благодарностей: 1,139
По умолчанию Re: Inkscape наше все!

Количество объектов, ровно как и их составляющая зависит напрямую от вас. Я понимаю что пластина в отверстиях, но это совсем не означает что нужно издырявить контур (ну или издырявить его в самом конце когда уже не надо будет сильно править). Можно просто наложить на него сгруппированных кругов. То есть действовать по обстоятельствам. Все мной написанное в посте про производительность не слепое руководство к действию. Поступать нужно из принципа разумности. Я по разному использую данные методы в зависимости от задач. Иногда тот,иногда другой, а иногда все вместе.
Настройки кнопок по этому пути.(Inkscape/share/keys/default.xml). Перед правкой файла default.xml не забудьте продублировать его в надежное место( а то вдруг что не так пойдет)....
Цитата:
Сообщение от larser
Можно воспользоваться опцией «дублировать окно». Один документ будет открыт в разных окнах икскейпа. Команда именно дублировать окно или все же "повторить" окно? У меня так. дублировать нету.
Команда «Вставить на место» позволяет обменивать данные между документами последствием буфера с высокой точностью. Поэтому можно забирать контура из рисунка,править, и вставлять на тоже место
С этого места поподробнее плиз: если я скопирую в буфер объект, перенесу его в другой док, обработаю (типа буллеву операцию) как его снова вставить на то же место с помощью этой команды? это ж другой документ. Да и тот изначальный объект на том месте все же останется. (ну его-то можно убить без проблем)
Да larser, так точно, повторить------моя «опечатка».....
Если объект скопировать он останется в документе в буфер попадет его копия(если вырезать-отправиться в буфер сам). Вставить в новый документ этой командой и обратно так же (соответственно откуда брали). Все как бы просто....
Phantom вне форума   Ответить с цитированием
Старый 07.11.2011, 20:00   #85
Новичок
 
Аватар для VladimirZ
 
Регистрация: 02.09.2011
Сообщения: 191
Репутация: 40
Оставлено благодарностей: 45
Получено благодарностей: 36
По умолчанию Re: Inkscape наше все!

А меня не столько тормоза беспокоят сколько возникающие ошибки. В чем может быть дело? У меня программ стоит много и ни одна так не глючит. Вот пытаюсь расширения посмотреть и неизменно выдает ошибку С++:
VladimirZ вне форума   Ответить с цитированием
Старый 07.11.2011, 23:30   #86
Старожил
 
Аватар для Phantom
 
Регистрация: 29.08.2011
Сообщения: 631
Репутация: 1117
Оставлено благодарностей: 39
Получено благодарностей: 1,139
По умолчанию Re: Inkscape наше все!

Расширения инкскейпа работают вне его. Он передает данные из программы, а потом их получает обратно в готовом виде. Посмотрите в процессах не подвис ли там Python. Бывает такое иногда при работе с расширениями на сложных объектах.
Phantom вне форума   Ответить с цитированием
Старый 08.11.2011, 00:44   #87
Старожил
 
Аватар для larser
 
Регистрация: 18.02.2011
Адрес: Украина
Сообщения: 678
Репутация: 181
Оставлено благодарностей: 308
Получено благодарностей: 171
По умолчанию Re: Inkscape наше все!

Уважаемый Phantom, а можно пошагово для тех, кто на бронепоезде?)))
Вставить в новый документ этой командой и обратно так же (соответственно откуда брали). Все как бы просто....
что-то у меня все непросто... Если я создаю"окно повторить" у меня автоматом повторяются и объекты, которые я создаю в окне "1". Если я вырезаю из него часть файла, то она же вырезается и из второго. И главное: если я скопирую в буфер объект, потом его перемещу и обработаю, то он при команде "вставить на место" на место не идет...(( Вообще никуда не идет. Как быть? или что-то туплю я? за совет по клавиатуре отдельное человеческое спасибо!
larser вне форума   Ответить с цитированием
Старый 08.11.2011, 01:08   #88
Старожил
 
Аватар для Phantom
 
Регистрация: 29.08.2011
Сообщения: 631
Репутация: 1117
Оставлено благодарностей: 39
Получено благодарностей: 1,139
По умолчанию Re: Inkscape наше все!

Повторить окно-это один и тотже документ отрытый в разных окнах инкскейпа. Его суть в том что там могут быть открыты разные инструменты, разный масштаб рисунка (вы например правите какой то кусок потом переключились на другое окно а там рисунок в целом видите.....все сразу меняется в обоих документах).Или например в одном включен режим каркас в другом полный цвет. Открыты разные панели. В одном панель цветов например в другом трансформация или ни чего если узлы правите-двигаете......
А для переброски через буфер контура или целой кучи создаем новый пустой документ (или открываем какой то ваш шаблон где вы храните свои полезные «штуки» (заготовки там разные ну и т.*д.)......
Phantom вне форума   Ответить с цитированием
За это сообщение сказал спасибо:
larser (08.11.2011)
Старый 08.11.2011, 01:20   #89
Старожил
 
Аватар для larser
 
Регистрация: 18.02.2011
Адрес: Украина
Сообщения: 678
Репутация: 181
Оставлено благодарностей: 308
Получено благодарностей: 171
По умолчанию Re: Inkscape наше все!

Спасибо, стало чуть понятнее. но все же хотелось бы разжевать Вашу фразу
Поэтому можно забирать контура из рисунка,править, и вставлять на тоже место. Поле правки взятого контура он уже не вставляется на то же место. Или это у меня уже глюк? Или просто портабельная версия что-то не фурычит?
larser вне форума   Ответить с цитированием
Старый 08.11.2011, 01:38   #90
Старожил
 
Аватар для Phantom
 
Регистрация: 29.08.2011
Сообщения: 631
Репутация: 1117
Оставлено благодарностей: 39
Получено благодарностей: 1,139
По умолчанию Re: Inkscape наше все!

Цитата:
Сообщение от larser
Спасибо, стало чуть понятнее. но все же хотелось бы разжевать Вашу фразу
Поэтому можно забирать контура из рисунка,править, и вставлять на тоже место. Поле правки взятого контура он уже не вставляется на то же место. Или это у меня уже глюк? Или просто портабельная версия что-то не фурычит?
Наверно дело в «деталях». Давайте по порядку. Берем из рисунка контур или несколько. Выделяем их и копируем или вырезаем в буфер (если вырежем они из рисунка исчезнут). Создаем новый документ (пустой). Дальше («правка»- «вставить на место») они появляются в новом документе на том же самом месте (относительно координат), что и в старом. Теперь над ними работаем. Перетаскивать их конечно не надо, если вы хотите вернуть их туда же. Когда закончили правку выделяем нужные помещаем опять в буфер, переключаемся в документ с рисунком, делаем опять («правка»- «вставить на место») и они появляются на том же самом месте откуда их забрали (только видоизмененные )....
Теперь понятно......
Phantom вне форума   Ответить с цитированием
За это сообщение сказал спасибо:
larser (08.11.2011)
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Inkscape и незакрытые пути Tim V. Иллюстрации для фотобанков 14 26.07.2020 14:21
Обсуждаем Inkscape Sergey999 Иллюстрации для фотобанков 49 22.08.2017 12:17
Все о HDR Microstock.ru Обработка изображений 44 31.10.2013 16:33
Стоит ли грузить все картинки на все стоки или лучше выборочно? SONY Другие вопросы 38 19.01.2010 14:57
Inkscape выдает ошибку при открытии файла Japa Иллюстрации для фотобанков 0 24.07.2008 22:36


Часовой пояс GMT +4, время: 02:32.


©2006-2010 Microstock.ru   Powered by vBulletin® Copyright ©2000-2008, Jelsoft Enterprises Ltd.   Перевод: zCarot