|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Не надо ухмыляться. Хочется при работе AutoCAD'а максимально задействовать 2 (или более) процессоров? Но ведь файл acad.exe - один. Значит, этот acad.exe должен делится на два или несколько потоков? Как вообще люди себе представляют деление процесса на два или несколько потоков? Какого процесса? Например, для отрисовки отрезка задействовать один процессор, а для редактирования полилинии - другой? Распараллеливание процесса на потоки хорошо при большом объеме вычислений. А какой объем вычислений при обычной работе с AutoCAD'ом? Ну, допустим, файл DWG имеет большой объем или есть много внешних ссылок. Можно предположить, что обработка такого DWG (какая обработка) делится на потоки (с общим адресным пространством?). При тонировании действительно может быть много вычислений. Суть всей этой моей болтологии в чем? А в том, чтобы понять - распараллеливания чего люди ожидают при работе с AutoCAD'ом?
|
|||
![]() |
|
||||
Конструктор по сути (машиностроитель) Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391
|
Понятия не имею. Но, скорее всего, нет. В сообщении, которое тебя запутало, я это и пытался объяснить. Истинная загрузка 2-х процессоров может быть только тогда, когда сумма объёма занимаемой загрузки на 2-х процессорах составляет более 100%. А про такие проги я даже слыхом не слыхивал. Везде (в форумах) идет речь лишь о более-менее равномерной загрузке 2-х (4-х) процессоров. И приводится аналогия воды с бассейном. Где через один выход вытекало 10л/с, например. А при 2-х трубах вытекает через каждый 5л/с. Только в общем всё равно получается 10л/с.
PS Стоит всё-таки отметить, что выигрыш у 2-х и 4-х ядер ЕСТЬ! Это отражается в одном из вышеприведенных сообщ-й ("Он считает, я спокойно сижу в интернете"). Т.е. система дает преимущество при работе одновременно как минимум в 2-х программах. Но никак ни для одной!
__________________
Век живи, век учись - ... |
|||
![]() |
|
||||
Конструктор по сути (машиностроитель) Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391
|
Совершенно верно. Я о том же.
PS АртеМ, "в 2 раза" - это условно. В большинстве же прог даже 10%-й прибавки не наблюдается.
__________________
Век живи, век учись - ... |
|||
![]() |
|
||||
Регистрация: 22.09.2005
здесь могла быть ваша реклама
Сообщений: 1,296
|
Заметил, что при одновременной работе с двумя тяжёлыми файлами в отдельно запущеных 2х Автокадах переход между автокадами (alt+tab) проходит легче чем переход между теми же файлми открытыми в одной оболочке.
или у меня миражи ? ![]() (2duo CPU E8200 @ 2.66GHz) |
|||
![]() |
|
||||
Регистрация: 07.12.2007
Брест
Сообщений: 243
|
Offtop немного: Многопоточность используется и сейчас, например при рендеринге: практически любая программа прога для рендеринга спрашивает на сколько ядер(процессоров) загружать и грузит на все 100% (см скриншот).
А в автокаде даже в "девелопер гуид" написано что многопоточность не поддерживается. ps и время рендеринга уменьшается пропорционально количеству ядер |
|||
![]() |
|
||||
Конструктор по сути (машиностроитель) Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391
|
Совершенно не offtop! Хотя и не относится к АвтоКАД. Вот, наконец, я вижу реальный скрин, свидетельствующий о распараллеливании (искренне верю, что это не монтаж). (Спасибо, Sync02, ты практически продемонстрировал чудо
![]()
__________________
Век живи, век учись - ... |
|||
![]() |
|
||||
Регистрация: 07.12.2007
Брест
Сообщений: 243
|
Цитата:
А вот еще из доков "ObjectARX is not thread-safe and multithreading is not supported" Последний раз редактировалось Sync02, 26.05.2008 в 14:00. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
А при автосохранении? А при qsave?? Не говоря уж об открытии файла....Есть что распараллеливать? У меня вот два ядра, а подвисает также, например, при автосохранении, иногда в такой момент, что хочется отвертку в монитор воткнуть. Вот от этого что спасет? Два ядра?
![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Нет, достаточно с винтом похимичить
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Кулик Алексей aka kpblc,
Цитата:
А что конкретнее надо сделать?
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ну, например, поставить SCSI или SATA вместо IDE, или драйвера под него воткнуть... У меня на какой-то машине, пока драйвера под IDE-порт не поставил (и не надо ржать, такое действительно было!), тормоза были невообразимые.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Я в железе плохо разбираюсь, так что надо переварить.
Цитата:
У меня был ATA, сегодня поменяли на SATA, про то? Слушай оставь коммент про двухядерность. Что получается, автокад далеко не все операции делит на два ядра, и один проц 3ГГц это в некоторых вопросах лучше чем 2х2ГГц. Так выходит?
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Насчет двухядрености (тьфу ты, двухъядерности) я пас.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
строитель проектировщик Регистрация: 10.02.2005
Краснодар
Сообщений: 57
![]() |
Про многоядерность. Распаралеливание отдельных процессов отдельных программ на два ядра происходить может, разработчики многих ресурсоемких программ трудятся над этим. Но нельзя сказать, что при задействовании, скажем, двух ядер расчет завершится вдвое быстрее. У процессоров есть что-то типа "коэффициент масштабирования", и для двухядерных он обычно меньше 2.
Владельцы многопроцессорных машин могут с Автокадом еще так поэкспериментировать. В диспетчере задач, вкладка "процессы" щелкните правой кнопкой мыши на процессе acad.exe и выберите "задать соответствие". По умолчанию галочки стоят на всех имеющихся ядрах/процессорах. Можно поэкспериментировать, убирая их поочередно и порендерить что-нибудь. Сам я работаю только в 2d в Автокаде, для этого я особых приростов в производительности не замечал. Но, например, программа MicroFE может эффективно использовать оба ядра для отдельных видов расчетов. Это видно и из диспетчера задач, и из времени, затраченного на вычисления |
|||
![]() |
|
||||
джедай Регистрация: 31.01.2005
Магадан
Сообщений: 460
![]() |
предлагаю провести тест
есть програмка от sysinternals - Process Explorer в ней можно задать количество процессоров, которое будет использовать программа. разрешите только одно ядро - и сравните как оно было до этого на 2х ядрах) |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Все эти тесты - просто игры и все. Основной задачей разработчиков ОС является обеспечение многозадачности. Без нее не будет многопоточности. В одноядерных процессорах реализована так называемая вытесняющая многозадачность. При этом каждому запущенному процессу присваивается приоритет. ОС статистически обрабатывает работу каждого процесса и для процессов, которые реже обращаются к ресурсам компьютера, понижает приоритетет, повышая его для других процессов. В любом случае процессы обрабатываются поочередно и пользователю только кажется, что он работает ОДНОВРЕМЕННО с несколькими программами. Многоядерность (а ранее многопроцессорность) могут обеспечить истинную многозадачность. В этом случае каждый процессор (ядро) может выполнять один процесс, отдавая ему все ресурсы компьютера. Это теоретически, потому что ресурсы - общие для всех процессов. На самом деле для обеспечения действительно полной многозадачности необходимо иметь для каждого процесса свои ресурсы со своей шиной. Но это сильно усложняет аппаратную часть, в частности, системную плату. Тогда надо существенно увеличить оперативную память и значительно повысить пропускную способность системной шины. Для двухядерных процессоров мы можем утверждать, что гарантировано можем выполнять параллельно два процесса (две программы). А если процессов больше? Ясно, что в этом случае мы опять скатываемся к вытесняющей многозадачности. Выход - увеличивать количество процессоров (ядер), соответственно наращивая память. Но память для 32-битных систем ограничена (теоретически) 4-мя Гб. Нужны 64-битные системы и приложения. Нужен, как минимум, 16-ти ядерный процессор. Нужна память порядка 64 Гб. Но это дорого. В данном случае мы имеем двухядерный процессор. Я думаю, что разработчики ОС отдали на откуп программирование многопоточности разработчикам приложений, заложив в операционную систему некие правила для обработки потоков. И здесь может повториться такая же ситуация, как и с многозадачностью. Если число потоков больше двух (процессов больше одного), как будут обрабатываться эти потоки? Опять с назначением приоритетов? А как тогда будут выполняться процессы? Наверное, в Microsoft много поломали и ломают голову над этой проблемой. Для малоядерных процессоров многопоточность входит в конфликт с многозадачностью - вот что. Единственный выход - использовать монопольно один процесс, который делится на два потока, если приложение может это обеспечить. И вот тут мне пришла в голову одна мысль. Что, если приложение объявляет поток - процессом?
Последний раз редактировалось Profan, 28.05.2008 в 06:16. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Новый драйвер для Phantom AutoCAD OLE/ADI Printer. Как? | CyberMan | AutoCAD | 4 | 26.04.2009 10:19 |
Как сопоставить семантику и полилинию (полигон) в AutoCAD | Xamas_DZK | AutoCAD | 19 | 22.03.2008 11:22 |
Как отключить Autocad today в ACAD 2002? | CatEye | AutoCAD | 5 | 05.04.2004 10:30 |
Как отключить Autocad today в 2002? | CatEye | AutoCAD | 3 | 30.03.2004 15:58 |
Как народ работает с длинными LISP файлами? | {Smirnoff} | LISP | 7 | 22.01.2004 13:47 |