3

MFC でコンウェイの人生ゲームを構築しています。Allegro を使用する前にビルドしたので、MFC を使用して試してみたいと思います。それで、アルゴリズムなどの移行を開始します。1 つのコアを使用して適切にレンダリングし、allegro のように美しいゲーム オブ ライフ アルゴリズムを実行します。コンウェイのライフ ゲームは、pDC->rectangle(x1, y1, x2, y2)を使用して描画された小さな四角形で構成されています。

私の問題は実際には 2 つあります。そのうちの 1 つは、pDC->rectangle(...) を呼び出すたびにすぐに描画され、この連鎖反応レンダリング スタイルが発生することです。仕事が終わったら表示したいです(directxでできることは知っていますが、MFCのデバイスコンテキストを使用してこれを行いたいだけです)。

他の問題はタイトルであり、おそらく私の主な問題です。pDC を同時実行で使用するにはどうすればよいですか。試してみたところ、奇妙なことがいくつかありました。同じメモリを占有しているが、6 コアで使用されているのと同じデバイス コンテキストであるため、OnDraw で pDC を同時実行で使用できないことはわかっています。以上です、よろしくお願いします。

4

1 に答える 1

1

すぐに描画するのを避けるために、メモリ内の abitmap に描画し、終了したら実際の DC にブリットすることができます。出発点としてこちらをご覧いただくか、CodeProject のこの記事をご覧くださいマルチスレッド部分については、複数のスレッドから同じインメモリ デバイス コンテキストを使用できるようにする必要があります。ただし、シャーテッド DC の作成とブリッティング/リリースを適切に調整する必要があります。

于 2012-09-03T18:19:19.857 に答える