Перейти к публикации

Глюки отображения в CFX


Рекомендованные сообщения

Подчистил немного, уже работает и с CFX-Post 11 (win32), ещё глюк с цветом координатной системы исправил.

Осталось только разобраться с win64

<noindex>http://malefice.fatal.ru/files/opengl32.dll</noindex>

Класть в ..\CFX\bin\winnt

Ссылка на сообщение
Поделиться на других сайтах


Tako

Можешь попробовать одну вещь: скачать тестовое приложение (то что я выкладывал раньше), туда закинуть эту dll и проверить на наличие глюков?

Смысл в том чтобы проверить подцепляется ли dll в win64 в таком случае...

Проверил. На твоей проге работает. Без dll глюки есть, с dll глюков нет.

Скинул ее в папку Ansys Inc\v120\CFX\bin\winnt-amd64 - нет изменений

Ссылка на сообщение
Поделиться на других сайтах

Dick

Славненько.

На самом деле стоит подумать над проблемой и ATI, и ансису. Ансису тогда придётся добавлять вызов glColor() после glBegin().

Собственно я именно так и сделал - отслеживал вызов glBegin() и в случае дисплей-листов вставлял текущий цвет (который сохранял сам). Оказалось что для полигонов так делать нельзя... поэтому сделал проверку на квады и треугольники. Так что некие двойные стандарты в дровах ATI всё же есть. Я бы примитивы разбивал по цветам, а не по типам и вызывал задание цвета не внутри glBegin()-glEnd(), а перед такой группой. И вообще надо уже думать как такие вещи делать с помощью шейдеров :)

Tako

Можешь посмотреть в процессах что висит у PostGui_ogl.exe (т.е. в идеале должны быть две opengl32.dll) и вообще посмотреть маршруты?

Насколько я понимаю OpenGL32.dll и в win64 кажется используется.

Проблема состоит в том куда положить мою dll(но в системный каталог ложить нельзя!)...

А проц AMD или Intel?

Я попробую модифицировать dll для использования в системном каталоге, в этом случае будет существовать вероятность проблем с другими OpenGL-приложениями, но влияние должно быть минимально - затрагиваются только дисплей-листы, так что даже тормозов сильно не будет :)

Изменено пользователем deLuther
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

У кого есть последний пред-релиз 12 версии попробуйте создать переменную VIEWER_CACHE_COLORS и приравнять ее нулю.

Ссылка на сообщение
Поделиться на других сайтах

Dick

Спасибо!

Работает!

Теперь надо будет посмотреть что происходит в данном случае :)

Но всё равно буду пытаться ATIшников дожать по поводу проблемы с назначением цвета в дисплей-листах.

Посмотрел с помощью GLIntercept.

С этой переменной цвет назначается для каждой вершины.

Т.е. объём дисплей-листов будет больше - больше данных требуется хранить, но не смертельно.

Для версии 11 остаётся мой "патч", либо смотреть результаты в V12 :)

Изменено пользователем deLuther
Ссылка на сообщение
Поделиться на других сайтах

Более эффективный вариант будет создать переменную VIEWER_FACE_LIST

значение как я понял не влияет - 0 или 1

Тогда всё рисуется полигонами, а не треугольниками и квадами дополнительно и проблем тоже нет.

Но в этом случае дисплей-лист короче получается :)

Ещё есть VIEWER_LINE_LIST тоже вроде размер дисплей-листов уменьшает, но я не понял за счёт чего (пока).

Причём этот вариант (VIEWER_FACE_LIST) работает даже в V11.

ps. комично что всё уже было предусмотренно заранее :)

Изменено пользователем deLuther
Ссылка на сообщение
Поделиться на других сайтах

Ну так разработчики из ансиса и ответили, что эта АТИшная проблема была известна еще год назад. Они обращались в АТИ, те что-то исправили в дровах, но потом опять накосячили. В результате, чтоб не зависеть от АТИ, в 12 версии ввели эту переменную (которую я написал). В 11 версии это не работает и исправлений никаких не делали.

Ссылка на сообщение
Поделиться на других сайтах

Для обоих версий можно использовать переменные VIEWER_FACE_LIST и VIEWER_LINE_LIST (обе сразу).

Значение роли не играет хоть 0, хоть 1.

Результат такой же как VIEWER_CACHE_COLORS, но последняя работает только в V12 (и увеличивает дисплей-листы).

В результате на какой-нибудь мега-модели можно не влезть в видеопамять (если будет миллионов 8 треугольников в сцене например или больше). У бытовых НВидия (и у некоторых младших квадр) просто после ~500 тысяч геометрия не грузится в видеопамять (или не вся грузится), т.е. медленно, но со скрипом. Так что шансов на некомфортную работу на нвидии больше :)

ps. Только вот странно что похожие вещи в самом ANSYS отображаются без проблем и там тоже дисплей-листы...

Видимо манера программирования тоже на что-то влияет. Формально то что происходит с VIEWER_CACHE_COLORS больше напоминает как правильно должно быть (по сути OpenGL).

Изменено пользователем deLuther
Ссылка на сообщение
Поделиться на других сайтах

Поинтересуюсь на досуге про них, может еще что-нибудь интересное расскажут :smile:

В любом случае, deLuther, спасибо Вам. Если бы их носом не ткнул в код вряд ли бы получили вразумительный ответ (см. мой пост с ansys approved версией дров :clap_1: )

Ссылка на сообщение
Поделиться на других сайтах

Главное что альтернативная парочка тоже работает, если бы не было наводки про VIEWER_CACHE_COLORS, то хрен бы я их нашёл. А так открыл файл на просмотр PostGui_ogl.exe , нашёл VIEWER_CACHE_COLORS и рядышком они были, ну я и проверил :)

Изменено пользователем deLuther
Ссылка на сообщение
Поделиться на других сайтах

А нафиг? В PostGui_ogl.exe V11 тоже есть откопанные мною переменные, а вот VIEWER_CACHE_COLORS действительно нет.

Прописал 2 упомянутые переменные (лучше обе - а то линии тоже могут сглючить) и CFX-Post V11 замечательно пашет.

ps. Касательно размеров дисплей-листов.

В случае VIEWER_CACHE_COLORS получаем (4 + 3 + 3)*4* 3*1000000/1024^2 ~ 114.4 Мб.

В обычном случае (3 + 3)*4*3*1000000/1024^2 ~ 68.7 Мб (оценка для треугольников).

Таким образом в первом случае 4 млн. треугольников и 500 метров уже под завязку... для ATI конечно же :)

Бытовые NVidia, как уже говорилось, пасуют наамного раньше, т.е. просто медленно работать будут.

(желающим могу помочь проверить)

Изменено пользователем deLuther
Ссылка на сообщение
Поделиться на других сайтах

Просто интересно. Я просил у разработчиков измененный executable, чтоб добавить в 11 версию. На что они ответили, что 12 с 11 версией несовместимы :clap_1: Что-то кажется, что все должно работать нормально :smile:

Ссылка на сообщение
Поделиться на других сайтах

А зачем вообще?

12ая открывает файлы 11ой, даже наоборот тоже пашет... Разве что стейты не открывает нормально.

А вот засовывать экзешник от 12ой в папку 11ой я бы не стал - вполне могут быть ссылки на dll которых нет, либо функции отсутствуют. Впрочем криминала никакого нет - есть желание пробовать, значит можно пробовать :)

Просто внезапно оказалось что можно исправить и другим способом :)

Изменено пользователем deLuther
Ссылка на сообщение
Поделиться на других сайтах

У меня эта фишка тоже заработала. Аж приятно смотреть :)

Интересно, а слабо было ансишникам в хэлп это засунуть?

Кстати, кто-то ставил 9.4 каталист, интересно там что-то поменялось? У меня не ставятся последние 3 версии. Так что проверить не могу.

Да, deLuther, Dick, вы реально молодцы!

Большое вам человеческое спасибо! :clap_1:

Ссылка на сообщение
Поделиться на других сайтах

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

Только у меня 8.11 начал после спящего режима или при выходе на него отваливаться. С 9.4 этого нет - всё нормально.

Причём изначально 8.11 тоже нормально работал в этом плане. Сейчас опять могу компьютер спокойно оставлять, зная что UPS если что в Hibernate его спокойно отправит.

Ссылка на сообщение
Поделиться на других сайтах

Как вариант, но правда для карточек nVidia.

Была у меня как то на базе 440 чипсета видюха от Leadtek, к которой Leadtek сам дрова писал. ПО версии они всегда отставали от того, что NVIDIA выпускала. Но на дровах NVIDIA карта глючила, а народных работала идеально.

Может быть не стоит свяхываться с референсными дровами, а использовать только то, что на сайте производителя?

Ну и вопросы имеет иногда смысл задавать не разработчику чипа, а разработчику карты.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...