Performance & GPU acceleration
انیمیشنها در وب دو جور اجرا میشن:
- 
روی CPU (کندتر، مخصوصاً وقتی تعداد زیادی المان انیمیت میشن) 
- 
روی GPU (خیلی سریعتر و روانتر) 
با استفاده از چند تکنیک میتونیم به مرورگر کمک کنیم انیمیشنها رو بهینهتر اجرا کنه.
🔹 ۱. استفاده از transform بهجای top/left
تغییر دادن top یا left باعث reflow و repaint توی صفحه میشه (کل صفحه دوباره محاسبه و رندر میشه).
ولی transform: translate روی یک لایهی جدا (GPU) اجرا میشه و خیلی سریعتره.
📌 همیشه برای جابجایی از x و y استفاده کن.
🔹 ۲. استفاده از opacity بهجای display/visibility
اگر فقط میخوای المان محو بشه، استفاده از opacity بهینهتره.
📌 چون تغییر display و visibility باعث محاسبه دوباره DOM میشه.
🔹 ۳. استفاده از will-change در CSS
با خاصیت CSS will-change میتونی به مرورگر بگی چه چیزی قراره تغییر کنه، تا زودتر اون رو آماده GPU کنه.
📌 این باعث میشه انیمیشنها نرمتر و بدون لگ اجرا بشن.
🔹 ۴. فعالسازی GPU با translateZ(0) یا force3D
گاهی برای اطمینان از اینکه مرورگر GPU استفاده میکنه، میشه از translateZ(0) یا force3D:true استفاده کرد.
📌 این ترفند باعث میشه مرورگر برای اون المان یک لایهی سهبعدی بسازه.
🔹 ۵. کاهش تعداد انیمیشنهای همزمان
هرچه تعداد انیمیشنهای فعال بیشتر باشه، مصرف منابع بالاتر میره.
پس:
- 
فقط المانهای ضروری رو انیمیت کن. 
- 
انیمیشنهای تزیینی زیاد (مثل سایهها یا border-radius) رو کمتر استفاده کن. 
🔹 ۶. انتخاب property مناسب
- 
سریع و GPU-friendly → transform(x, y, scale, rotation, skew) +opacity
- 
کند و CPU-heavy → width,height,top,left,margin,padding
مثال مقایسه:
🔹 ۷. مثال ترکیبی – انیمیشن بهینه با GPU
📌 در این مثال:
- 
تمام property ها ( x,y,scale,opacity) GPU-friendly هستن.
- 
با will-changeمرورگر از قبل آمادهست.
- 
force3Dتضمین میکنه انیمیشن رو GPU انجام بده.
✅ جمعبندی
- 
از transform و opacity استفاده کن → سریعتر و GPU-friendly. 
- 
از تغییر top, left, width, height پرهیز کن → کند و CPU-heavy. 
- 
از will-change و translateZ(0)/force3D برای آمادهسازی GPU استفاده کن. 
- 
تعداد انیمیشنهای همزمان رو مدیریت کن تا مصرف منابع پایین بمونه. 
 CSS3
          CSS3
        
                
           HTML
          HTML
        
                
           Tailwind Css
          Tailwind Css
        
                
           Bootstrap 5
          Bootstrap 5
        
                
           Java script
          Java script
        
                
           ++C
          ++C
        
                
           Python
          Python
        
                
           Three.js
          Three.js
        
                
           Gsap
          Gsap
        
                
           Sass
          Sass
        
                
           SQL
          SQL
        
                
           React
          React