質問: CreateGraphFromSoftImage(handle); DeleteSoftImage(handle); DrawGraph(0,0,grhandle,TRUE) ``` としています。 コンパイルや実行はできているのですが、表示される画面が砂嵐のようなものになっていてその解決法がわからず困っています。 しかし、並列処理している ``` #pragma omp parallel for ``` の部分をコメントアウトすると砂嵐はなくなりました。なので原因がそこにあるのは間違いないようです。 DxLibの表示画面とOpenMPの並列処理はこのように影響し合うものなのでしょうか。 もし詳しくご存じの方がおられたらぜひお知恵をお貸しください。 砂嵐の画面は毎回同じものではなく、実行したうちの何回かは砂嵐の下に表示させたい模様が垣間見えていたので模様の計算などは問題ないのかと思っています。 ### 補足情報(言語/FW/ツール等のバージョンなど) Visual C++, Visual Studio Community 2017 Windows 7 64 bit operating system
回答: DxLibは致命的にマルチスレッドと相性が悪いので、OpenCVの`cv::Mat`でいろいろして、それをSoftImage経由で表示させるのがいいと思います。OpenCVならうまくやればGPU支援も使えますし。