This is topic Graph loop is big(t) in forum Редактор проекта TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/32/t/000359.html

Posted by Svasl (Участник № / Member № 4229) on :
 
Не нашел в документации описание ошибки. При выполнении проекта, точнее при открытии определенного окна в TM6_log.txt наблюдаю запись Graph loop is big(t). Если я правильно понимаю - ошибка связана с большим количеством графических объектов? Как, кроме уменьшить объем графики, что достаточно сложно из-за мнемосхемы, обойти это ограничение, разнесение по слоям избавит от этого? Правда окно отображается без проблем на текущий момент.
 
Posted by Max (Участник № / Member № 3678) on :
 
При разнесении на слои графические объекты всё равно будут обрабатываться, только в "фоне".
Тоже имеется такая проблема, пока не решили...Но, техподдержка говорит, что ошибка не критическая.
 
Posted by Svasl (Участник № / Member № 4229) on :
 
Да, не критическая пока, так как на отображении окна и на самом проекте ни как не отражается. Какое максимальное число графических объектов допустимо на одном экране?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Раздел справки Файл tm6_log.txt

T 0000 00000001[N3] Calc loop is big (T)
Время цикла CALC превышается в течение N3 с.

Тоже самое справедливо для цикла Graph
 
Posted by SATER (Участник № / Member № 1414) on :
 
Здравствуйте.
А при таком логе может отключиться МРВ ?
Может поставить тому экрану период вызова IDLE - или это здесь не при чем ?

quote:
00:01:13 0016 00000001[1250] Graph loop is big(t)
03:00:13 0016 00000001[1313] Graph loop is big(t)
03:56:46 0016 00000001[1125] Graph loop is big(t)
04:00:17 0016 00000001[1266] Graph loop is big(t)
07:17:33 0016 00000001[1172] Graph loop is big(t)
07:19:25 0016 00000001[1235] Graph loop is big(t)
07:32:56 0016 00000001[1266] Graph loop is big(t)
08:06:32 0016 00000001[1109] Graph loop is big(t)
08:20:21 0016 00000001[1328] Graph loop is big(t)


 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Такое сообщение говорит о перегрузке, как правило ресурсного характера.
Сама по себе эта ситуация может "подвесить" графику. При этом остальные функции МРВ могут осуществляться.
Но часто такие ситуации провоцируют серьезные перегрузки процессора, в результате которых МРВ может "упасть", не успев зафиксировать факт ресурсной перегрузки в протоколе.

Если Вы знаете, какой экран "вызывает" такие сообщения, то сначала надо было бы понять, почему он так себя ведет.
Снижение приоритета потока может несколько облегчить ситуацию, но не исключит ее.
 
Posted by SATER (Участник № / Member № 1414) on :
 
Скорее всего процессор таки перенагружается иногда и МРВ не записывает код ошибки, когда вылетает.
Запись в логе появляется при переходе на этот экран:
 -

и он грузится дольше, чем экраны попроще.
Может ли это быть из-за того, что Windows XP SP2, а не SP3? (.NET 3.5 есть)
ПК: Core2Duo E4500 2.2 GHz. 1 GB RAM. GeForce 8400 GS 512 MB

На ПК посильнее (и с SP3) этот экран загружается немного быстрее и ошибка в логе отсутствует
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
SP3 обязателен. Не только с точки зрения графики.
Адаптация к некоторым системным прослойкам учитывает именно SP3.

Экран надо разгружать.
Это особенно касается объемных элементов и анимаций (по возможности - минимизировать их количество).
Максимально использовать возможность убрать всю статичную графику в подложку (картинку).
По возможности исключить наложение динамизированных ГЭ друг на друга или на статический объемный ГЭ.
 
Posted by SATER (Участник № / Member № 1414) on :
 
Большое спасибо! Всю статику слепил в один рисунок. Теперь экран загружается моментально и без ошибок.
 
Posted by amber (Участник № / Member № 4553) on :
 
quote:
Отправитель / Originally posted by AdAstra Technical Support:
SP3 обязателен. Не только с точки зрения графики.
Адаптация к некоторым системным прослойкам учитывает именно SP3.

Тогда почему здесь в разделе системные требования указано "MS Windows® XP" БЕЗ требований к сервис-паку? Это ведь некорректно, не так ли?

У меня МРВ тоже вылетает на довольно мощной машине с SP2, в логе никакой информации об ошибке [Неодобрение / Frown] Есть надежда, что SP3 устранит проблему, но почему это требование изначально умалчивается и приходится выяснять?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
MS сама настоятельно рекомендует использовать свои последние обновления, т.к. там не только исправляются некоторые ошибки, но и обновляются системные прокладки, используемые в прикладных программах.
Ваше замечание мы учтем.
Однако обращаю Ваше внимание, что в конкретной обсуждаемой проблеме важно не только перейти на SP3, но и разгрузить графику, что и подтвердил Ваш коллега.
 
Posted by amber (Участник № / Member № 4553) on :
 
quote:
Отправитель / Originally posted by AdAstra Technical Support:
MS сама настоятельно рекомендует использовать свои последние обновления, т.к. там не только исправляются некоторые ошибки, но и обновляются системные прокладки, используемые в прикладных программах.

Однако Trace Mode почему-то не работает с обновленным .NET-фреймворком 4.0!

Кстати, почему нет ни слова о требованиях к .NET фреймворк 3.5?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Под Windows XP SP3 с .Net Framework 4.0 проверили работу релиза 6.07. Работает.

Никаких специальных требований к .Net Framework со стороны Trace Mode 6 нет. .Net Framework нужен только как средство поддержки функций электронной почти в отсутствие других почтовых служб.
 
Posted by amber (Участник № / Member № 4553) on :
 
Может, у Вас и 3.5, и 4.0 были установлены?

XP SP2 + Framework 4.0 - не работает. Проверено.
quote:
Отправитель / Originally posted by AdAstra Technical Support:
.Net Framework нужен только как средство поддержки функций электронной почти в отсутствие других почтовых служб.

В том-то и проблема, что из-за этой мелочи МРВ не запускается ВООБЩЕ и создает МАССУ проблем. Ладно бы не работала электронная почта, но почему МРВ не работает полностью? [duno / незнайка]

Опишу свою ситуацию. Делаю проект, приезжаю к заказчику. У него Windows XP SP2 (системные требования выставлял я исходя из требований Trace Mode). Устанавливаю МРВ, а он не запускается - выдает ошибку. Заказчик недоволен, так как я обещал запустить и показать (а ведь моей-то вины и нет!). [Неодобрение / Frown]

Интернета у него нет - возвращаюсь, ищу на форуме решение проблемы, нахожу рекомендацию установить фреймворк. Скачиваю последний фреймворк 4.0, приезжаю к заказчику. Устанавливаю. Не работает. Опять уезжаю, скачиваю 3.5, приезжаю, устанавливаю. Работает, но иногда вылетает без объяснения причин. Теперь еще SP3 придется ехать устанавливать.

В общем, из-за того, что такие важные особенности почему-то держатся в секрете, я трачу лишнее время, лишнее деньги, нервы. [attention / внимание]

Надеюсь, вы примете информацию к сведению и внесете необходимые коррективы в системные требования. [clever / умный]

Еще бы неплохо возместить ущерб тем, кто попал в такие неприятные ситуации, как я. [beer / пиво]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Мы учтем Ваши замечания.
 
Posted by Romсheg (Участник № / Member № 3792) on :
 
2AdAstra Technical Support: .Net Framework - не наследует поддержку нижестоящих версий, каждая новая версия Framework - это совершенно отдельный набор библиотек. Поэтому, если программисты в ТМ6 использовали что-то от .Net Framework версии 3.5, то это должно быть выяснено в точности у программистов, потому как рекомендации вроде "поставьте .Net Framework" в данном случае абсолютно бесполезны.
 
Posted by amber (Участник № / Member № 4553) on :
 
Еще пожелание к программистам сделать нечто подобное:

IF в проекте используется электронная почта
THEN не запускаться и выдавать адекватное сообщение об отсутствии фреймворка
ELSE запускаться и работать БЕЗ установленного фреймворка

Т.к. получается, что у меня куча неудобств из-за функционала, который я не использую и не собираюсь.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Это уже учтено. И в ближайшем релизе будет сделано.
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Здравствуйте. На экране статический рисунок как подложка, сверху пара динамических элементов. Таких экранов довольно много (около 30). При переходе между ними, через некоторое время, картинка-подложка пропадает (белый экран и сообщение Graph loop is big(t)). Остальные экраны и графические элементы отображаются нормально. Как еще разгрузить графику, динамики минимум, картинка снизу обязательная. Система Windows XP SP3.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Причину надо бы выяснить. Нужен проект с комментариями.
Если подложка одна и та же, разгрузить можно попытаться, взяв экран с подложкой в качестве материнского, а динамизированные фрагменты - отдельными экранами, которые вызываются на материнский экран в виде ГЭ "Ссылка на экран".
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Проектируется распределенная система. На карте-подложке (импортировался файл JPG размером не больше 100кб) поставлено несколько элементов "стандартный видеоклип2" с функцией перехода на экран. Где в свою очередь тоже есть карта-подложка и тот же элемент который вызывает уже рабочий экран. Так вот проблема как раз в этик картах-подложках (они разные). Все остальное работает, только изображения-подложки глючат.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Присылайте проект.
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Какой адрес?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
hotline@adastra.ru
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Отправлено
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Вы получили проект? Ситуация воспроизвелась?
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Установил релиз 6.07.2, проставил патч. Сбойный элемент устранился. При переходах между графическими экранами картинка-подложка продолжает исчезать. Заметили, что со временем проект берет все больше памяти, файл подкачки постоянно растет, и в какой-то момент пропадает графика. При переходе на экран с объемными элементами процессор грузится на 70-100%, экран появляется не сразу а с "миганиями", иногда постепенной прорисовкой. Там же минимальное число элементов, а хронология загрузки ЦП похожа на елку. Возможно причина в "утечке" памяти. Когда карты исчезают, памяти прилично освобождается. Что делать с этим, ведь графическая часть довольно простая, при это будет наращиваться.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Каковы характеристики среды: процессор, память, запущенные приложения?
Какой объем свободной памяти на ПК до загрузки проекта (1-й параметр 2-й строки
в окне "Компоненты" профайлера)
ml – свободная физическая память до старта.
Как ведут себя счетчики объектов и дескрипторов (можно посмотреть в диспетчере задач).
Возможно, что "утечка памяти" связана с задержкой ее освобождения из-за перегрузки ОС.
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Вот результаты экспериментов:
Машина №1: Win XP SP3;
Тип ЦП Intel Celeron 430, 1800 MHz;
Системная память 1015 Мб;
Дескрипторов 9610,
Процессов 40,
Физическая память:
Всего 1039 МБ, Доступно 424 МБ, ml=404.
После запуска проекта и при переходах между экранами физическая память (доступная) тает по 2-6 Мб на переходе, и не возвращается. Когда достигла 273 МБ, картинки отвалились (утечка=151МБ). При закрытии rtc.exe память вернулась. Такой глюк наблюдали на сервере заказчика, на ноутбуке и еще 1 компе. Параметры не скажу - нету под рукой.
Машина №2 Win XP SP3;
Тип ЦП AMD Athlon DC 4000+;
Системная память 2 Гб;
Дескрипторов 13545,
Процессов 50,
Физическая память:
Всего 2096 МБ, Доступно 915 МБ, ml=1008.
На таком "монстре" "утечка" ОП памяти составила 141МБ, но "падения" картинок не было, хотя прорисовка и время загрузки экранов увеличились значительно. При большей загрузке ОП экраны отваливаются скорее. Дайте эффективные рекомендации по решению данной проблемы.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
И все-таки приходится констатировать, что проблема носит ресурсный характер.
В рекомендуемых требованиях http://www.adastra.ru/eshop/index.aspx?id_cnt=7808&id_obj=7667962
указан Pentium 4 на 2.4 ГГц со свободной памятью 1 ГБ. Это существенно мощнее, чем описанный Вами "монстр".
Из-за низкого быстродействия при частых переключениях экрана не успевают освобождаться дескрипторы (их величина у Вас уже близка к предельной для ОС) и память ("утечка"). Подключается виртуальная память, резко усиливается свопинг (pf – число страниц, с которыми произошел свопинг - параметр рядом с ml).
Так или иначе, под эту задачу нужна более мощная машина. На ПК с процессором Intel CORE 3.3 ГГц и памятью 4 ГБ утечки памяти и дескрипторов не наблюдается, экраны при перерисовке подмигивают, но не исчезают.
 
Posted by ValArg (Участник № / Member № 4245) on :
 
1. Машина описанная мною (AMD Athlon DC 4000+) имеет технологию Dual Core и частоту процессора 2Ггц, что немногим ниже рекомендуемой. ОЗУ 2 ГБ что в 2 раза выше рекомендуемой [attention / внимание] . На процесс rtc.exe выделено ml=1008, то есть гектар оперативки, и этого, по вашему, мало [А-а! / Eek!] ? Но это цветочки, ягодки появляются при работе, когда при переключении экранов МРВ забирает по 2-6 Мб, и не отдаёт даже если не клацать экраны .Возврат оперативки происходит не после остановки МРВ, а после закрытия МРВ.Число дескрипторов до запуска МРВ и после практически одинаковая, дело не в этом. Серверы имеют мощные ЦП и достаточно ОЗУ, но там тоже самое. Дайте эффективные рекомендации по решению данной проблемы.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Мы провели испытания на ПК с процессором AMD Athlon(TM)XP1600+ при частоте 1ГГц с RAM 1 ГБ.
Мы запустили Ваш проект с теми же файлами IDE, которые мы Вам переслали.
При многократном (более 50 раз) частом переключении экранов вручную были задержки в прорисовке экранов до 3 сек., но никаких зависаний не наблюдалось. Не наблюдался также прирост занимаемого ОЗУ.
Установка цикла обработки в RTM 10*0.055 вместо заданного Вами 10*0.01 картины не изменила.

Затем был установлен режим принудительных переходов по всем экранам с периодом примерно 2-3 сек. Гоняли Ваш проект непрерывно в течение 1.5 часов.
При этом зафиксировано следующее.
При переключении экранов процессор загружается до 80-95 %.
Начальное значение захваченного ОЗУ - 144200 Кб,
пиковое значение - 149988 Кб,
установившееся значение - около 145400 Кб.
Выделенная виртуальная память практически не изменялась - около 200 Мб.
Общее количество дескрипторов в ПК - около 4 тыс. при 208 дескрипторах на проект.
Количество объектов GDI - на проект - до 2600, на остальные задачи - около 1750.
Количество объекто USER - на проект до 192, на другие задачи - около 1250.
Свопинг достигал в отдельные моменты до 7-8 тыс. страниц.
Но и в этом режиме никаких фатальных ситуаций не наблюдалось.

Как мы уже отметили, на более мощном ПК задержки в прорисовке экранов не превышали 1 сек., свопинг не превышал 2-3 тыс страниц.

Видимо, проблемы все-таки не в задаче Trace Mode 6, а в окружении, в общих ресурсах ОС.
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Не понимаю, в письме вы писали что ситуация воспроизвелась. Сейчас говорите что все ОК. Напоминаю, что главная проблема в исчезновении (белый экран) картинки-подложки (карты).
Я установил присланную Вами IDE релиза 6.07.2, сверху поставил патч 20110323_Graph.rar. "Сохранил для МРВ" проект под этот релиз, запустил - ситуация повторилась (отвалилась картинка-подложка). Вы утверждаете что после этих манипуляций у Вас картинка не исчезает после переключений экранов на этой машине (AMD Athlon(TM)XP1600+ (1ГГц) с RAM 1 ГБ)?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Именно так.

Присланный Вам патч исключил ситуации типа "отвалилась картинка-подложка".
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Присланный патч проблему не решил [Безумие / Mad] . Если каналам CALL вызова экранов присвоить цикл IDLE это поможет? Если да, то поменять в настройках узла (Дополнительно), или в каждом канале (Единица измерения).
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Использование цикла IDLE проблемы не решит.

Нас настораживает достаточно большое фактическое количество дескрипторов.

Задайте, пожалуйста в файле конфигурирования запуска DEBUG=4000. В протоколе профайлера должна появиться информация об открывании и закрывании потоков.
Пришлите нам последнюю версию проекта и папку узла после наработки критических ситуаций.
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Отправил
 
Posted by ValArg (Участник № / Member № 4245) on :
 
Возможная причина отказа графики в видеокарте (интегрированная). Подтвердить или опровергнуть не представляется возможным.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Проблема заключалась в том, что процедура очистки буфера видеокарты, реализуемая прослойкой QT, оказалась чувствительной к возможным настройкам видеокарты и особенностям работы конкретного драйвера видеокарты. Поймать это на множестве ПК, используемых у нас и у пользователей, до сих оказалось невозможно. Мы ввели собственную процедуру в обход действий QT.

Введенные исправления для проверки были отправлены пользователю.
По полученной информации, проблема снята.
"Всячески тестировал проект, и даже при выделении памяти порядка 20 МБ и дескрипторах 14000, графика оставалась стабильной, возврат памяти происходил при переходах между экранами. Проблема решена, спасибо."

Исправление войдет в ближайший релиз.

Топик закрывается.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2