Форум » » [АНОНС] Aml Pages 9.15 Beta build 2082 » Ответить

[АНОНС] Aml Pages 9.15 Beta build 2082

Carc: Выпущена новая версия записной книжки Aml Pages 9.15 Beta сборка 2082 Скачать / Download Русская версия с программой установки: amlpages_ru.zip Русская портабельная версия: amlpages_ru_pe.zip Список изменений см. здесь: http://www.amlpages.com/Rus/history.htm English Version: amlpages_en.zip German Version: amlpages_de.zip Change log see here: http://www.amlpages.com/whatnews.txt 2Evan: Пофиксена бага с утечкой памяти при редактировании липкого листочка с форматированным текстом. PS: кстати бага вообще очень и очень, можно даже сказать весьма знатная. Она должна была проявляться далеко не только при сохранении липкого листка, а и вообще при сохранении форматированного текста. Т.к. бага вкралась в один из базовых сервисов редактора текста в Aml Pages, который используется налево и направо где только не попадя... Так что можно сказать ентот баг фикс просто эпохальный. Просто в ситуации с липким листочком бага проявляла себя максимально интенсивно, и была наиболее заметна (в прочих местах ее влияние было в разы меньше) Огромное спасибо тебе за репорт!

Ответов - 14

evan: Вот теперь другое дело! Когда заговорил о сохранении, сразу вспомнил свои последние репорты по сохранению На счёт генерации комбинацией клавиш (Ctrl+S), что не хорошее это дело генерация, генерить системную функцию - в электронике это не прощается, думаю и в программировании вылезет. Полез проверять и точно, при удержании долго (Ctrl+S) - ресурс аукает (уходит) - проверяй? - В версии 2080 была исправлена прорисовка кастомных кнопок в заголовке липкого листочка при потере фокуса, если не используется прозрачность; * ещё осталась если листочек открываем из трея и делаем клик в поле листочка (вообще кажется это штука появилось, когда обновил в заголовке листочка иконки кнопок. - С рисунками сейчас уже сосем другой табак. Есть вопрос, теоритически можно, нет реализовать такой алгоритм: Рисунки хранить в файле apd, раздельно от документа - при запуске файла apd запускается сам документ, а рисунки подгружаются только, для отображения в открытой странице Редактора текста. как только страницу закрыли рисунки удаляются (из временной памяти) , но в документе apd остаются (типа рисунок прописан в коде ссылки, если страница открывается и открывает рисунок по ссылке, если закрывается, закрывает рисунок При такой схеме тогда можно Гектары рисунков хранить и открывать в Амл и ресурсу будет пофиг.

Carc: evan пишет: Полез проверять и точно, при удержании долго (Ctrl+S) - ресурс аукает (уходит) - проверяй? Попробовал бесконечно сохранять один и тот же, причем весьма неслабого размера документ - размер файла подкачки стоит как вкопанный. evan пишет: - В версии 2080 была исправлена прорисовка кастомных кнопок в заголовке липкого листочка при потере фокуса, если не используется прозрачность; * ещё осталась если листочек открываем из трея и делаем клик в поле листочка Угу - точно! Действительно так. Исправлю. Спасибо за репорт! evan пишет: - С рисунками сейчас уже сосем другой табак. Есть вопрос, теоритически можно, нет реализовать такой алгоритм: Рисунки хранить в файле apd, раздельно от документа - при запуске файла apd запускается сам документ, а рисунки подгружаются только, для отображения в открытой странице Редактора текста. как только страницу закрыли рисунки удаляются (из временной памяти) , но в документе apd остаются (типа рисунок прописан в коде ссылки, если страница открывается и открывает рисунок по ссылке, если закрывается, закрывает рисунок При такой схеме тогда можно Гектары рисунков хранить и открывать в Амл и ресурсу будет пофиг. Вообще-то это совсем несложно! Только очень запросто тогда случается так: документ скопировали (отправили по сети), а рисунки забыли. На другой машине открываем документ, а рисунков то и нету йоптыть, и главное ни черта с этой ситуацией и в принципе сделать нельзя. В остальном это технически не слишком то сложно - отчасти это и сейчас сделано, но немного в другом виде (меню "Вставка\Объект").

evan: Carc пишет: Вообще-то это совсем несложно! Только очень запросто тогда случается так: документ скопировали (отправили по сети), а рисунки забыли. На другой машине открываем документ, а рисунков то и нету Вот только стоило одно слово пропустить в тексте и тебя совсем по другому понимают (я это слово пропустил расчитывая на твою творческую фантазию) - Вообщем я имел ввиду рисунки и файл документа, который мы сейчас имеем хранить в единном, повторяю в Одном файле apd - только он будет состоять из двух подфайлов: 1. под Файл apd, который мы сейчас имеем 2. под Файл apd, чисто одни рисунки (может уже сразу конвертированы в код apd, для быстрого их вызова) При запуске общего нового Единного(с двумя подфайлами) файла apd, вначале ясенно запускается основной файл 1, а потом когда открывается страница в которой есть рисунок то подгружается этот рисунок из файла 2. Если же Carc пишет: На другой машине открываем документ, а рисунков то и нету йоптыть, Carc пишет: и главное ни черта с этой ситуацией и в принципе сделать нельзя. и всё ОК! если сохранять два подфайла в одном файле apd!


Carc: Что то я вконец перестал понимать, что это такое 2 "подфайла" и файл? Или файл есть, и он един или нет, какие такие еще подфайлы? Давай подробнее, с примерами и названиями.

evan: Carc пишет: Что то я вконец перестал понимать, что это такое 2 "подфайла" и файл? Или файл есть, и он един или нет, какие такие еще подфайлы? Давай подробнее, с примерами и названиями. Попробую объясниться по другому ( я ж не программист и не знамо Ваших терминов) 1. Основная мысль - разделить загрузку файла документа от загрузки рисунков, а как это практически выполнить, можно изобретать по разному например: прицепить папку с рисунками к файлу документа, а чтобы не было доступа к папке рисунков из вне пользователям, закрыть её в одну оболочку с файлом документа например apd - то есть видоизменяем новый формат файла apd с учётом наших требований.

Carc: evan пишет: Попробую объясниться по другому ( я ж не программист и не знамо Ваших терминов) 1. Основная мысль - разделить загрузку файла документа от загрузки рисунков, а как это практически выполнить, можно изобретать по разному например: прицепить папку с рисунками к файлу документа, а чтобы не было доступа к папке рисунков из вне пользователям, закрыть её в одну оболочку с файлом документа например apd - то есть видоизменяем новый формат файла apd с учётом наших требований. Ну а как по твоему сейчас рисунки в apd-файле хранятся!?! Именно так они и хранятся и никак иначе. Все внутри apd-файла, а уж как и откуда их извлекать это исключительно забота Aml Pages (ну или того же плагина для просмотра - Aml View).

evan: Carc пишет: Ну а как по твоему сейчас рисунки в apd-файле хранятся!?! Именно так они и хранятся и никак иначе. Все внутри apd-файла, а уж как и откуда их извлекать это исключительно забота Aml Pages (ну или того же плагина для просмотра - Aml View). Но вот пародокс, они ведь загружаются все разом и все сидят, в памяти (как правельнее наверно кэша(озу) и жрут дофига места, а предлагался вариант загружать только, когда открыт редактор, и только того рисунка, который есть в странице редактора, и после переключения на другую страницу удалять рисунок из кэша

Carc: evan пишет: Но вот пародокс, они ведь загружаются все разом и все сидят, в памяти (как правельнее наверно кэша(озу) и жрут дофига места, А по твоему где они будут тогда сидеть после загрузки текста в редактор текста? Где бы они не хранились между сеансами работы они по любому будут в ОЗУ во время работы с конкретным текстом. evan пишет: а предлагался вариант загружать только, когда открыт редактор, и только того рисунка, который есть в странице редактора, и после переключения на другую страницу удалять рисунок из кэша Но Aml Pages изначально была документо-ориентированнной софтиной, а соответственно подрузумевается что все таки документ полностью открывается в память. Можно конечно немного помедитировать на тему более эффективного управления памятью, но подобная кастомизация штука не столь простая.

evan: Зачем мучить память, нужна чистая логика управления, чтобы не зависело от того сколько на диске в папке рисунков-хоть гектар. А рисунок подгружать, только когда открыта страница в редакторе(ссылкой), и при выходе страницы из редактора, закрывать рисунок в памяти Другой вопрос, как прицепить эту папку к файлу, чтобы было как единое целое, вот здесь и надо подумать. а). Может эту папку одеть в оболочку, какую то, чтоб из вне не было доступа как к обычной папке б). Может сразу преобразовать в только рисунки формата файла apd и хранить подобно папке Windows, но закрытых подобной оболочке файла apd - причём к ним доступ из открытого файла документа должен тоже быть по ссылкам(подобно как к обычным папкам Windows - И ещё какие ни будь варианты, думаю основную логику мысли уловил.

Carc: evan пишет: Зачем мучить память, нужна чистая логика управления, чтобы не зависело от того сколько на диске в папке рисунков-хоть гектар. А рисунок подгружать, только когда открыта страница в редакторе(ссылкой), и при выходе страницы из редактора, закрывать рисунок в памяти Другой вопрос, как прицепить эту папку к файлу, чтобы было как единое целое, вот здесь и надо подумать. а). Может эту папку одеть в оболочку, какую то, чтоб из вне не было доступа как к обычной папке б). Может сразу преобразовать в только рисунки формата файла apd и хранить подобно папке Windows, но закрытых подобной оболочке файла apd - причём к ним доступ из открытого файла документа должен тоже быть по ссылкам(подобно как к обычным папкам Windows - И ещё какие ни будь варианты, думаю основную логику мысли уловил. Все просто: или данные в файле и они в памяти, или данные вне файла и рано или поздно они будут потяряны. Неважно насколько красив код, если он не работает. Код может быть даже просто шедевром, но если нет данных для обработки, он бесполезен. От этого никуда не деться, если не вводить поддержку дополнительных форматов вроде все в одном ZIP-файле. Анекдот в тему: Жили были мыши. Жилось им плохо, все их в лесу обижали, били, и всячески издевались. Надоело им это и пошли они к сове, и говорят: сова, сова, ты мудрая как нам сделать так чтобы нас не обижали? Сова и отвечает: мыши, а вы станьте ежиками - они колючие их никто не трогает. Мыши обрадовались и побежали домой. Прибежали, сидят голову ломают, а как нам ежиками то стать!?! Пошли обратно к сове: сова, сова, а как нам собсна ежиками-то стать!?! Сова: вы тут ко мне с деталями не лезьте - я тут стратегией занимаюсь.

evan: Carc пишет: Попробовал бесконечно сохранять один и тот же, причем весьма неслабого размера документ - размер файла подкачки стоит как вкопанный. А обратил при этом на сколько процентов загружен ЦП(центральный процессор) Ох и задал ты мне задачку! Вообщем получается так, чем меньше размер документа, тем более активнее растёт файл подкачки - до какого то определённого значения На мой взгляд, всё объясняется очень просто. 1. Первым делом всё зависит от тактовой частоты выполнения команд в программе - чем больше тактовая частота тем быстрее растёт файл подкачки. В твоём случае документ цитирую: "весьма неслабого размера документ " при этом общая тактовая частота сохранения маленькая потому что пока документ не сохранится на диск (не завершит одиночную команду сохранения(Ctrl+S) - он чихал на все остальные тактовые команды (Ctrl+S) 2. А вот на новом документе размер которого маленький при удержании (Ctrl+S) - общая тактовая частота сохранения будет большая и она кок раз создаёт раскачку системы ЦП в результате которой и быстро растёт файл подкачки, и по мере роста файла подкачки уменьшается общая частота сохранения, и рост файла подкачки как бы останавливается на одном месте, хотя всё равно он постепенно растёт(более медленно) о чём говорит большая загрузка ЦП 3. Это думаю была общая проблема у разработчиков программ. И всё же основным злом считаю генерацию (Ctrl+S) - надо с ней работать 4.Для сравнения приведу пример опять догадываешься с кем. - в АМЛ процессор загружается до 73% и всё время стоит на одном уровне от нажатой (Ctrl+S) дальше не загонял при этом файл подкачки довольно быстро растёт с маленького документа примерно до уровня 500-600 мб - в другой программе при нажатой (Ctrl+S) процессор загружается кратковременно пиками до 25% при этом файл подкачки стоит как вкопанный.

Carc: 1. А по твоему ЦП вообще что ли не должен загружаться? Так не бывает! 2. Другие программы не в счет - причем тут сохранение в них!?! Aml Pages по ходу сохранения занимается массой вещей, начиная от чистки мусорных объектов и заканчивая сжатием документа на лету. Ты попробуй запустить WinRAR и сожми документ, и посмотри сколько он сожрет использования ЦП... 3. Использование Swap`а действительно растет, но только если включено сжатие документов при сохранении. Думаю, что знаю в чем там проблема, она по идее схожей должна быть, там тоже вовсю юзаются MMF. Поправлю в следующей сборке. evan пишет: И всё же основным злом считаю генерацию (Ctrl+S) - надо с ней работать Чем это она зло? Если это сочетание стандарт аж с хрен знает каких лохматых времен?

evan: Carc пишет: Чем это она зло? Если это сочетание стандарт аж с хрен знает каких лохматых времен? Если это стандарт, тогда получается, что с ним надо довольно аккуратно работать, особливо с теми объектами с которыми он взаимодействует. И по этой же части думаю, не плохо бы встроить диалог предупреждения на сохранение копий нового документа, я сам уже несколько раз накалывался. А будет диалог при сохранении копии, он тебя предупредит, что включена опция сохранения копий - и там уже твоё дело отключить этот диалог галкой, или оставить для предупреждения. А то заходишь в папку сохранения копий и глаза на лоб лезут. И бывает почему то иногда подставляются скрытые папки на диске С для сохранения копий.

Carc: evan пишет: Если это стандарт, тогда получается, что с ним надо довольно аккуратно работать, особливо с теми объектами с которыми он взаимодействует. С фигов ли!?! Ctrl+S нажали - что просили, то и сделали. Ну а если не нравится повторная генерация команды по удержанию клавиши: тут вариантов тоже много - или пользоваться меню, или мышом в панели инструментов, ну или уж отключить залипание клавы вообще в самой Windows. evan пишет: И по этой же части думаю, не плохо бы встроить диалог предупреждения на сохранение копий нового документа, я сам уже несколько раз накалывался. А будет диалог при сохранении копии, он тебя предупредит, что включена опция сохранения копий - и там уже твоё дело отключить этот диалог галкой, или оставить для предупреждения. А то заходишь в папку сохранения копий и глаза на лоб лезут. Ничего, ничего, ничего Пусть глаза на лоб лезут от числа резервных копий, вместо того чтобы узреть пустую папку резервных копий. Глаза на лоб потом от ценника полезут, когда тебе назовут число бакинских сколько отдать за восстановление информации с диска (а еще попросят отказник написать). На то они и резервные копии - запас карман не тянет. Тем более, что все эти ограничения на максимальное число копий в Aml Pages есть 100 лет в обед и наиподробнейшим образом описаны в справке. Пару-тройку десятков юзеров эти резервные копии уже спасали да причем еще как! evan пишет: И бывает почему то иногда подставляются скрытые папки на диске С для сохранения копий Ничего там не подставляется автоматически - что назначил то и будет. Мешает - отключи копии для нужных документов. Мешает для всех - отключи установку резервного копирования для всех новых документов.... Только это... Я предупредил - когда шандарахнет, будет уже поздно!



полная версия страницы