[PR] | 2025.04.04 20:53 |
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
category : |
カレンダー
プロフィール
最新記事
(10/15)
(06/17)
(01/09)
(12/14)
(06/20) カテゴリー
|
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
| |||||||||||||||||||
PR
半年ぶりにこのタイトルで書きます。 別件でマルチスレッド処理を検討している時に、ふと現行のVer:1.0系の マルチスレッド周りの処理の改善案が思い浮かびました。 早速実装してみると・・・、これが大当たり! fpsが伸びなかったり、CPU負荷が増えたりと一癖あったマルチスレッド 処理が大幅に改善しました。 以下、実験結果です。 縦軸に「Ver:1.0b」というのが現行品、「ver:1.1」というのが今回開発 した改良型です。 横軸がfps数で、基本的に右に行くほど高速に動作していることを表します。 (クリックで拡大) 実験環境~ CPU:Core 2 Duo 3GHz、Memory:4GB(実質3GB)、 GPU:GeForce 9800 GT、OS:Windows7 32bit ブロック数0個 ポイント数0個 1920x1080のディスプレイに最大化表示 マルチスレッド周りを改良したにも関わらず、なぜかOFFに設定しシングル スレッドで動作させた場合にも改善が見られる理由は分かっていません。 なお、この環境は改良前後に関わらず、CPU負荷はOFFで50%、ONで80% ほどでした。 細かいデータは取っていませんが、PC(環境)によって特徴の出方が 異なるようです。他のPCでは、マルチスレッド時のfpsは大差ないもの の、改良前後でCPU負荷が半減する効果が出る場合も確認できました。 XopsAddonCreatorの次回バージョン(Ver:1.1?)から、この改良した マルチスレッド処理を導入する予定です。 ただし、公開時期などは未定です。 「他所を改良したら全体的に処理が重くなり、fps数の増加(改善)分が 帳消しに」ってこともあり得ますし、全ての環境で動作が改善することを 保証するつもりはありません。
今はとりあえず物理エンジンのBulletで、適当な3Dプログラムを書いていますが、 このまま開発を続行するか、違う物の開発にあたるか 迷っています。 大きく3つの方向性を考えています。 ・Bulletで適当に新しい物を作る ・XopsAddonCreatorを開発し直す ・OpenXOPSを開発する 【Bulletで適当に新しい物を作る】 現状やっている開発の続行です。 利点として、せっかく慣れたBulletを続けられる、過疎化したXOPSに依存しない、 新しいことにチャレンジできるということです。 逆に欠点としては、そもそも開発する物が正式に決まっていない(未検討)である ことや、公開する場所や方法が確保できていないなどの問題があります。 【XopsAddonCreatorを開発し直す】 クラスを全く使っていないXopsAddonCreatorを、オブジェクト指向で全面作り 直す作業です。 利点として、開発する目的と目標が明確である、公開場所(みかん箱)が正式に 用意されている、やろうと思えば海外展開も可能(韓国など)、自身で最も規模 が大きいソフトウェアの開発にオブジェクト指向を活用できる点です。 一方大きな欠点もあり、既に完成したソフトの焼き直しで技術的に面白みに欠ける 、過疎化が深刻になっているXOPSに大きく依存し需要が不透明という問題です。 【OpenXOPSを開発する】 去年の2月下旬頃に考えていた、偽XOPS(fxops)でのノウハウを元に、オープン ソースのXOPS互換を目指したゲームおよびそのプロジェクトです。 利点は、自身で悔いが残る偽XOPSの開発にあてられる、XOPS界内外からの注目 を集めることができればXOPS過疎化を打開できる可能性がある、自身初のオー プンソースプロジェクトを経験できるという点があります。 一方で、そもそもXOPSを名乗った似て非なる別ゲームになる、アイディア自体 はnine-two氏のゲームなのでオリジナルのアイディアを組み込みにくい、同理由 で自作した達成感が少ない、(利点と逆に)内外から注目されないと無意味な 開発で全く需要がない、トラブル防止のため本家のnine-two氏に確認を取りたい がnine-two氏が多忙で難しい可能性がある っといった具合です。 自分の時間と手間の関係で、どれか1つを選ばなければなりません。 (あるいは、いっそどれも選ばない=何もしない) それぞれ魅力的な利点と深刻な欠点を抱えているので、単純に決めることができ ないのが悩ましいところです。
長らくブログを放置してすいません。 そしてすごい投稿時間。 なんか最近書いてないなぁ・・・って思ったら、半月以上書いてなかった みたいですね。 忙しい山場は越えたみたいです。 ちょくちょく休日(丸一日家に居られる日)が取れるようになりました。 徹夜した3月上旬とは大違いで、よく休めています。 最近は、勉強も兼ねてC++で物理エンジンのBulletをやっています。 正月の時と比べてBulletにも慣れてきました。 オブジェクト指向によるクラス利用(設計と記述)は、まだ規模が大きな ものは不慣れですが、果敢に挑んでいるおかげで、だいぶコツが掴めて きた感じです。もう少し経験を積めば、次回何かしらの大規模なソフト ウェアを開発するときに、オブジェクト指向でクラスを多用して設計・ 開発できそうです。 去年の9月から数えると既に半年近く経っているのですが、一向に改善 する気配すらない「XOPSサーチエンジン」のサーバーが重い件。 サーバー運営側の対応は期待できないので、何かしらの手を打つこと にしました。 (決して法的な手段とかではありません。) まっ先に思い浮かぶのはサーバー移転ですが、サイトに相互リンクを 張って頂いている各サイトの管理人様に、移転先へのリンク変更を 依頼して応じてもらえるか分かりません。 そもそも、致命的なほど進んだXOPS界の過疎状態に対して、サーチ エンジンを維持管理する需要があるのか分りません。 現在、これを機に「XOPSサーチエンジン」の運営を終了する(=閉鎖) ことも含めて検討しています。 詳細が決まり次第、別途報告します。
単に「生きています」とか書いて生存報告しても面白くもなんともないので 最近感じていることをダラダラ書きます。 「XopsAddonCreator」の開発 -15 (2013/07/12) ポイントエディタ(XPE+)でHSPを使用していたにも関わらず、XopsAddon CreatorではC/C++を採用した理由は、この時に触れた通りです。 あえて補足しなければいけないこととすれば、この時は曖昧な表現でうまく 誤魔化していますが、「C/C++」っと言ってもC++としては基本的な文法 のみです。クラスなどの言わばオブジェクト指向は一切使用していません。 開発を始めた2012年9月当時はHSPに慣れ過ぎていて、恥ずかしながら純粋 なC言語の細かい文法が理解できていなかった状況でした。 ある程度確実にソフトウェアを完成させるには、あえてオブジェクト指向 には手を入れず、純粋なC言語の文法(厳密には考え方)を使用することに 徹したつもりです。 しかし、今になってここ最近思っていることは、多少強引にでもC++の 機能をフルに活用してオブジェクト指向による開発を選択するべきだった のではないかと悔やんでいます。 確かに純粋なC言語が扱えないのは論外ですが、オブジェクト指向を扱った 経験が圧倒的に足りないのも致命傷になっています。今から経験を積む のも遅くはないですが、XopsAddonCreatorほどある程度の規模をもった ソフトウェアを作る機会は殆どなく、オブジェクト指向をフルに活用して 作れる機会を逃してしまった気がします。 一方で、まともにC言語が扱えなかった2012年9月当時から、いきなり C++でオブジェクト指向を使ってソフトウェア(XopsAddonCreator) を作っていたら、ソフトウェア自体は完成していなかった可能性が非常に 高いです。殆ど経験がない以上クラスの設計や実装も滅茶苦茶になるのは 避けられず、ポイントエディタ(XPE+)のように不具合だらけで完成度 が著しく低いソフトウェアになったかもしれません。 XopsAddonCreatorっという一本のソフトウェアを仕上げるに題して 「物自体の完成を優先するか」「高度な技術習得を優先するか」っという のは、一概には決められない難しい問題です。
生きています。息しています。 って感じで生存報告っと。 長らく放置してすいません。のんきにブログを更新する時間がありません でした。別に過去形じゃなくて、今もそれなりに時間はないのですが。 自分でもそろそろ倒れるんじゃないかと心配するほど大変な状況です。 最近は様々な人に会っています。 大げさな表現かもしれませんが、様々な人に会って色々な話を聞くたびに、 自分の世界観がちょっとづつ広がっている気がします。 様々な立場の人から色々な話を聞けるのって、面白いですよね。
※過去のブログ記事は 原則として編集・修正していません。 | ||||||||||||||||||||
△ TOP |