сколько памяти занято ARX-иной

Автор Тема: сколько памяти занято ARX-иной  (Прочитано 5331 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Николай ГорловАвтор темы

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
кто-нибудь пытался получить информацию о том, сколько оперативки откусывает arx-файл?
для автокада в целом получить использование памяти можно. GetProcessMemoryInfo и всё становится понятно :).
Но интересует не автокад в целом а один из его HMODULE (грубо говоря, конкретная arx-ина). Всё, что у меня получилось вытянуть для HMODULE - это фактический размер arx-файла в байтах через функцию GetModuleInformation, который не меняется на протяжении всей сессии автокада. А хочется получить реальную картину использования оперативки во время работы этой самой arx-ины :) .

PS:Понимаю, что к ObjectARX это отношения не имеет, но все же :)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: сколько памяти занято ARX-иной
« Ответ #1 : 31-01-2018, 17:26:19 »
После того, как arx-файл загружен внутрь AutoCAD, он является его неделимой частью. Получить сколько памяти съедает конкретный arx-файл принципиально нельзя. Это тоже самое, что определить сколько съедала конкретная dll-ка, которая может обращаться к памяти напрямую, а может через другую dll-ку или через exe-файл.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Николай ГорловАвтор темы

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: сколько памяти занято ARX-иной
« Ответ #2 : 31-01-2018, 18:23:07 »
После того, как arx-файл загружен внутрь AutoCAD, он является его неделимой частью. Получить сколько памяти съедает конкретный arx-файл принципиально нельзя.
а вот эти ребята утверждают другое

проверил на своей arx. внутри, если проще выразиться - массив экземпляров класса. посмотрел циферки начальные, наполнил массив. циферки увеличелись для конкретно моей arx. освободил память - циферки уменьшились.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: сколько памяти занято ARX-иной
« Ответ #3 : 31-01-2018, 18:25:33 »
Скажем так это не совсем то (или совсем не то), что тебе нужно. Впрочем если это тебя устраивает, то и ладно...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Николай ГорловАвтор темы

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: сколько памяти занято ARX-иной
« Ответ #4 : 31-01-2018, 18:44:34 »
:) та я пока и сам не знаю - устроит или нет. Просто заметил, что циферки меняются в обе стороны. Завтра буду эксперименты ставить над этой программкой :)

Оффлайн Николай ГорловАвтор темы

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: сколько памяти занято ARX-иной
« Ответ #5 : 01-02-2018, 11:44:04 »
хм... а вот и пришло завтра. провел ряд экспериментов. увы, не подходит, т.к. в 90% случаев автокадовский расход оперативки меняется, а цифры в строке именно моей arx-ины остаются на месте :(.
еще нашел ссылку на то, что с этим можно справиться через CRT функции, но, учитывая то, что и автокад (скорей всего) и arx-ины собраны с опцией многопоточности (/MD), то они делят одну кучу памяти. а значит, нужно будет отделять мух от котлет ручками...
так что будем считать, что никак нельзя :) , не настолько это для меня сейчас важно.

Оффлайн Debalance

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Re: сколько памяти занято ARX-иной
« Ответ #6 : 01-02-2018, 15:59:34 »
кто-нибудь пытался получить информацию о том, сколько оперативки откусывает arx-файл?
А каково практическое применение решения данной задачи? В приближенных отладочных целях достаточно (казалось бы) иметь инфу для acad.exe...

Оффлайн Николай ГорловАвтор темы

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: сколько памяти занято ARX-иной
« Ответ #7 : 01-02-2018, 16:55:00 »
А каково практическое применение решения данной задачи? В приближенных отладочных целях достаточно (казалось бы) иметь инфу для acad.exe...
пользователи :). некоторые рассказывают сказки, что мол иногда, после того как на автокад сверху поставили нашу программу, атокад начинает медленней работать (угу, особенно если на компе надоразложенный пасьянс, играет музыка, открыто штук 15 вордовских документов, и человек в это время просто обводит в автокаде растровое изображение опупительного размера :) обычными автокадовскими полилиниями, вообще не пользуясь функционалом нашей программы).

сделали команды по выгрузке/загрузке всей программы. ну, нажал кнопку - выгрузились arx-ины и меню. загрузилось временное меню с одной единственной командой "загрузить программу". ну и наоборот. автокад от этого естественно шустрей работать не начинает :), но то уже не наши проблемы :). ну и подумал, что в целях, так сказать, получения реальной картины (вдруг действительно где-то чего-то недочистили) было б неплохо, чтоб пользователи при каких-то тормозах не просто на пальцах объясняли что где-то что-то подтормаживает после трех часов работы, а присылали скриншотик с потреблением оперативки нашими arx-инами. чтоб хоть было понятно, откуда ноги растут.

а по поводу инфы от acad.exe... если загрузить автокад, проверить его потребление оперативки, потом открыть штук надцать больших чертежей с растровыми вложениями, например. а потом все файлы позакрывать, то циферки потребления оперативки даже не приблизятся к тем, что были при открытии сессии.

Оффлайн Debalance

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Re: сколько памяти занято ARX-иной
« Ответ #8 : 01-02-2018, 20:33:47 »
...то циферки потребления оперативки даже не приблизятся к тем, что были при открытии сессии.
Мне это тоже казалось странным... Утечки? Сырость продукта?

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: сколько памяти занято ARX-иной
« Ответ #9 : 02-02-2018, 06:54:56 »
Цитировать
вообще не пользуясь функционалом нашей программы
может обработчик какой висит

Оффлайн Николай ГорловАвтор темы

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: сколько памяти занято ARX-иной
« Ответ #10 : 02-02-2018, 11:16:21 »
может обработчик какой висит
ну, рекаторы то конечно есть, но они никак не влияют на работу в с базовыми функциями акада. в основном человеческий фактор. например, "мне полтора года до пенсии, зачем мне что-то новое изучать. скажу что всё плохо и буду работать на калькуляторе как и 30 лет уже работаю". а потом всё проходит. человек понимает, что на пенсии скучно будет сидеть (это если его эти полтора года еще будут терпеть, особенно когда весь остальной отдел доволен работой программы) :), проходит обучение (ну или обученные коллеги подсказывают) и теперь уже калькулятор пылится в ящике стола, и программа странным образом перестала тормозить :):):).
Извините, вам запрещён просмотр содержимого спойлеров.

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: сколько памяти занято ARX-иной
« Ответ #11 : 02-02-2018, 11:22:52 »
если у вы обрабатываете событие, а человек:
Цитировать
в это время просто обводит в автокаде растровое изображение опупительного размера :) обычными автокадовскими полилиниями
то для него програма реально могла замедлется в два раза - например клик обрабатывается 30мс а не 15, как раньше

Оффлайн Debalance

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Re: сколько памяти занято ARX-иной
« Ответ #12 : 02-02-2018, 11:39:22 »
Напечатал заявление от имени того чудика на имя директора их предприятия...
Довольно-таки жёсткий "административный рычаг" был применен...

Оффлайн Николай ГорловАвтор темы

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: сколько памяти занято ARX-иной
« Ответ #13 : 02-02-2018, 11:42:05 »
для него програма реально могла замедлется в два раза
для этого ДОЛЖНА БЫТЬ обработка ТАКОГО события нашей программой. а этого нет. есть обработка на начало команды, есть обработка на редактирование НАШИХ объектов (грубо говоря в псевдо 3D рисуются "тунели". ну и обработка примыканий начинается после окончания редактирования НАШЕГО объекта), есть inputPointMonitor (внутрь заходит ТОЛЬКО если нет активной команды а человечек подводит курсор к объекту).

но есть разница между рисованием в пустом чертеже линии и рисованием той же самой линии, если в качестве подложки используются JPEG-и (штуки 3-4, и все они включены как ни странно :) ), полученные со сканера A0 c разрешением 600dpi :)