1

自動CADアプリのように、OpenGLES 2.0でGLSurfaceViewを使用して、線、円を描画するためのAndroidアプリを作成しました。

このアプリは Google Nexus 7 でうまく機能します。線を描いてから円を描いても、線が表面ビューで消去されないという意味です。しかし、Samsung Galaxy Note II では、まったく異なります。

円が描かれる前に以前に描かれた線が消去されます。つまり、新しい線や円を描くたびに、前の線や円は消去されます。一度に 1 つのイメージしか描画できません。私が必要としているのは、Samsung Galaxy Note II の Google Nexus 7 で取得したものと同じ出力です。つまり、GLSurfaceView で一度に複数の画像を描画したいのです。

注 : Google Nexus 7 と Samsung Galaxy Note II の Android OS は両方とも Jelly Bean 4.2 です。ただし、両方のデバイスは異なる GPU です。Google Nexus 7 GPU は ULP GeForce で、Samsung Galaxy Note II は Mali400MP です。

これは、Surfaceview の出力のレンダリングで問題になりますか?

コーディング中に GPU を考慮する必要がありますか?

異なるデバイスで異なる出力が発生するというこの問題の理由を誰か教えてもらえますか?

4

2 に答える 2

0

あなたのコードは見ていませんが、おそらく何か間違ったことをしているのでしょう。たぶん、バッファを交換したり、消去したりしてはいけません。

コーディング中に GPU を考慮する必要がありますか? まさか、OpenGL API はアプリケーションとハードウェアの間のレイヤーです。

于 2013-06-19T09:27:19.960 に答える