私は私の質問を明確にしようとするでしょう:C#で関数呼び出しとイベントの間にパフォーマンスの違いはありますか?
私は、(これは誰か(XNA)は毎秒彼女の60回を呼び出す)関数はドローと呼ばれてい と私は描画する多くのオブジェクトを持っているので、私は次のコードを持っています: void Draw() { obj1.draw(); obj2.draw(); obj3.draw(); .... }
代わりに、私はDraw()によって生成されるイベントを作成し、すべてのオブジェクトがイベントにサインアップする場合、パフォーマンスに影響はありますか?
私が尋ねていることを明確にしない場合: イベントにサインインして関数を呼び出すのが通常の呼び出しと異なるのですか?
パフォーマンスにはコメントできませんが、イベントドリブンシステムに切り替えるとコードの保守性が大幅に向上し、確かに優れた設計と言えます。 –
また、イベントハンドラは通常、独自のスレッドで実行されます。関数呼び出しは同じスレッドで実行されます。あなたはUI操作を伴うと思われる描画について話しているので、これに注意する必要があります。 – ryadavilli
@ryadavilli私は特定のイベントハンドラが正常に起動すると、自分のスレッドで起動しないことを確認しています。イベントハンドラは、現在のスレッドで順次実行されます。 – Maarten