忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2025/05/18

androidSDK重すぎてきついはなし

前回からかなり間もあき本当に3日坊主が消えないこの性格…。
なんとかしたいものです。

今日はPCの容量が足りなくなって解析したお話です。
開発環境周りの更新を行っていると空き容量が足りませんの文字…
なんだろうとみてみるとAndroidSDKで100GB取ってました。
やってくれたな…。。。

SDKといいつつ100Gってどういう事なんだろうと思ったら
エミュレータに利用するシステムイメージデータの様子。
何も考えずに全チェック入れたせいですね…。
android-sdks/system-images 以下のフォルダが最高に重かったので削除。
ひとまずソースを作る段階では不要かつ実機デバッグできる場合にも不要ですね。

SDKという以上エミュレータも含むでしょということで入ってる情報です。
入れるにしても必要最低限に絞りましょうね、というお話でした。

拍手[0回]

PR

2018/03/09 ひとりごと Comment(0)

長続きしないなぁ

やはり長続きしない。。

メモ機能として割り切ろう。

さてさて、いろいろと纏まらないことをまとめていきましょう。
最近はシェーダ―と格闘中なのでそちら方面で。

基本事項は以下の通り
・条件は利用しない。2値を選ぶ場合はlerpとか利用する
・組み込み関数はなるべくまとまった変数に利用する
・掛け算、足し算の順序を変えてみる

たまにsaturateがmaxとかになっているのを何とかしたい今日このごろ。
saturate代入は1命令なのに
maxの後に代入だと2命令なんですよね。

ここまでくるとアセンブラも視野に入れるべき…?
いや、ひとまずは開発ですね。

さてさて、
沢山のキャラをわいわいさせるためにも
シェーダ―の処理コスト削減がんばるぞー!


拍手[0回]

2015/10/27 ひとりごと Comment(0)

ラムダ式ってなんぞ

vs2015のプロジェクトを立ち上げてすぐに目についた処理

プログラム
create_task([this, deferral]()
{
 m_deviceResources->Trim();
 // ここにコードを挿入します。
 deferral->Complete();
});

//-----------------------------------------------------

// シーン オブジェクトを更新します。
m_timer.Tick([&]()
{
 // TODO: これをアプリのコンテンツの更新関数で置き換えます。
 m_sceneRenderer->Update(m_timer);
 m_fpsTextRenderer->Update(m_timer);
});

むむ、これはラムダ式……
見たことはあるけど触ったことはない。
ということで軽く勉強。

・ラムダ式の定義
[] : ラムダキャプチャ(キャプチャは「&:参照」「=:コピー」で変数ごとの指定も可能)
() : 引数(ない場合省略可)
{} : 複合ステートメント(処理の実装部分)

・ラムダ式を使ってみる
 (※最後のカッコは「呼び出し」で、引数を渡します。)

プログラム
// 15を返す式( キャプチャ:無し 引数:無し 実装:return 15 )
int val15 = [] () { return 15; } ();
int val15 = [] { return 15; } (); // 引数部無しでも可

// 足し算( キャプチャ:無し 引数:int a, b; 実装:return a+b )
int a = 5, b = 7;
[] (int a, int b) { return a+b; } ( a, b );

// テスト関数
int testFunc()
{
 int a = 10, b = 2, c = 3;
 // aを20で上書きする( キャプチャ:参照 引数:なし 実装:a = 20)
 [&] { a = 20; } ();

 // ちなみにキャプチャがコピーのとき値の変更は不可能
 // この例だとたとえ変更できてもコピーされた値を書き換えただけなので
 // 結局反映されないんですけどね。
 //[=] { a = 20; } (); // コンパイルエラー
 
 return a*b - a*c;
}

ざっとこんな感じみたいです。

普通に関数書けるのであれば難しくないですね。
Func();
ラムダ();

むしろこれを引数にできたりするので実装を外に丸投げできますし
かなり素敵な機能……。

使うタイミングがあれば使っていこうかな、と思います。

拍手[0回]

2015/08/09 プログラム Comment(0)

前方宣言 typedefの解決

やっと時間が出来始めたので制作開始。

さて、前方宣言の解決のメモ。


namespaceは普通にこう。

プログラム
// 前方宣言
namespace MySpace
{
 class MyClass;
};

// 使用例
void func(const MySpace::MyClass& object);

typedefは
プログラム
struct BaseClass
{
 int a, b c;
};
// typedef
typedef BaseClass MyClass;
という型があったとして、
MyClassを前方宣言したい場合

プログラム
// 前方宣言
struct BaseClass;
typedef BaseClass MyClass;

// 使用例
void func(const MyClass& object);
という風に
typedefする前の型も宣言すると使用できます。

基本メモ、と言うことで。

拍手[0回]

2015/07/15 プログラム Comment(0)

時間が作れない(白目)

なんとか時間を作って自主制作(というかテスト)を進めてはいるんですが全く進まない。

どころか日頃の仕事にまで悪影響が。

計画をたてて時間通りに作業をするといいらしいですね。
知力が上がる画像とかもある(らしい)ので是非あやかりたい。。
いや、こんなことを言ってるうちは無理かな。

とりあえず日常優先。
そこからの趣味ですからね。

疲れを取らねば。
おやすみなさい。

拍手[0回]

2015/06/02 ひとりごと Comment(0)

プロフィール
 
HN:
ユニ
性別:
男性
 
 
カテゴリー
 
 
 
最新記事
 
(03/09)
(10/27)
(08/09)
(07/15)
(06/02)