Как увеличить размер стека для ObjectArx приложения?

Автор Тема: Как увеличить размер стека для ObjectArx приложения?  (Прочитано 15968 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
У меня объекты имеют внутри себя строки, которые тоже требуют динамического выделения памяти, так что объекты не имеют фиксированной длины.
Они не имеют фиксированной длины, но наверняка можно наложить какие-то ограничения (например, 1024 байт на строку) и тогда не выделять под неё память отдельно. Это увеличит объём используемой памяти, но почти наверняка увеличит быстродействие.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн BatonАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 66
  • Карма: 3
Александр Ривилис,
Для строк я использую классы CString и AcString. Может в них дело. Сами они занимают мало места и занимают фиксированный объем. Но память под строку выделяют и удаляют, видимо, автоматически. С ними, конечно, удобно работать со строками. Часть членов классов у меня AcString, так как в некоторых случаях удобны для работы с функциями ObjectARX. Далее есть работа с AcDbDictionary, которые привязаны к объектам Автокада. Там надо получать список resbuf, под который тоже требуется динамическое выделение памяти. Так что процесс выделения памяти не такой очевидный, как при простых объектах, фиксированной длины. Будет над чем поломать голову.

Оффлайн BatonАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 66
  • Карма: 3
При замерах времени работы программы есть одна интересная особенность - Автокад 2013 работает стабильно быстрее при всех одинаковых условиях, чем Автокады 2018-2020 примерно процентов на 30-40.