3/2日記
その他
昼から気を失ってた。
プログラム
sodaでプログラムを動かしてみたところ、言語のほうがC++版よりC#版のほうが処理が早い事象に遭遇。動画作ってみた。
https://youtu.be/P3PDALrXurs
内容としては「大量にメモリ確保したリストにアクセスした際の処理が遅い」というもの。グラフィックやタイマー、コマンドプロンプト周りも確認してみたけど、大きくFPSが変更することはなかった。
これ解決した。
原因はyield処理で待ち状態を作ったこと。これによってプログラム側で待ち時間を確保することになったみたい。
ただそれだとyield使ったプログラムにおいて、sodaとMiniMicroで挙動が違うことになるが、それええんかという別の話になる。
比較できそうなプログラムを少しキレイにしたものは以下。
ただMiniMicro上だとグラフィックの取り扱いで修正が必要。
https://machiaworx.net/wp-content/uploads/2025/03/pgm_bullet_test.zip