Togetter/min.tを安心してお使い頂くためのガイドラインを公開しました。
2010年7月8日

OpenGL ESでテクスチャを扱う場合の、メモリ消費についての講義

@splhackさんによる、テクスチャを扱う場合のポイントについての講義録です。 ありがとうございました。
14
Hirohito Kato ⌘ @hkato193

いくらPNG画像の大きなテクスチャデータとはいえ、DisplayLinkのフレームレートでガタつきなく表示できているとなれば、パフォーマンスについては今は大丈夫と言えるのかな(将来は考えないとして)

2010-07-08 13:52:25
sakamoto.kazuki @splhack

@hkato193 ちゃんと知りたいのでしたらInstrumentsでOpenGLESのRenderer UtilizationとTiler Utilizationを調べましょー

2010-07-08 14:00:44
Hirohito Kato ⌘ @hkato193

@splhack ありがとうございます!CA FPSは60べったりなものの、Resource Bytesが26MBを指しています。その他ご指示の項目は画像のとおりで問題なさげ。26MBだけが何だか「多い」感じ?です http://twitpic.com/23dyqn

2010-07-08 14:15:48
Hirohito Kato ⌘ @hkato193

そうか、InstrumentsのOpenGLESを使ってfpsを調べるのか。メモメモ。

2010-07-08 14:16:29
Hirohito Kato ⌘ @hkato193

@splhack ちなみに、画面はムービー代わりなので4頂点による1ポリゴンのみ、それにピクセルマップをu-v指定でずらして表示、ということをやってます。頑張りますね!

2010-07-08 14:20:05
Hirohito Kato ⌘ @hkato193

@hkato193 このResource Bytesは何をしたら少なくできるのだろう・・・

2010-07-08 14:20:21
Hirohito Kato ⌘ @hkato193

ドキュメントにあった。Resource Bytesは「The number of bytes used for textures」だ。ん?VRAM24MBを超えると何が起きるんだ? http://bit.ly/9SuVd0

2010-07-08 14:22:18
sakamoto.kazuki @splhack

@hkato193 テクスチャのフォーマットはRGBA8888とかですか?

2010-07-08 14:26:03
Hirohito Kato ⌘ @hkato193

@splhack データを作成するときにw*h*4バイトでとっているので、元画像に関係なくRGBA8888扱いになっているかもです。

2010-07-08 14:33:45
根菜(0.3%の希少種) @DEARNA

@hkato193 OpenGLの話だと思いますけど、テクスチャ設定関係の関数がエラーを出力するようになるだではないかと・・・

2010-07-08 14:26:55
Hirohito Kato ⌘ @hkato193

@DEARNA それが出ていませんでした・・・。

2010-07-08 14:37:07
sakamoto.kazuki @splhack

@hkato193 3GSより前がPowerVR MBX Liteで、これはVRAM24MBです。フレームバッファとかも必要ですから、20MBくらいでキツいはずです。

2010-07-08 14:29:05
sakamoto.kazuki @splhack

@hkato193 動的に作ってるのでしたら残念ながらPVRTCは無理ですね。3Gにも対応するのでしたら、RGB565にした方が無難かと。

2010-07-08 14:36:01
Hirohito Kato ⌘ @hkato193

@splhack 画像読み込みの処理から見てますです。読み込み処理はパンカクさんの方が書いた本にあったソースです。

2010-07-08 14:36:21
Hirohito Kato ⌘ @hkato193

@splhack あ、動的ではないので内部で変換をかけなくても大丈夫です。…歯にものが詰まったような言い方ですみませんが、もう少ししたらお伝えできますので。

2010-07-08 14:39:45
sakamoto.kazuki @splhack

@hkato193 動的でないのでしたらPVRTCがおすすめです。特に自然画なら見比べてもなかなかわかりません。renderer utilizationも結構下がります。

2010-07-08 14:42:00
sakamoto.kazuki @splhack

@hkato193 あと3G以前も対応するのでしたら、touchで動作確認した方がいいですよー (3rd 32/64GB除く)

2010-07-08 14:43:13
Hirohito Kato ⌘ @hkato193

@DEARNA いや、根本的に何か勘違いをしているかもしれませんので、今色々と見ています。ありがとうございます。

2010-07-08 14:48:25
根菜(0.3%の希少種) @DEARNA

@hkato193 いえいえ。こちらこそ参考になります。

2010-07-08 14:49:10
Hirohito Kato ⌘ @hkato193

PNG8画像をCGContextCreate()しようとしても「Unsupported color space」とでるなど。CGImageGetColorSpace()で返す構造体って、中味は見れないのかな。

2010-07-08 15:00:12
Hirohito Kato ⌘ @hkato193

あれー?PVRTCファイルを読み込ませてみたときもResource Bytesが26MBべったりだ・・・

2010-07-08 15:17:46
Hirohito Kato ⌘ @hkato193

でも、png指定したときとの画面表示に違いがあるから、原因は別にありそう。

2010-07-08 15:20:36
Hirohito Kato ⌘ @hkato193

@Seasons さん、「そのまま使える〜」で質問させてください。テクスチャ説明の際のソースで、PVRTextureクラスからGLuintの値を取り出すプロパティが「name」なのですが、id等ではなくnameなる名前が使われているのは何故でしょうか?そういう文化なのでしょうか?

2010-07-08 15:36:14
残りを読む(25)

コメント

Hirohito Kato ⌘ @hkato193 2010年7月8日
チェックアイテムを追加しました
0