Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Обработка Bitmap двумя Thread   Найти похожие ветки 

 
homm ©   (2007-06-07 22:23) [40]

> Как показывает практика можно и без асма сделать не хуже.
> А то и лучше. Ибо оптимизатор делфи генерит код очень хитро
> и лучше чем большинство программеров среднего уровня на
> асме.

Приятно знать, что я не «программер среднего уровня» в этом вопросе. Хотя, признать, без использования MMX как-то увеличить скорость грамотного(!) кода достаточно трудно.


 
Eraser ©   (2007-06-07 22:26) [41]

> [36] DVM ©   (07.06.07 21:53)


> Только вот толку от многопоточности не будет никакой ибо
> пока один поток залочил битмап, другой будет ждать.

а по-другому никак, GDI функции не потокобезопасны.

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


 
homm ©   (2007-06-07 22:30) [42]

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

Можно не использовать GDI функции для обработки. См. [39]


 
oxffff ©   (2007-06-07 22:31) [43]


> а по-другому никак, GDI функции не потокобезопасны.


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


 
oxffff ©   (2007-06-07 22:33) [44]


> Поскольку этот буфер статичен (только чтение, используется
> как источник), то обращение к нему НЕ влечет за собой нагрузки
> на когерентность кэша при многоядерности и многосокетности
.
>


 
Eraser ©   (2007-06-07 23:05) [45]

> [43] oxffff ©   (07.06.07 22:31)

судя по задаче, автору проще создать 2 отдельных битмапа, а после обработки в отдельных потоках просто склеить их..


 
homm ©   (2007-06-07 23:14) [46]

> [45] Eraser

процедуру склейки не распаралелишь, к тому-же не понятно, чем «проще».


 
oxffff ©   (2007-06-07 23:16) [47]

Купить?


 
oxffff ©   (2007-06-07 23:17) [48]

Книгу естественно.


 
oxffff ©   (2007-06-07 23:27) [49]

to Igor_K_A
Вы нас всех хоть в соавторах диплома упомините.
Хотя больше на практическое задание смахивает.


 
Eraser ©   (2007-06-08 00:03) [50]

> чем «проще».

чем на свой страх и риск блокировать участки памяти.


 
homm ©   (2007-06-08 00:18) [51]

> чем на свой страх и риск блокировать участки памяти.

Зачем? Все проще. Делим попалам, один поток — один половину, другой — другую.


 
Pavia ©   (2007-06-10 02:53) [52]

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

Как программист со средним знанием асм скажу следующее. Дельфи генерирует безобразный код. Так, что если я перепишу на асм то программа будет работать быстрее в большинстве случиев. А если уж и использовать mmx, то точно прирост будет значительный.


 
Германн ©   (2007-06-10 03:01) [53]

а
> Pavia ©   (10.06.07 02:53) [52]

Вань. Лучше не позорься! Такое количество грамматических ошибок - явный перебор!


 
Strate ©   (2007-06-10 21:55) [54]

А можно разбить битмап на 2 битмапа, на каждый зафигачить поток который уменьшит его и потом соединить :)

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


 
Vovan Real   (2007-06-10 23:57) [55]

Удалено модератором
Примечание: в зеркало посмотри


 
homm ©   (2007-06-11 00:07) [56]

> [55] Vovan Real

Рад тебя снова видеть.


 
DVM ©   (2007-06-11 00:10) [57]


> Pavia ©   (10.06.07 02:53) [52]


> Дельфи генерирует безобразный код


> Так, что если я перепишу на асм то программа будет работать
> быстрее в большинстве случиев

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



Страницы: 1 2 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.026 c
3-1177566685
MZ
2007-04-26 09:51
2007.08.19
узнать количество суток между двумя датами в FireBird


2-1184858946
Kyro
2007-07-19 19:29
2007.08.19
Можно ли замкнуть дбгрид


4-1172960135
leonidus
2007-03-04 01:15
2007.08.19
Аналог GetAsyncKeyState для мыши


2-1183643337
vegarulez
2007-07-05 17:48
2007.08.19
Вопрос про SW_MAXIMIZE.


15-1184897351
Slider007
2007-07-20 06:09
2007.08.19
С днем рождения ! 20 июля 2007 пятница