Особенности ISAVEPERCENT

После того, как мне за неделю раз пять задали вопрос об особенностях ISAVEPERCENT, и какие будут последствия у разных значений, я понял, что надо как-то привести все это дело в единую систему ;)

Итак, частично обсуждение есть здесь. Если лень идти по ссылке, процитирую определение ISAVEPERCENT из документации:

Определяет количество неиспользуемого дискового пространства, допустимого в файле чертежа . Переменная принимает значения в диапазоне от 0 до 100. Значение 50 (по умолчанию) означает, что неиспользуемое пространство внутри файла не должно превышать 50% от размера всего файла. Неиспользуемое пространство периодически сокращается при полных сохранениях. Как только программа обнаруживает, что оно превысило 50%, следующее сохранение делается полным, а счетчик неиспользуемого пространства сбрасывается в 0.
Если ISAVEPERCENT=0, производятся только полные сохранения чертежа.
Тип: целый
Сохранен в: реестр
Начальное значение: 50

Если я верно понимаю технологию работы, то ситуация такова: допустим, ISAVEPERCENT = 50 и при этом значении открывается файл объемом (ну, для ровного счета - 200 кб). Каждое действие, которое выполняется над файлом, "занимает" некоторое место: добавили отрезок - сколько-то байт, удалили отрезок - еще сколько-то байт и т.д. Так вот, пока объем внесенных изменений не превысит 100 кб, автосохранение как бы отключено. Как только объем изменений превысил те самые 100 кб, начинается отсчет времени (ISAVETIME). Допустим, это время равно 20 минутам. Отлично, автоматическое сохранение выполнено, файл стал весить 400 кб (ну да, очень активно работали).

Теперь объем файла, повторюсь - 400 кб. Мы продолжаем работать, вносить изменения... Время на отсчет автосохранения станет отсчитываться только тогда, когда объем новых изменений (с момента последнего автоматического или принудительного сохранения) превысит 50% от 400 кб (!). Т.е. это уже 200 кб изменений.

При этом, если ISAVEPERCENT поставить равной 0, то для запуска таймера автосохранения достаточно просто отзуммировать чертеж: объем внесенных изменений явно не нулевой, и явно превышает установленное значение ISAVEPERCENT.

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

P.S. А.Ривилис несколько раз говорил о том, что ISAVEPERCENT можно установить и в 100, и эффект от этого будет такой же, как и для 0. Но я этого не проверял, все время ставлю в 0.

Размещено в AutoCAD, Новости · Метки:



Комментарии

Есть 3 коммент. к “Особенности ISAVEPERCENT”
  1. Владимир пишет:

    Здравствуйте, Алексей!
    Мне кажется вы не совсем правильно поняли смысл работы этой переменной.

    Опять же из документации: "В режиме пошагового сохранения изменений обновляются только те фрагменты уже сохраненного файла чертежа, которые были изменены.
    При использовании режима сохранения изменений файлы чертежей содержат определенный процент неиспользуемого дискового пространства. Этот процент увеличивается с каждым сохранением, пока не достигнет установленного максимума, после чего производится полное сохранение.
    Для уменьшения размера файлов чертежей рекомендуется производить полное сохранение (переменной ISAVEPERCENT должно быть присвоено значение 0) перед передачей или архивацией файлов."

    И, тоже из документации: "Процент для быстрых сохранений
    Максимально допустимый объем устаревшей информации, хранимой в файле чертежа, при быстрых (пошаговых) сохранениях его изменений. При этом часть устаревшей информации удаляется из файла чертежа. При последовательном сохранении скорость процесса выше, но при этом увеличивается размер чертежа.
    (системная переменная ISAVEPERCENT)
    При установке в данном поле значения 0 каждое пошаговое сохранение будет выполняться в объеме полного сохранения. Для оптимизации производительности следует установить значение 50. При недостатке места на диске значение следует снизить до 25. Установка значения 20 или ниже значительно снижает производительность при выполнении команд СОХРАНИТЬ и СОХРАНИТЬ КАК.".

    Т.е. мне кажется при значении ISAVEPERCENT=0 при автосохранении будет всегда выполнятся полное сохранение. А если ISAVEPERCENT>0, то сохранение и автосохранение будет частичным (т.е. сохранение только измененных объектов) до тех пор, пока размер накопленных изменений не превысит установленный размер и не займет все неиспользуемое пространство в чертеже. Когда превысит, тогда будет произведено полное сохранение. Т.е. при работе с насыщенными чертежами ISAVEPERCENT=0 приведет к более долгому сохранению и автосохранению, т.к. каждый раз будет выполняться полное, с перезаписью всех объектов.

    Возможно я не прав, запутанное объяснение в документации по этой переменной).

  2. Кулик Алексей aka kpblc пишет:

    Ну, есть выбор : либо поставить в 0 (или 100) и терпеть длительное сохранение, но при этом иметь возможность в любой момент восстановить файл, либо оставить "рекомендуемые" значения и потом мучаться с восстановлением чертежей.
    P.S. Кстати, isavepercent = 0 - еще один повод держать чертежи в чистоте :)

  3. Владимир пишет:

    Ну да, тут получается больше в зависимости от ситуации. "Правильного" решения нет)

Поделитесь своим мнением


Я не робот.