AI Code Translator
Translate Code or Natural Language To Programming Language Code
https://aicodeconvert.com
Translate Code or Natural Language To Programming Language Code
https://aicodeconvert.com
👍3
A family of packages that provide an idiomatic Dart projection of modern Windows Runtime (WinRT) APIs using FFI.
https://github.com/dart-windows/dartwinrt
https://github.com/dart-windows/dartwinrt
👍3
Forwarded from Pure Coder (Mohammad Taheri)
✨Performance
💥وقتی گوشی میخرید یکی از پارامتر هایی که در مورد صفحه نمایش توجه تون رو جلب میکنه با واحد هرتز بیان میشه.
مثلن میگن این نمایشگر
60 Hz, 90Hz, 120Hz,...
هست...
⚠️در مورد هر صفحه نمایش دیگه به غیر از گوشی هم میتونه صادق باشه.
💥 یک صفحه نمایش ۶۰ هرتز، هر ثانیه ۶۰ بار تصویر خودش رو بروز میکنه و یک صفحه نمایش ۱۲۰ هرتز، هر ثانیه ۱۲۰ بار...
💥این تصویر باید از جایی تامین بشه ...
پردازنده گرافیکی یا GPU این تصویر رو رندر میکنه
💥اینجا از frame rate استفاده میکنن و واحد fps...
fps => frame per seconds
وقتی میگیم 60 fps یعنی اون GPU در هر ثانیه میتونه ۶۰ فریم رو رندر کنه.
⚠️حالا اینکه باید بین GPU و صفحه نمایش هماهنگی باشه و هرتز این یکی با frame rate اون یکی، هماهنگ باشن رو کاری نداریم.
🟢فرض کنیم یه دیوایسی داریم یا نمایشگر ۶۰ هرتز و GPU هم frame rate اش برابر ۶۰ هست...
این یعنی وقتی کاربر داره یه انیمیشن یا تصویر متحرک رو میبینه یا داره یه محتوایی رو اسکرول میکنه یا به هر صورتی یه چیز متحرکی جلوشه... تقریبن هر ۱۶ میلی ثانیه یک بار باید یه فریم جدید رندر بشه و تحویلش داده بشه... وگرنه کاربر با لگ روبرو میشه...
❓چرا؟
⚠️درخواست ساخته شدن این فریم ها هر ۱۶ میلی ثانیه یکبار صادر میشه و وقتی یه فریم از دست رفت ۱۶ میلی ثانیه طول میکشه تا درخواست ساخته شدن فریم بعدی صادر بشه
پس وقتی یه فریم از دست بره کاربر یه تصویر اون وسط رو نمیبنه و یهو یه پرش ایجاد میشه.
❓حالا وظیفه ما به عنوان برنامه نویس چیه؟
✅وقتی داری محتوای متحرک نشون کاربرت میدی، نباید انقدر کارهای سنگین انجام بدی که یهو یه فریم اون وسط از دست بره.
یعنی کارهایی که انجام میدی باید انقدری سبک باشن که پردازنده رو انقدری درگیر نکنه که از وقت موعود (۱۶ میلی ثانیه) بگذره و پردازنده همچنان درگیر اون کارها باشه و نتونه فریم جدید رو سر وقت رندر کنه...
✅اگه کارهای سنگین وجود داشت منتقل میکنی به یه thread دیگه و ui thread رو ازاد میکنی..
😍توضیحات دقیق در اینده توی یک مقاله...
@purecoder_ir
💥وقتی گوشی میخرید یکی از پارامتر هایی که در مورد صفحه نمایش توجه تون رو جلب میکنه با واحد هرتز بیان میشه.
مثلن میگن این نمایشگر
60 Hz, 90Hz, 120Hz,...
هست...
⚠️در مورد هر صفحه نمایش دیگه به غیر از گوشی هم میتونه صادق باشه.
💥 یک صفحه نمایش ۶۰ هرتز، هر ثانیه ۶۰ بار تصویر خودش رو بروز میکنه و یک صفحه نمایش ۱۲۰ هرتز، هر ثانیه ۱۲۰ بار...
💥این تصویر باید از جایی تامین بشه ...
پردازنده گرافیکی یا GPU این تصویر رو رندر میکنه
💥اینجا از frame rate استفاده میکنن و واحد fps...
fps => frame per seconds
وقتی میگیم 60 fps یعنی اون GPU در هر ثانیه میتونه ۶۰ فریم رو رندر کنه.
⚠️حالا اینکه باید بین GPU و صفحه نمایش هماهنگی باشه و هرتز این یکی با frame rate اون یکی، هماهنگ باشن رو کاری نداریم.
🟢فرض کنیم یه دیوایسی داریم یا نمایشگر ۶۰ هرتز و GPU هم frame rate اش برابر ۶۰ هست...
این یعنی وقتی کاربر داره یه انیمیشن یا تصویر متحرک رو میبینه یا داره یه محتوایی رو اسکرول میکنه یا به هر صورتی یه چیز متحرکی جلوشه... تقریبن هر ۱۶ میلی ثانیه یک بار باید یه فریم جدید رندر بشه و تحویلش داده بشه... وگرنه کاربر با لگ روبرو میشه...
❓چرا؟
⚠️درخواست ساخته شدن این فریم ها هر ۱۶ میلی ثانیه یکبار صادر میشه و وقتی یه فریم از دست رفت ۱۶ میلی ثانیه طول میکشه تا درخواست ساخته شدن فریم بعدی صادر بشه
پس وقتی یه فریم از دست بره کاربر یه تصویر اون وسط رو نمیبنه و یهو یه پرش ایجاد میشه.
❓حالا وظیفه ما به عنوان برنامه نویس چیه؟
✅وقتی داری محتوای متحرک نشون کاربرت میدی، نباید انقدر کارهای سنگین انجام بدی که یهو یه فریم اون وسط از دست بره.
یعنی کارهایی که انجام میدی باید انقدری سبک باشن که پردازنده رو انقدری درگیر نکنه که از وقت موعود (۱۶ میلی ثانیه) بگذره و پردازنده همچنان درگیر اون کارها باشه و نتونه فریم جدید رو سر وقت رندر کنه...
✅اگه کارهای سنگین وجود داشت منتقل میکنی به یه thread دیگه و ui thread رو ازاد میکنی..
😍توضیحات دقیق در اینده توی یک مقاله...
@purecoder_ir
👍9
Hiddify Next
Hiddify Multi-platform Proxy Client
Windows, Android, Linux are supported (macOS and iOS is coming soon)
https://github.com/hiddify/hiddify-next
Hiddify Multi-platform Proxy Client
Windows, Android, Linux are supported (macOS and iOS is coming soon)
https://github.com/hiddify/hiddify-next
👍4
Flutter - Use `LayerLink` to move widgets in compositing phase
https://www.youtube.com/watch?v=IYbvueOg32Q
https://www.youtube.com/watch?v=IYbvueOg32Q
YouTube
Flutter - Use `LayerLink` to move widgets in compositing phase
This video briefly covers the flutter rendering pipeline first, then focuses on the `CompositedTransformFollower` and `CompositedTransformTarget` widget-pair.
👍2
Precache Images In Flutter
Learn how to load your image assets faster in your Flutter Apps
https://medium.flutterdevs.com/precache-images-in-flutter-73abfedb0769
Learn how to load your image assets faster in your Flutter Apps
https://medium.flutterdevs.com/precache-images-in-flutter-73abfedb0769
👍5
Flutter Zone | فلاتر و دارت
❓ چطور از پلاگین های نیتیو در Isolate ها استفاده کنیم؟
invertase.io
Improve Flutter Performance with Background Isolates in Flutter 3.7 - Invertase
The future of Flutter is so exciting, the release of version 3.7 was full of announcements! Today, I want to draw your attention to something that was quietly announced before the fanfare of this release… Official support for Background Isolates with native…
👍2
Forwarded from sasan safari
روز برنامه نویس رو به همه برنامه نویس هایی که به محدود سازی تکنولوژی کمک نمیکنند تبریک میگم.
👍7🤣1
Forwarded from آموزش فلاتر و دارت
ویجت های که در چند زبانه باید استفاده کنید یا نکنید
@LearningFlutter
@LearningFlutter
❤9👍2
chrome_extension
A library for accessing the chrome.* APIs available in Chrome extensions.
This allows to build Chrome extension with Dart & Flutter and to interop with the native APIs easily with a high-level type-safe interface.
https://pub.dev/packages/chrome_extension
A library for accessing the chrome.* APIs available in Chrome extensions.
This allows to build Chrome extension with Dart & Flutter and to interop with the native APIs easily with a high-level type-safe interface.
https://pub.dev/packages/chrome_extension
Dart packages
chrome_extension | Dart package
A library for accessing the `chrome.*` APIs available in Chrome extensions.
👍4