(編輯:爲了澄清,我的主要目標是併發性,但不一定適合多核機).NET中的多線程繪圖?
我是相當新的對併發性的所有概念,但我想通了,我需要有並行繪圖程序,原因如下:
- 我想要分開繪製不同部分的圖形(背景刷新頻率低於前景,保存在緩衝區中)。
- 我希望控制優先級(比繪製複雜的圖更優先於UI響應)。
- 我想多幀繪製每幀的計算。
- 我想提供取消複雜的緩衝區繪製例程。
但是,作爲一名初學者,我的代碼看起來很亂,重構或bug修復變得非常尷尬,以至於我決定在做任何嚴肅的事情之前我需要更多地使用它。
所以,我想知道如何使得清潔,容易維護.NET多線程代碼,這讓我在第二天醒來時看起來很有意義。我所面臨的最大問題是構建應用程序,以便所有部分以聰明(而不是笨拙和黑客)的方式彼此交談。
歡迎任何建議,但我有空閒時間可以消化的來源(例如,不是500+頁併發論文)和C#/ VB.NET,最新版本(因爲我看到有advances)。基本上我想要一些東西,所以我可以通過玩玩具項目的概念來開始。
描述你的需求在更多的細節將有助於人們回答你的問題。你想以多線程的方式繪製整個用戶界面?你是否只有一個應該是多線程的控件?您可能會以線程池結束使用繪圖層。 – 2010-07-25 00:30:16
對不起,我主要關心的是如何以這種並行方式構造這樣的代碼(通常是同步的)。在這種情況下,它是關於一個控件可以在兩個或三個線程之間分割它的繪圖,但是讓我感到困難的是理解如何將併發性應用於通常在Paint事件上開始和完成的事情。 – 2010-07-25 02:56:59