[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9312":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":14,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},9312,"flutter_smooth","fzyzcjy\u002Fflutter_smooth","fzyzcjy","Achieve ~60 FPS, no matter how heavy the tree is to build\u002Flayout","https:\u002F\u002Ffzyzcjy.github.io\u002Fflutter_smooth\u002F",null,"Dart",1692,74,21,31,0,14,3,18.63,"MIT License",false,"master",true,[25,26,27,28],"dart","flutter","fps","smooth","2026-06-12 02:02:05","\u003C!-- start: title -->\n\n# [flutter_smooth](https:\u002F\u002Fgithub.com\u002Ffzyzcjy\u002Fflutter_smooth\u002Ftree\u002Fmaster)\n\n\u003C!-- end: title -->\n\n![logo](https:\u002F\u002Fraw.githubusercontent.com\u002Ffzyzcjy\u002Fflutter_smooth_blob\u002Fmaster\u002Fmeta\u002Flogo.svg)\n\n\u003Ccenter>\u003Csmall>Achieve ~60 FPS, no matter how heavy the tree is to build\u002Flayout.\u003C\u002Fsmall>\u003C\u002Fcenter>\n\n## 🎼 3-second video\n\n\u003C!-- start: video -->\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F5236035\u002F196152010-09a2d829-c94c-48b4-80ed-0633430329ec.mp4\n\n\u003Csmall>\u003Csmall>(left = without smooth, right = smooth; captured by external camera to maximally demonstrate end-user perception. High-resolution video [here](https:\u002F\u002Ffzyzcjy.github.io\u002Fflutter_smooth). Deliberately made it super janky for clear demonstration.)\u003C\u002Fsmall>\u003C\u002Fsmall>\n\n\u003C!-- end: video -->\n\n## 📚 1-minute explanation\n\n### Purpose\n\nNo matter how heavy the tree is to build\u002Flayout, it will run at (roughly) full FPS, feel smooth, has zero uncomfortable janks, with negligible overhead. (Detailed reports [here](https:\u002F\u002Ffzyzcjy.github.io\u002Fflutter_smooth\u002Fbenchmark))\n\n### Usage\n\nTwo possibilities:\n\n* **Drop-in replacements**: For common scenarios, add 6 characters (\"Smooth\") - `ListView` becomes `SmoothListView`, ``MaterialPageRoute`` becomes `SmoothMaterialPageRoute`.\n\n* **Arbitrarily flexible builder**: For complex cases, use `SmoothBuilder(builder: ...)` and put whatever you want to be smooth inside the `builder`.\n\n## 🚀 What's next\n\nThe documentation - https:\u002F\u002Ffzyzcjy.github.io\u002Fflutter_smooth\u002F, with usage, demo, benchmark, insights, and more.\n\n> **Note**\n> Feel free to create an [issue](https:\u002F\u002Fgithub.com\u002Ffzyzcjy\u002Fflutter_smooth\u002Fissues) if you have any questions\u002Fproblems. I usually reply quickly within minutes if not hours, except for sleeping :)\n\n## 💭 Current status\n\nNow I am working on pull requests to Flutter framework and engine (i.e. not directly modifying code in this repository), such that you can use this package with standard stable Flutter. An auto-generated list of PRs can be seen [here](https:\u002F\u002Fcjycode.com\u002Fflutter_smooth\u002Finsight\u002Fstatus), or conversations [here](https:\u002F\u002Fcjycode.com\u002Fflutter_smooth\u002Finsight\u002Fconversation\u002F).\n\n## Contributors\n\n\u003C!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fall_contributors-7-orange.svg?style=flat-square)](#contributors-)\n\u003C!-- ALL-CONTRIBUTORS-BADGE:END -->\n\nThanks goes to these wonderful people ([emoji key](https:\u002F\u002Fallcontributors.org\u002Fdocs\u002Fen\u002Femoji-key) following [all-contributors](https:\u002F\u002Fgithub.com\u002Fall-contributors\u002Fall-contributors) specification):\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n\u003C!-- prettier-ignore-start -->\n\u003C!-- markdownlint-disable -->\n\u003Ctable>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffzyzcjy\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5236035?v=4?s=100\" width=\"100px;\" alt=\"fzyzcjy\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>fzyzcjy\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffzyzcjy\u002Fflutter_smooth\u002Fcommits?author=fzyzcjy\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffzyzcjy\u002Fflutter_smooth\u002Fcommits?author=fzyzcjy\" title=\"Documentation\">📖\u003C\u002Fa> \u003Ca href=\"#ideas-fzyzcjy\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\">\u003Ca href=\"http:\u002F\u002Fln.hixie.ch\u002F\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F551196?v=4?s=100\" width=\"100px;\" alt=\"Ian Hickson\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Ian Hickson\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#ideas-Hixie\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdnfield\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8620741?v=4?s=100\" width=\"100px;\" alt=\"Dan Field\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Dan Field\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#ideas-dnfield\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjonahwilliams\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8975114?v=4?s=100\" width=\"100px;\" alt=\"Jonah Williams\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Jonah Williams\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#ideas-jonahwilliams\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgaaclarke\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F30870216?v=4?s=100\" width=\"100px;\" alt=\"gaaclarke\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>gaaclarke\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#ideas-gaaclarke\" title=\"Ideas, Planning, & Feedback\">🤔\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fjuejin.cn\u002Fuser\u002F4309694831660711\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F40540394?v=4?s=100\" width=\"100px;\" alt=\"Nayuta403\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Nayuta403\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffzyzcjy\u002Fflutter_smooth\u002Fcommits?author=Nayuta403\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fpajlada.se\u002F\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F962989?v=4?s=100\" width=\"100px;\" alt=\"pajlada\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>pajlada\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffzyzcjy\u002Fflutter_smooth\u002Fcommits?author=pajlada\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003C!-- markdownlint-restore -->\n\u003C!-- prettier-ignore-end -->\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:END -->\n\nMore specifically, thanks for all these contributions:\n\n* [@Hixie](https:\u002F\u002Fgithub.com\u002FHixie) (Flutter team): Consider details of my several proposals to the Flutter framework\u002Fengine such as requiring zero-overhead principle. Construct concrete cases when the initial proposal becomes fragile.\n* [@dnfield](https:\u002F\u002Fgithub.com\u002Fdnfield) (Flutter team): Provide a canonical janky case inside Flutter framework to help prototyping. Point out slowness of sync generators which avoids detouring.\n* [@jonahwilliams](https:\u002F\u002Fgithub.com\u002Fjonahwilliams) (Flutter team): Elaborate shortcomings of the old gesture system proposal (later I made a much more natural one).\n* [@gaaclarke](https:\u002F\u002Fgithub.com\u002Fgaaclarke) (Flutter team): Share his pet theory that slowness is caused by memory locality, indicating another potential application of the package.\n* [@Nayuta403](https:\u002F\u002Fgithub.com\u002FNayuta403): Fix link.\n* [@pajlada](https:\u002F\u002Fgithub.com\u002Fpajlada): Fix typo.\n\n","flutter_smooth 是一个用于优化 Flutter 应用性能的库，旨在无论构建或布局多么复杂都能保持约 60 FPS 的流畅体验。它通过提供一系列平滑组件（如 SmoothListView 和 SmoothMaterialPageRoute）作为常用组件的替代品，以及一个灵活的 SmoothBuilder 来处理更复杂的场景，从而实现这一目标。这些功能使得应用即使在处理大量数据或进行复杂布局时也能保持极高的帧率和平滑度，几乎无额外开销。适用于需要高性能渲染且重视用户体验的应用开发场合，特别是在列表滚动、页面切换等常见交互中表现尤为突出。",2,"2026-06-11 03:22:07","top_language"]