サイト内検索

‘プログラム’ カテゴリーのアーカイブ

cocos2d-xを少しだけ触ってみて思ったこと

2017/06/09

cocos2d-xですが、ユーザーインターフェイスが

UIクラスとがネイティブと拡張に別れているのが非常にわかりづらい。

マニュアルが整備されているならそれも注意すればいいだけ

なんだろうけど、cocos2d-xについては情報が少ないので混乱する。

参考書も古いものならネイティブで、新しいものなら拡張でと

いったように特に注釈もなく使用されているので、混乱に拍車が掛かる。

そもそも参考書自体が少ないので

ネット情報を探していくしかないのですが・・・。

illustration

自分はソースを書きたい派なのでUnityは

とんど触ってもいないのですが、

こういったことが多いので無駄な時間を取られてしまう。

ソースを書いて制御したい!という思いがないなら

いまから勉強するならUnityのほうが良いでしょう。

生配列よりstd::arrayを積極的に使いましょう

2016/10/26

PCの性能がよくなったとはいえリアルタイムなゲームを作成するためにはコツがあります。

以下、わかる人にはわかる話

 

生配列よりstd::arrayを積極的に使いましょう。

std::arrayは生配列を単純にラップしたものですのでReleaseビルド時にはほぼ生配列と同じ速度で使用できます。

しかもコンテナのメリットを生かすことができますので使わない手はありませんね。

 

これに比べてstd::vectorは可変長配列を作成できますが

std::arrayのReleseビルド時でも3倍程度の処理速度を要求されます。

debugビルドならばさらに速度差が広がり16倍以上の差が出ます。

リアルタイムのゲームでは即時の処理が要求されますのでこの差は致命的です。

デバッグビルドとリリースビルドで内部処理の違いがあることも理解しましょう

 

60fps出すためには16.6666msの間にすべての処理を終わらせなければなりません!

よって固定長配列をつかって処理速度を優先したほうがよいのです。

vectorが便利だからと言って実はvectorの機能を使っていない場合などありませんか?

std::vectorを使ってよい場面についてはアクションやシューティングなど

リアルタイム性を要求されないゲームでそれいがいはstd::arrayを使うべきです。

節約しすぎもマシンの性能を生かしていないことになり

ソースがめちゃくちゃになったりすることもありますので

それぞれの良いところを生かして適材適所で使っていきましょう!

C++ ポインタと参照は実装上ほぼ同じでびっくらこいた話

2016/10/04

改めて勉強しなおしてポインタと参照の違いを深く理解しました。

実はどちらも「実装上は同じ」ものであった!

よく考えれば参照だってどこかに記憶領域を確保しなけりゃならないんだから

結局どちらもポインタ的に指し示すアドレスを格納する領域が必要になる。

言語仕様がより柔軟になっただけ。

当時は参照については別名(エイリアス)を定義する

というところで思考停止してました。

 

ちなみにchar * であってもlong *であっても

32bit OSであればポインタサイズは4バイト。

指し示すのはアドレス空間であるからです。

 

つまり32ビットアドレス空間は4バイトで表せるからです。

 

32ビットで表せる範囲は4,294,967,296 = 4GB

32ビットマシンでメモリの上限が4GBまでしか認識しないのはこのためです。

64ビットOSならばさらに2の32乗倍表現できますね。

市販されているマシンでは32Gぐらいのメモリが現状MAXですが

メモリ制御する電子部品のコストとの兼ね合いで32Gで収まっているだけです。

 

ちなみにポインタサイズは8バイト(64ビット)になります。

古いソフトウエアなどは32ビット版でしか対応していない場合がありますが

アドレス空間の使い方を修正できなかったり修正にコストがかかるからだったりします。

今更古いソフトを修正してもそれに見合ったリターンがない場合がほとんどですから放置されてるのですね。

 

それではまた気が向いたときに更新します!

★最新のお知らせ
営業日等変更しました!
ご依頼につきましては上部タブのフォームメールもしくはお電話(050-3706-9615)にて受け付けております!
★お気軽にご相談下さい
「パソコンサポート健太郎」は岐阜市内出張料金無料で営業しております。※一部地域除外 出張して診断だけでも歓迎です♪些細なトラブルでも結構ですのでお気軽にご相談ください
★おすすめ情報
遠隔操作にてパソコンのトラブルに対応できます。遠隔操作ですと遠方でも出張料が掛かりません!特に出張料金がかかる地域にお住まいのお客様や、素早い対応が必要な場合に特にオススメしております。お電話の際にご相談下さい。
★新品PCの手配と設置
新品パソコン(本体のみ)を6万円~お手配できます。 ご購入されたパソコンは当方でインターネット、メール、プリンター、ウイルスソフトの設定を行い、現地まで設置させていただきます。 別途ソフトウエアが必要な場合はご相談下さい。
対応エリア
岐阜市 本巣市 大垣市 各務原市 瑞穂市 方県市 羽島市 本巣郡北方町 揖斐市その他地域でもご相談いただければ出張いたします!※有料出張地域を別途ご確認ください
主な業務内容
パソコン技術サポート
パソコン修理、増設
パソコンの手配
ネットワーク構築
ネットショップ開設サポート
個人、中小企業IT顧問
その他IT相談
ご連絡先
パソコンサポート健太郎
<営業時間>
こちらをクリック
※上記営業時間外でもご相談の上、対応可能です。
<受付>
メールフォームまたは
IP電話 050-3706-9615
健太郎のつぶやき