4

スクロール軸を 60 fps でレンダリングしようとしています。axisGroupElement.call(axis)スケールのドメインを更新し、ループ内で呼び出すのと同じくらい簡単でした。残念ながら、スケールが異なると、目盛りとテキストが揺れる非常に滑らかなアニメーションが生成されます。

http://jsfiddle.net/langdonx/fTcrU/11/

  • ジグリングは、おそらくコンテナーの幅とスケールのドメインの長さに依存します...さまざまな結果が得られるようにドロップダウンを変更してみてください。

だから、私は創造的で、必要なサイズの 3 倍の軸をレンダリングし、グループ全体をよりスムーズなスクロールのために変換すると考えました。残念ながら、それはほぼ同じ結果をもたらします。

さらに一歩進んで、SVG 要素全体を移動しました。これは少しスムーズですが、大きなハックです。

また、再描画のスクロールと同じ速度で独自の変換スクロールを取得できないという問題もあります。時間の経過とともに遅れているようです。ピクセルあたりのミリ秒を計算して突き止めたと思っていましたが、それは完全に正しいとは思えません。特定の解像度が 1px で刻々と進み、残りのミリ秒を保存し、いくつかの刻みで 2px に調整される様子を見るのは興味深いことです。

私にできることはありますか、またはこれらの不規則な幅/時間範囲をスクロールすると、常に滑らかではないアニメーションが生成されますか?

ティア!

4

1 に答える 1

0

軸の再描画の例は、変換値をより正確に浮動小数点数として設定するため、見栄えがよくなりますが、変換の計算では整数が生成されます。

float を生成するようにアルゴリズムを修正しました。「再描画」と「再描画と変換」の例は同じに見えます。

http://jsfiddle.net/xJJHM/1/

関連する変更は、

_left -= msPassed / _msPerPixel;

左配置でも同じことをしようとしましたが、そのためには整数値が必要であることがわかりました。

これについて詳しく説明しているポール アイリッシュによる記事/ビデオを見つけました: http://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/

于 2014-01-14T10:43:09.190 に答える