Article View: pl.comp.lang.delphi
Article #334573Wolno działające wątki ...
From: DK
Date: Tue, 03 Jan 2012 14:27
Date: Tue, 03 Jan 2012 14:27
29 lines
2352 bytes
2352 bytes
Witam. Ostatnio trochę się bawiłem przetwarzaniem bitmap i coś mnie mocno zdziwiło. Ale po kolei Napisałem prostą funkcję przepuszczająca bitmapę przez filtr dolnoprzepustowy i wszystko działało ładnie. Bitmapy się generowały i było pięknie. Jednak samo przetwarzanie nie było jakoś specjalnie szybkie. Przeniosłem kod do wątku a w zasadzie tworzy się kilka wątków. W zależności od potrzeb jest to definiowane. Jednak coś jest nie tak. Gdy odpalony jest jeden wątek to przetwarzanie działa z grubsza tak jak przed przeróbką. Jednak gdy wątków jest więcej to całość działa kilkukrotnie wolniej. Zastanawiam się co jest tego przyczyną ? Wykombinowałem, że może chodzi o konflikt zasobów. Wszystkie wątki odwoływały się do tych samych obiektów TBitmap i macierzy (tablic) z definicją filtra. Więc rozdzieliłem je. Każdy z nich pracuje na swojej kopii fragmentu bitmapy i swojej lokalnej wersji macierzy. Na końcu całość jest składana do kupy. Jednak dalej działanie aplikacji wielowątkowej jest wolniejsze niż pojedynczego wątku przetwarzającego bitmapę. Prawdopodobnie błąd jest w moim toku myślenia, a może chodzi o jakieś zarządzanie wątkami ? I jeszcze jedno. Pojedynczy wątek obciąża mi procesor w 50% *(mam 2 rdzeniowca) za to gdy są 2 wątki to obciążenie spada do ok 25%. Gdzie mogę robić błąd ? Będę wdzięczy za wszelkie pomysły. A może polecicie jakiegoś tutoriala opisującego poprawne działanie aplikacji wielowątkowych. Z góry dzięki za info.
Technical Details
Message-ID:
<jdv38v$4kr$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: DK <amidar@gazeta.pl> Newsgroups: pl.comp.lang.delphi Subject: Wolno działające wątki ... Date: Tue, 03 Jan 2012 15:27:43 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 29 Message-ID: <jdv38v$4kr$1@inews.gazeta.pl> NNTP-Posting-Host: 93.95.93.123 Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1325600863 4763 93.95.93.123 (3 Jan 2012 14:27:43 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Tue, 3 Jan 2012 14:27:43 +0000 (UTC) X-User: amidar User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.24) Gecko/20111103 Thunderbird/3.1.16 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit