05/19 02:17 わりと前に「Androidでオンメモリデータにfdを与える」手段はないかと調べて結局見つからなかったんだけど、最近になって/dev/ashmemである程度のことはできることが判明
05/19 02:29 具体的にいうと、ashmemでfdを貰って、mmapでメモリに割り付けて、メモリに書いたデータをread(fd)で読めるところまではできた
05/19 02:32 しかし今回の相手はstat(fd)でファイルサイズを取得しようとしており、この手法だとファイルサイズが0になるので結局うまくいかず断念…
05/19 03:26 @jin1016 Androidの場合、OpenGL ESのテクスチャメモリってメインメモリからallocするもの…というかもともと専用RAMが存在しないので、ヒープ消費になっちゃうのはしょうがないですね
(meka)
05/19 03:39 @jin1016 そういえば手許のプロダクト(NDK+OpenGLESベース)ってメモリどれくらい食ってるか調べたことがなかったのでgetNativeHeapAlloocatedSize()のデバッグプリントを入れてみましたが、120MBくらいでへぇと思いつつ
05/19 04:03 (
@jin1016)
@gorry5 120MB と言うと、1024x1024 のテクスチャ 30 枚とかですが、そんなに使用しています? 12MB の間違いではないですかね? 120MBで動くというのがどうも信じられなくて……
(medu)
05/19 04:05 @jin1016 間違いなく120000KB(6桁)で出てます。ちなみにまだ開発中で最適化してないので、テクスチャバッファに転送した後に元のビットマップを捨ててなかったりするので
05/19 04:06 @jin1016 表示する画像データはこちらで管理してない(圧縮暗号化されたあとのデータだけが見られる)状況なので、何でどれくらい食ってるかは見てなかったりします :D
05/19 04:46 @jin1016 毎フレーム64KBずつmalloc()しながら動作するプログラムを作って試験してみましたが、4500ブロック(=280MBくらい)まで確保できますね
05/19 04:51 というか、Android程度でもちゃんとmalloc()したあと実際にアクセスするまでページ割り当てされないのね…w
05/19 19:04 乱数TL。「数列にある法則が見出せない状態」を「偏りがない」というなら、「偏りがない状態であり続ける」ことはつまり「「偏りがない状態」に偏ってる」のよね :D