[PR] | 2025.04.04 21:20 |
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
category : |
カレンダー
プロフィール
最新記事
(10/15)
(06/17)
(01/09)
(12/14)
(06/20) カテゴリー
|
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
| |||
PR
毎度のように話題にしているXopsAddonCreatorにも引っ掛かってくる っというより出だしは そのままだが、XopsAddonCreatorシステムの外部データ(設定ファイルなど)は、ポイント エディタ(XPE+)と同様に、INIファイルを採用している。 自分の中で使用実績が積んであり、中身も読みやすく編集もしやすい、Windowsの標準フォー マットであるため読み書きするAPIも用意されている ということもあって、個人的に好きな ファイル形式の1つである。 ただし、この標準APIのGetPrivateProfileInt()関数とWritePrivateProfileSection()関数には 最大の弱点がある。動作速度の重さだ。 これらの関数には毎度ファイル名を指定する必要があるのだが、これは毎回ファイルを開き 直していることを意味する。高速なストレージ環境だと問題ないが、古めかしいHDD上などで かなりの数の項目数を読み込ませる場合は、致命的なほど重い。 XopsAddonCreatorも使用環境によっては起動時間の大部分を、言語ファイルとXOPSの パラメーター設定ファイルの読み込みに要す場合もある。 開発の途中からある程度覚悟はしていたが、INIファイルの読み込み関数をフルスクラッチで 自作してしまった。 書き込み機能に関しては、ソフトウェア上でオプション設定とプリセットの 新規登録くらいにしか使っておらず、しかも項目数が少ないので効果がないと判断し作って いない。 簡単なベンチマークを使って測定すると、手元の自分の環境で3秒近く掛かっていた読み込み が、わずか0.01秒強で終わるようになった。当社比で300倍である。まさしく「爆速」。 (決してこの話を主題にしたいわけではないで、詳細は割愛する) 話を本題に進める。 この自作したINIファイルの読み込み関数は、完全に自分オリジナルのアルゴリズムである。 中身はC言語による文字列操作の塊であるが、恥ずかしながら7月12日に話した通りこの ソフトウェアの開発でここまでC/C++をやりこんでなかったら作れなかったと思う。 例えDirectXで3Dゲームを作っていても、ポインタとか文字列操作が怪しかった前の自分だと 作り上げることができなかったか、たとえ形になってもバグだらけだったと思う。 XopsAddonCreatorの開発を通して、改めてC/C++をやり直すことができて本当に良かっ たと感じている。 基礎固めがここまで大切だったと実感したのは久しぶりだ。改めてこの時を思い出した。 効果が出るのが何年も先の話だったりするが、その何年も先には必要になるものである。 一歩踏み込んだ応用課題に取り組むには避けて通れない。 自分の独学スタイルは基礎をおろそかにしてしまうことが多い気がするが、今後はその曖昧 な知識を見つけて潰しながら(勉強し直しながら)、基礎固めをしていこうと思う。
※過去のブログ記事は 原則として編集・修正していません。 | ||||
△ TOP |