| [PR] | 2026.02.03 07:17 |
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
| category : |
カレンダー
プロフィール
最新記事
(10/04)
(10/15)
(06/17)
(01/09)
(12/14) カテゴリー
|
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 |