私は、Androidのリアルタイムチャート作成ユーティリティを作成しようとしています。ほとんどの場合、自分のパスの1つにデータポイントが多すぎると、OpenGLが壊れます。私はパスを使用しています。なぜなら、渡された値がグラフの現在の境界外にあるときに、マトリックスを介してデータセット全体を変換しているからです。私はこれについて間違った方法をとっていますか?この種のものには、より優れた/より適切なAPIがありますか?私はそれが可能だった場合、現在の境界への道を整えることを喜んで/私はそれを行う方法を知っていた。ありがとう!リアルタイムチャート作成のためのAndroidパス
onDraw:
@Override
protected void onDraw(Canvas canvas) {
scaleX = getWidth()/(maxX - minX);
scaleY = getHeight()/(maxY - minY);
// TODO: Use clips to draw x/y axis, allow color to be defined in attributes, etc.
canvas.drawColor(0xFF000000);
for (DataLine line : mPathList.values()) {
canvas.drawPath(line, line.getPaint());
}
}
当該
エラーOpenGLRendererからの警告である(DataLineのペイントオブジェクトを含むパスのサブクラスである)にレンダリングするには大きすぎる 「形状経路テクスチャ」
関連するコードを投稿してください。私たちは、例外とあなたの現在のコードを知らなくても、あなたをたくさん助けることはできません。 –
それほどたくさんあるわけではないので投稿しませんでしたが、とにかくやりますよ – JRaymond
ハードウェアアクセラレーションされたキャンバスを使用していることから、ハニカム以上のアプリを開発しているとします。その場合、パスを変更することは非常にコストがかかることを覚えておく必要もあります。 (基本的に新しいテクスチャアップロードが行われます)。あなたが描画しているポイントの数が非常に少ない場合(いくつかのダースのような場合)、すべてのフレーム上のすべてのポイントを描画することができます(キュービック近似などを行う場合でも) – Renard