ナナエフ

同人ゲームサークル『7-FIELD』制作ブログ  -ゲーム制作やイベント参加などの活動情報 + 雑記-

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

C#でのバックグラウンド処理実行方法…時間のかかる処理はマルチスレッドで。

tetsuwoです。 【 twitter


当サークルの前作「薄鈍アドベント」は

画面遷移によって発生するロード処理が重いのが大きな欠点となっておりました。


さらに画像やサウンドを読み込んでいる最中は処理が止まり、画面の更新が行われない仕様でした。

理想はファイルを取得しつつ、画面や処理を進めたい。


以外に簡単にマルチスレッド実装できたので、その方法について。
 
 
バックグラウンドの処理実行準備

BackGroundWorker 」 という機能を使います。

VisualStudioでの定義方法は下記の通り。

  手順① メニューバーの「表示」から、ツールボックスを表示するよう設定
  
  手順② ツールボックス内の「 BackGroundWorker 」を、Formにドラッグして追加
  
  手順③ BackGroundWorkerのプロパティから「 DoWork 」イベントを設定
  
     ※画面ではメソッド「Work」を定義しております。これが別スレッドで実行される処理。

BGW_130530.png


処理実行

処理を呼び出したいタイミングで、「 BackGroundWorker.RunWorkerAsync(); 」 を実行します。

するとこれが DoWork イベントのトリガーとなり、メインの処理と並行してWorkメソッドが実行されます。


これだけ、非常に簡単です。

tetsuwoの場合、現在制作してるものに応用するにはスコープの問題などがあり、このままでは使えませんが

BackGroundWorkerインスタンスの生成・DoWorkイベントの定義を自分で行えばいいだけ。


マルチスレッドに困る方の助けになればと思い、残しておきます。


宣伝

2031年 秋、北守新都市。生活にAR技術が根付いたこの街で

"傷"を抱えた7人がそれぞれに見出す"真実"とは。



当サークル作品「薄鈍アドベント」DL販売中です。

体験版も公開しておりますので、目に止まりましたらお試しあれ。

 
スポンサーサイト
  1. 2013/05/30(木) 18:00:00|
  2. 制作
  3. | トラックバック:0

トラックバック

トラックバック URL
http://7fblog.blog.fc2.com/tb.php/212-5e6f12fc
この記事にトラックバックする(FC2ブログユーザー)

カウンター

プロフィール

akinasi, tetsuwo

Author:akinasi, tetsuwo
FC2ブログへようこそ!

検索フォーム

カレンダー

05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

告知 (63)
制作 (88)
ソフト紹介 (19)
素材紹介 (10)
言外 (7)
雑記 (361)
ナナエ (29)

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。