gsap-performance
GSAPアニメーションのパフォーマンス最適化に特化した公式スキルで、transformの優先使用、レイアウトスラッシングの回避、will-changeの活用、バッチ処理などのベストプラクティスを提供します。アニメーションのカクつき解消やFPS改善、滑らかな60fps描画の実現を目指す際に使用してください。
description の原文を見る
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching. Use when optimizing GSAP animations, reducing jank, or when the user asks about animation performance, FPS, or smooth 60fps.
SKILL.md 本文
GSAP パフォーマンス
このスキルを使用する時期
GSAP アニメーションをなめらかな 60fps に最適化する場合、レイアウト/ペイントコストを削減する場合、またはユーザーがパフォーマンス、ジャンク、高速アニメーションのベストプラクティスについて質問する場合に適用します。
関連スキル: gsap-core(transform、autoAlpha)と gsap-timeline でアニメーションを構築し、ScrollTrigger パフォーマンスについては gsap-scrolltrigger を参照してください。
Transform と Opacity を優先
transform(x、y、scaleX、scaleY、rotation、rotationX、rotationY、skewX、skewY)と opacity をアニメーションすることで、コンポジターでの処理が行われ、レイアウトと大部分のペイントが回避されます。同じ効果を実現するために transform が使用できる場合は、レイアウトが重いプロパティのアニメーション化を避けてください。
- ✅ 優先: x、y、scale、rotation、opacity。
- ❌ 可能な限り避ける: width、height、top、left、margin、padding(レイアウトをトリガーし、ジャンクを引き起こす可能性があります)。
GSAP の x と y はデフォルトで transform(translate)を使用します。移動には left/top の代わりに使用してください。
will-change
アニメーションするエレメントの CSS に will-change を使用します。これはブラウザーにレイアーをプロモートするようにヒントを与えます。
will-change: transform;
バッチ読み取りと書き込み
GSAP は内部で更新をバッチ処理します。GSAP と直接 DOM の読み取り/書き込みまたはレイアウト依存コードを混在させる場合、繰り返されるレイアウト スラッシュを引き起こす方法で読み取りと書き込みをインターリーブしないでください。すべての読み取りを最初に実行してから、すべての書き込みを実行することを優先します(または GSAP に一度に書き込みを処理させます)。
多くのエレメント(Stagger、リスト)
- アニメーションが同じ場合、手動遅延を持つ多くの個別のトウィーンの代わりに stagger を使用します。より効率的です。
- 長いリストの場合、仮想化 を検討するか、表示可能なアイテムのみをアニメーション化します。ジャンクを引き起こす場合、数百の同時トウィーンを作成しないでください。
- 可能な限りタイムラインを再利用します。フレームごとに新しいタイムラインを作成しないでください。
頻繁に更新されるプロパティ(例:マウス フォロワー)
頻繁に更新されるプロパティ(例:マウス フォロワー x/y)の場合、gsap.quickTo() を優先します。各更新時に新しいトウィーンを作成する代わりに、単一のトウィーンを再利用します。
let xTo = gsap.quickTo("#id", "x", { duration: 0.4, ease: "power3" }),
yTo = gsap.quickTo("#id", "y", { duration: 0.4, ease: "power3" });
document.querySelector("#container").addEventListener("mousemove", (e) => {
xTo(e.pageX);
yTo(e.pageY);
});
ScrollTrigger とパフォーマンス
- pin: true はピン留めされたエレメントをプロモートします。必要なもののみをピン留めします。
- 小さな値(例:
scrub: 1)を使用した scrub は、スクロール中の作業を削減できます。低スペックデバイスでテストしてください。 - ScrollTrigger.refresh() はレイアウトが実際に変更された場合(例:コンテンツ読み込み後)のみ呼び出します。すべてのリサイズで呼び出さないでください。可能な場合はデバウンスします。
同時作業の削減
- 画面外または非アクティブなアニメーションが表示されていない場合(例:ユーザーが移動した場合)、一時停止またはキルオフします。
- 多くのエレメントで膨大な数のプロパティをアニメーション化しないでください。必要に応じて簡素化またはシーケンスしてください。
ベストプラクティス
- ✅ transform と opacity をアニメーション化します。will-change は実際にアニメーション化するエレメントの CSS のみで使用します。
- ✅ アニメーションが同じ場合、手動遅延を持つ多くの個別のトウィーンの代わりに stagger を使用します。
- ✅ 頻繁に更新されるプロパティ(例:マウス フォロワー)に gsap.quickTo() を使用します。
- ✅ 画面外のアニメーションをクリーンアップまたはキルオフします。レイアウト変更時に ScrollTrigger.refresh() を呼び出し、可能な場合はデバウンスします。
しないこと
- ❌ x/y/scale で同じ外観を実現できる場合、移動に width/height/top/left をアニメーション化しないでください。
- ❌ 「念のため」すべてのエレメントに will-change または force3D を設定しないでください。実際にアニメーション化するエレメント用に使用します。
- ❌ 低スペックデバイスでテストせずに、数百の重複するトウィーンまたは ScrollTrigger を作成しないでください。
- ❌ クリーンアップを無視しないでください。取り残されたトウィーンと ScrollTrigger は実行し続け、パフォーマンスと正確性に悪影響を与える可能性があります。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- greensock
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/greensock/gsap-skills / ライセンス: MIT
関連スキル
nano-banana-2
inference.sh CLIを通じてGoogle Gemini 3.1 Flash Image Preview(Nano Banana 2)で画像を生成します。テキストから画像を生成する機能、画像編集、最大14枚の複数画像入力、Google Searchグラウンディング機能に対応しています。トリガーワード:「nano banana 2」「nanobanana 2」「gemini 3.1 flash image」「gemini 3 1 flash image preview」「google image generation」
octocode-slides
洗練されたマルチファイル形式のHTMLプレゼンテーションを生成します。6段階のフロー(概要 → リサーチ → アウトライン → デザイン → 実装 → レビュー)で構成されています。各スライドは独立したHTMLファイルとなり、iframeで読み込まれます。「スライドを作成してほしい」「プレゼンテーションを作ってほしい」「HTMLスライドを生成してほしい」「デックを構築してほしい」といった依頼や、ノート・ドキュメント・コードを洗練されたプレゼンテーションに変換する際に使用できます。
gpt-image2-ppt
OpenAIのgpt-image-2を使用して、視覚的に優れたPPTスライドを生成します。Spatial Glass、Tech Blue、Editorial Monoなど10種類のキュレーション済みスタイルに対応し、ユーザーが提供したPPTXファイルを模倣するテンプレートクローンモードも搭載しています。HTMLビューアと16:9形式のPPTXファイルを出力します。プレゼンテーション、スライド、ピッチデック、投資家向けPPT、雑誌風PPTの作成依頼などで活用してください。
nano-banana
Nano Banana PRO(Gemini 3 Pro Image)およびNano Banana(Gemini 2.5 Flash Image)を使用したAI画像生成機能です。以下の場合に活用できます:(1)テキストプロンプトからの画像生成、(2)既存画像の編集、(3)インフォグラフィックス、ロゴ、商品写真、ステッカーなどのプロフェッショナルなビジュアルアセット制作、(4)複数画像での人物キャラクターの一貫性保持、(5)正確なテキスト描画を含む画像生成、(6)AI生成ビジュアルが必要なあらゆるタスク。「画像を生成」「画像を作成」「写真を作る」「ロゴをデザイン」「インフォグラフィックスを作成」「AI画像」「nano banana」またはその他の画像生成リクエストをトリガーとして機能します。
oiloil-ui-ux-guide
モダンでクリーンなUI/UXガイダンス・レビュースキルです。新機能や既存システム(Webアプリ)に対して、実行可能なUI/UX改善提案、デザイン原則、デザインレビューチェックリストが必要な場合に活用できます。CRAP(コントラスト・反復・配置・近接)をベースに、タスクファーストなUX、情報設計、フィードバック・システムステータス、一貫性、affordances、エラー防止・復旧、認知負荷を重視します。モダンミニマルスタイル(クリーン・余白・タイポグラフィ主導)を強制し、不要なテキストを削減、アイコンとしての絵文字を禁止し、統一されたアイコンセットから直感的で洗練されたアイコンを推奨します。
axiom-hig-ref
Apple Human Interface Guidelines リファレンス — 色(セマンティックカラー、カスタムカラー、パターン)、背景(マテリアル階層、ダイナミック背景)、タイポグラフィ(標準スタイル、カスタムフォント、Dynamic Type)、SF Symbols(レンダリングモード、色、多言語対応)、ダークモード、アクセシビリティ、プラットフォーム固有の考慮事項を網羅したガイドラインです。