اذهب إلى المحتوى

السؤال

نشر

أريد أن أعرف ما الفرق بين إستخدام Canvas و عناصر SVG في إنشاء الأشكال وتحريكها. على سبيل المثال إن أردت إنشاء أشكال مختلفة (مربع، دائرة، شكل خماسي .. إلخ)، ثم تحريك هذه الأشكال بحرية في الصفحة، فيمكنني إستعمال JavaScript مع عنصر Canvas أو إستخدام عنصر SVG.

ما هي أفضل طريقة لعمل هذا الأمر؟ هل أستعمل Canvas أم SVG أو أستخدم عناصر div وتعديلها باستخدام CSS؟

Recommended Posts

  • 2
نشر

كمقارنة بين النوعين:

SVG أفضل من ناحية التوسع حيث أنه يمكن طباعته بجودة عالية مهما كانت دقة الشاشة، بينما canvas لا يملك هذه الخاصية و له جودة منخفضة في حال كانت دقة الشاشة عالية.

SVG يعطي أداء أفضل من أجل عدد قليل من الأشكال أو في حال كانت مساحة الشكل كبيرة، بينما canvas له أداء أفضل في حال كان هناك عدد كبير من الأشكال و في حال كانت مساحة الشكل صغيرة.

يمكن تعديل ال  SVG عن طريق js, CSS بينما يمكن تعديل ال canvas فقط باستعمال ال js.

 

  • 2
نشر

يتم استخدام SVG في حال كان عدد العناصر قليل ضمن الصفحة مثل بعض الرسومات والتي لا تتطلب التفاعل معها من قبل المستخدم. لأن SVG هو عقد سيتم وضعها في شجرة DOM وبالتالي ستكون مكلفة من ناحية الأداء وستكون بطيئة في حال وجود تفاصيل كبيرة أو كمية كائنات كبيرة ضمن الصفحة.

أما Canvas فيعتبر خيار أفضل في حال كان عدد الكائنات كبير ويحتاج معالجة أكثر لأنه يعطي أداء أفضل وسرعة كبيرة ولا يزيد من الضغط على المتصفح في حال كانت المشاهد تحوي تفاصيل كبيرة يلزم تحريكها.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...