2009-07-29 9 views
3

私は非常にシンプルなCAデモを持っています。画像ファイルからのコンテンツを含むレイヤーを作成し、その画像を表示します。ウィンドウ内をクリックすると暗黙のアニメーションが使用され、イメージをスムーズにマウスポイントに移動します。これはうまく動作し、完璧な滑らかさで動作します。しかし、ウィンドウが大きくなるにつれて、滑らかさが少なくなります。画面サイズの約75%を下回っても問題ありません。最大化されたウィンドウ、またはフルスクリーンモードでは、非常に粗くぎくしゃくしています。大きなウィンドウのCoreAnimationジャーキー

私はIntel Mac MiniでOSX 10.5.7を実行しています。それはインテルのGMA950 GPUを持っています。私の画面は1920 x 1200です。

私はdrawRectメソッドをまったく持っていません。暗黙のアニメーションを使用して、CALayerのpositionプロパティを設定することによってすべてが行われます。

ここでハードウェアが故障していると思われますか?

ニール・ベイリス

答えて

0

あなたのハードウェアだけで罰金と可能である - 実装が欠けています。

位置プロパティをアニメーション化したり、タッチしたりすることはできません。このプロパティは、レイヤーバックの場合はビューによって処理されます。あなたではありません。そして、何度も再計算しました。だからあなたがアニメーション化してそのプロパティを変え始めるなら、困ったことになるでしょう。 Appleによれば、少なくとも...

ここでAppleによる抜粋

- > OS Xにおける層担保ビューへの変更をアニメーション化するには、ビュー自体のインタフェースを使用するのが最適です。レイヤーにバックアップされたNSViewオブジェクトの1つに接続されているレイヤーを直接変更することはほとんどありません。 AppKitは、これらのレイヤーオブジェクトの作成と設定、およびアプリケーションの実行中にこれらのレイヤーオブジェクトを管理します。レイヤーを変更すると、レイヤーがビューオブジェクトと同期しなくなり、予期しない結果につながる可能性があります。層担保ビューのために、あなたのコードは絶対レイヤオブジェクトのいずれかの次のプロパティを変更してはなりません。 • anchorPoint•境界 •compositingFilter •フィルタ •フレーム •geometryFlipped •隠さ •位置 •shadowColorは • shadowOffset ?shadowOpacity ?shadowRadius ?transform

関連する問題