Перейти к содержанию
    

Патч от starter48 для P-CAD 2006 с установленным SP2

14 минут назад, ViKo сказал:

Почему бы рисовать на plane не площадки контуром, а отверстия? 

Это отнимет у меня слишком много времени на исследования и отладку нового кода.

Поделиться сообщением


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

02.11.2020 в 00:17, Zig сказал:

С вашим проектом Draft Mode видимость ПО работает.

Разобрался почему. Вы разрешаете видимость вместе с Plane слоем слой Bottom. Но в Bottom уже много всего может быть нарисовано и это будет мешать просмотру слоя Plane.

  

02.11.2020 в 11:20, ViKo сказал:

Почему бы рисовать на plane не площадки контуром, а отверстия? 

 

Выложил новую версию 3.3.5.0: патч o) переделан, чтобы сквозные площадки/переходы обозначались в активоном слое plane не контуром, а mounting hole.

Ловим грабли...

Поделиться сообщением


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

Занимаюсь исследованием медленной работы прозрачной графики.

Выложил маленькую программку (ссылка) для сравнения скорости прозрачной графики.

Программа 4 раза рисует узор в разных режимах и показывает затраченное время в заголовке окна в таком виде:

Direct GDI opaque: 60 msec | Direct GDI transparent: 4700 msec | Bitmap buffer: 30 msec | WS_EX_COMPOSITED mode: 16 msec

  1. Прямое рисование на окне, без прозрачности (как в PCAD).
  2. Прямое рисование на окне, с прозрачностью (как в PCAD).
  3. Программная двойная буферизация, с прозрачностью.
  4. Обеспечиваемая ОС двойная буферизация, с прозрачностью.

Результат от запуска к запуску может немного отличаться - это зависит от загруженности проца, видео, марсианской погоды.

По окончании теста программа копирует эту строку из заголовка в clipboard, чтобы результат сразу можно было вставить в сообщение.

Интересно увидеть результат на разных ОС. Высокая достоверность не требуется - просто для оценки.

Результат выше - с моей Win10 (видео: intel HD 530).

Поделиться сообщением


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

Direct GDI opaque: 52 msec | Direct GDI transparent: 5886 msec | Bitmap buffer: 63 msec | WS_EX_COMPOSITED mode: 30 msec

Direct GDI opaque: 55 msec | Direct GDI transparent: 5943 msec | Bitmap buffer: 65 msec | WS_EX_COMPOSITED mode: 30 msec

Direct GDI opaque: 55 msec | Direct GDI transparent: 5490 msec | Bitmap buffer: 54 msec | WS_EX_COMPOSITED mode: 30 msec

Win764ru GF9600GSO 384MB, CPU AMD 3GHz 4 Core 8GB Memory

изображение_2020-11-07_183838.png

 

 

 

Direct GDI opaque: 5368 msec | Direct GDI transparent: 10511 msec | Bitmap buffer: 11022 msec | WS_EX_COMPOSITED mode: 162 msec

Direct GDI opaque: 12988 msec | Direct GDI transparent: 20010 msec | Bitmap buffer: 9486 msec | WS_EX_COMPOSITED mode: 79 msec

 

 Таже машина на XP32 SP3 ru Драйвер отрабатывает картинку очень медленно, по сравнению с Win7. Начинается с чередующихся красно-черных полос углом , потом переходит на зеленую графику

Изменено пользователем emiq

Поделиться сообщением


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

32 минуты назад, emiq сказал:

Direct GDI opaque: 52 msec | Direct GDI transparent: 5886 msec | Bitmap buffer: 63 msec | WS_EX_COMPOSITED mode: 30 msec

Direct GDI opaque: 55 msec | Direct GDI transparent: 5943 msec | Bitmap buffer: 65 msec | WS_EX_COMPOSITED mode: 30 msec

Direct GDI opaque: 55 msec | Direct GDI transparent: 5490 msec | Bitmap buffer: 54 msec | WS_EX_COMPOSITED mode: 30 msec

Win764ru GF9600GSO 384MB, CPU AMD 3GHz 4 Core 8GB Memory

 

Получается, у тебя прозрачная графика в PCAD работает примерно в 100 раз медленнее нормальной графики.

У меня - в 80 раз медленнее.

Попробуй пожалуйста на WinXP, если есть под рукой - это не очень важно, но интересно...

Поделиться сообщением


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

Direct GDI opaque: 11758 msec | Direct GDI transparent: 10482 msec | Bitmap buffer: 53 msec | WS_EX_COMPOSITED mode: 56 msec

Direct GDI opaque: 10365 msec | Direct GDI transparent: 10423 msec | Bitmap buffer: 51 msec | WS_EX_COMPOSITED mode: 58 msec

Direct GDI opaque: 10484 msec | Direct GDI transparent: 10387 msec | Bitmap buffer: 51 msec | WS_EX_COMPOSITED mode: 53 msec

 

WinXP SP3, Intel Core 2 Duo 2.33 GHz, 1.98 GB

Поделиться сообщением


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

Все тормоза начались с Win WINSTA, когда поменяласть структура драйверов системы.  Возможно внутри PCAD при работе с видео написаны свои ускорители блочной передачи данных буфера видео, в обход контроля системы, как прямой доступ к железу. Эпоха DOS и WIN98. Под новыми драйверами, которые исключают такое взаимодействие , встроена универсальная Generic структура совместимости с универсальным видео драйвером. Отсюда и тормоза. Если помните, как работало видео при установке Win98, когда дрфйвера видеокарты не установлены и задействован совместимый универсальный SVGA драйвер. Это сплошные тормоза видео экрана., пока не установишь родной драйвер видео со своими функциями ускорения работы экрана.

 

Я ранее не просто так обратил нимание на функцию перерисовки связей- резинок  цепей прри значительном ZOOM. В Если включенных связей много (BGA), то при большом ZOOM в XP имеем тормоза перерисовки этих связей. В WIN7 этого эффекта нет.

Тест на XP я положил туда же, где и Win7x64 , в том же посте ниже.

Изменено пользователем emiq

Поделиться сообщением


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

30 минут назад, Zig сказал:

Direct GDI opaque: 11758 msec | Direct GDI transparent: 10482 msec | Bitmap buffer: 53 msec | WS_EX_COMPOSITED mode: 56 msec

Direct GDI opaque: 10365 msec | Direct GDI transparent: 10423 msec | Bitmap buffer: 51 msec | WS_EX_COMPOSITED mode: 58 msec

Direct GDI opaque: 10484 msec | Direct GDI transparent: 10387 msec | Bitmap buffer: 51 msec | WS_EX_COMPOSITED mode: 53 msec

 

WinXP SP3, Intel Core 2 Duo 2.33 GHz, 1.98 GB

Странно... Я ожидал высокую скорость прозрачной графики на XP.

PCAD с прозрачной графикой на этой ОС отрисовку делает быстро?  Драйвер видеокарты последний стоит?

Красно-чёрные полосы - это нормально (это узор без наложения-прозрачности). Он всегда есть, но при запуске на современной винде промелькивает очень быстро.

 

Поделиться сообщением


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

Разницу в скорости отрисовки в Translucent и обычном режиме работы pcb.exe не замечаю. Экран при зуммировании и скроллинге мышью подмигивает, но не тормозит. Видеокарта NVIDEO GeForce 8600 GT. Драйвер 6.14.11.6218 от 29.06.2007. Новее не нужно в игры не играю.

Поделиться сообщением


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

6 минут назад, emiq сказал:

Все тормоза начались с Win WINSTA, когда поменяласть структура драйверов системы.

Как я понял из статей, поменялись не драйверы, а графика ОС: они добавили постобработку после рисования для наложения эффектов. Такой режим замедляет работу прозрачной графики. Для ускорения на современной ОС требуется двойная буферизация.

12 минут назад, emiq сказал:

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

Нет там ничего такого. Просто обычная GDI графика.

14 минут назад, emiq сказал:

Если помните, как работало видео при установке Win98, когда дрфйвера видеокарты не установлены и задействован совместимый универсальный SVGA драйвер. Это сплошные тормоза видео экрана., пока не установишь родной драйвер видео со своими функциями ускорения работы экрана.

Это не только в Win98, а в любой ОС так: даже в Линуксе.

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

Поделиться сообщением


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

 

1 час назад, emiq сказал:

Direct GDI opaque: 5368 msec | Direct GDI transparent: 10511 msec | Bitmap buffer: 11022 msec | WS_EX_COMPOSITED mode: 162 msec

53 минуты назад, Zig сказал:

Direct GDI opaque: 11758 msec | Direct GDI transparent: 10482 msec | Bitmap buffer: 53 msec | WS_EX_COMPOSITED mode: 56 msec

Интересно, почему такая большая разница с двойной буферизацией через Bitmap (3)...

Пробовал последнюю версию 3.3.5.0 патча с обозначением отверстий в plane как mt-hole?  Как оно?

28 минут назад, Zig сказал:

Разницу в скорости отрисовки в Translucent и обычном режиме работы pcb.exe не замечаю. Экран при зуммировании и скроллинге мышью подмигивает, но не тормозит.

У меня прозрачная графика отрисовывается заметно медленнее, но работе не мешает (прорисовка идёт < 1 сек).

Но люди жаловались на чудовищные тормоза. Я всё жду примера проекта, чтобы у себя исследовать.

 

Думаю, надо прикрутить к PCAD режим двойной буферизации через Bitmap (3).

Режим со стилем WS_EX_COMPOSITED (4), скорее всего, не удастся подружить с программным курсором (курсор в виде + и X на весь экран).

Поделиться сообщением


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

14 минут назад, starter48 сказал:

Пробовал последнюю версию 3.3.5.0 патча с обозначением отверстий в plane как mt-hole?  Как оно?

Спасибо. Попробовал. Отверстие отображается. Но хотелось бы видеть границу ободка переходного отверстия минимально необходимого для данного класса платы.

Сейчас развожу плату с большим числом питаний в слое plane и забыл как я работал с plane раньше, чтобы было видно подключенные к plane ПО. Потом вспомнил. Нужно добавить в стэк plane слой не подключенный к сигналам, выставить его активным и смотреть "сквозь" него на интересуемый plane слой. Тогда будут видны ПО подключенные к нужному слою в виде залитых окружностей с отступом от отверстия как указано в Option - Configure - Manufacturing - Plane Swell. На экране сразу получается видна граница между plane и границей минимального ободка ПО.

Пример файла с настроенным стэком. Переключение: Ctrl+7, Ctrl+8.

 

tst3.pcb

Поделиться сообщением


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

20 минут назад, Zig сказал:

Спасибо. Попробовал. Отверстие отображается. Но хотелось бы видеть границу ободка переходного отверстия минимально необходимого для данного класса платы.

Сейчас развожу плату с большим числом питаний в слое plane и забыл как я работал с plane раньше, чтобы было видно подключенные к plane ПО. Потом вспомнил. Нужно добавить в стэк plane слой не подключенный к сигналам, выставить его активным и смотреть "сквозь" него на интересуемый plane слой. Тогда будут видны ПО подключенные к нужному слою в виде залитых окружностей с отступом от отверстия как указано в Option - Configure - Manufacturing - Plane Swell. На экране сразу получается видна граница между plane и границей минимального ободка ПО.

Но тогда как отличать подключенные к активному слою отверстия от неподключенных?

Заставить выглядеть подключенные отверстия, как неподключенные - легко. Если, только, отличать их по наличию креста X ...

Смысл ободка в plane - показывать изоляцию (вытравленную медь) вокруг отверстия.

Поделиться сообщением


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

Direct GDI opaque: 61 msec | Direct GDI transparent: 972 msec | Bitmap buffer: 20 msec | WS_EX_COMPOSITED mode: 22 msec

 

Видимо пора забивать на старые системы?

Поделиться сообщением


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

3 минуты назад, Uree сказал:

Direct GDI opaque: 61 msec | Direct GDI transparent: 972 msec | Bitmap buffer: 20 msec | WS_EX_COMPOSITED mode: 22 msec

 

Видимо пора забивать на старые системы?

Не, ща двойную буферизацию прикрутим и начнём откапывать :smoke:

Поделиться сообщением


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

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

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

Гость
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

×
×
  • Создать...