🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #334573

Wolno działające wątki ...

#334573
From: DK
Date: Tue, 03 Jan 2012 14:27
29 lines
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-mail

Show 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