العودة إلى المدونة
الأساسيات

ما هو ضغط الملمس؟

8 دقيقة قراءة

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

ما هو ضغط الملمس؟

ضغط المادة هو شكل متخصص من أشكال ضغط الصور مصمم خصيصًا للاستخدام مع أجهزة الرسومات (GPUs). على عكس تنسيقات الصور ذات الأغراض العامة مثل JPEG أو PNG، تم تحسين تنسيقات ضغط النسيج للوصول العشوائي في الوقت الفعلي بواسطة وحدة معالجة الرسومات أثناء العرض.

يجب فك ضغط تنسيقات الصور التقليدية تمامًا قبل الاستخدام، ولكن يمكن فك ضغط تنسيقات ضغط النسيج أثناء التنقل بواسطة وحدة معالجة الرسومات أثناء أخذ عينات من texels. يسمح ذلك للأنسجة المضغوطة بالبقاء مضغوطة في ذاكرة وحدة معالجة الرسومات، مما يقلل بشكل كبير من عرض النطاق الترددي للذاكرة ومتطلبات التخزين.

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

لماذا استخدام ضغط الملمس؟

يوفر ضغط النسيج العديد من الفوائد الهامة لتطبيقات الرسومات:

انخفاض استخدام الذاكرة

يمكن للأنسجة المضغوطة أن تقلل من استهلاك الذاكرة بمقدار 4x إلى 8x مقارنة بالأنسجة غير المضغوطة، مما يسمح بمحتوى أكثر تفصيلاً وتنوعًا.

انخفاض عرض النطاق الترددي للذاكرة

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

تحسين الأداء

يمكن أن يؤدي انخفاض حركة مرور الذاكرة إلى تحسين معدلات الإطارات بشكل كبير وتقليل زمن وصول العرض في السيناريوهات المرتبطة بوحدة معالجة الرسومات.

جودة بصرية أفضل

يتيح توفير الذاكرة للمطورين استخدام مواد ذات دقة أعلى أو المزيد من أشكال الأنسجة ضمن ميزانية الذاكرة نفسها.

تنسيقات ضغط الملمس المشترك

تدعم الأنظمة الأساسية ووحدات معالجة الرسومات المختلفة تنسيقات ضغط مختلفة. فيما يلي الأكثر استخدامًا على نطاق واسع:

ETC1/ETC2 (ضغط نسيج إريكسون)

التنسيق القياسي لأجهزة Android وOpenGL ES. يدعم ETC1 RGB فقط، بينما يضيف ETC2 دعم قناة ألفا وتحسين الجودة.

منصة: أندرويد، برنامج OpenGL ES 3.0+

ASTC (ضغط النسيج القابل للتكيف)

تنسيق حديث ومرن يدعم أحجام الكتل المتعددة (4x4 إلى 12x12) ومستويات الجودة. يوفر تحكمًا ممتازًا في نسبة الجودة إلى الضغط.

منصة: وحدات معالجة الرسومات المحمولة الحديثة، Vulkan، OpenGL ES 3.2+

PVRTC (ضغط نسيج PowerVR)

يتم استخدام التنسيق بشكل أساسي على أجهزة iOS المزودة بوحدات معالجة الرسومات PowerVR. معروف بالضغط الجيد ولكن يمكنه إظهار القطع الأثرية على محتوى معين.

منصة: iOS، وأجهزة Android الأقدم المزودة بوحدات معالجة الرسومات PowerVR

DXT/BCn (ضغط المادة S3 / ضغط الكتلة)

معيار سطح المكتب، المعروف أيضًا باسم BCn (ضغط الكتلة). تعد DXT1/BC1 حتى DXT5/BC3 هي الأكثر شيوعًا، حيث توفر BC6H وBC7 تقنية HDR وجودة أعلى.

منصة: سطح المكتب (Windows، DirectX، OpenGL)

أساس عالمي

تنسيق تحويل الترميز الذي يمكن تحويله إلى أي تنسيق GPU أصلي في وقت التشغيل. تمكين ملف مضغوط واحد من العمل عبر كافة الأنظمة الأساسية.

منصة: عبر الأنظمة الأساسية (تحويل الرموز إلى ETC، وASTC، وDXT، وما إلى ذلك)

كيف يعمل ضغط الملمس

تعمل معظم خوارزميات ضغط النسيج عن طريق تقسيم الصورة إلى كتل صغيرة (عادةً 4 × 4 بكسل) وترميز كل كتلة بشكل مستقل. يتيح هذا النهج القائم على الكتلة إمكانية الوصول العشوائي - حيث يمكن لوحدة معالجة الرسومات فك ضغط الكتل التي تحتاجها لعينة نسيج معينة فقط.

داخل كل كتلة، تقوم الخوارزمية عادةً بتخزين لوحة صغيرة من الألوان (عادةً 2-4 ألوان) وقيم الفهرس التي تشير إلى لون اللوحة الذي يجب أن يستخدمه كل بكسل. تستخدم التنسيقات الأكثر تقدمًا مثل ASTC مخططات استيفاء معقدة لتحقيق جودة أفضل.

مثال الضغط

نسيج 512x512 RGBA بمستويات ضغط مختلفة:

غير مضغوط: 512 × 512 × 4 بايت = 1,048,576 بايت (1 ميجابايت)
مضغوط (ASTC 6x6): 512 × 512 / (6 × 6) × 16 بايت = 116,508 بايت (~114 كيلو بايت)
نسبة الضغط: 9:1 (تقليل الحجم بنسبة 89%)

أفضل الممارسات

  • اختر التنسيق المناسب للنظام الأساسي الذي تستهدفه - استخدم ETC2/ASTC للجوال، وBCn لسطح المكتب
  • فكر في استخدام خصائص ضغط متعددة - جودة أعلى للأنسجة المهمة، وجودة أقل للخلفيات
  • اختبر أحجام الكتل المختلفة (لـ ASTC) للعثور على أفضل توازن بين الجودة وحجم الملف
  • استخدم تنسيقات مختلفة لأنواع مختلفة من الأنسجة - غالبًا ما تحتاج الخرائط العادية إلى إعدادات مختلفة عن الخرائط الملونة
  • قم دائمًا بمعاينة الأنسجة المضغوطة في تطبيقك المستهدف للتحقق من الجودة المرئية

خاتمة

يعد ضغط النسيج أداة أساسية لتطوير الرسومات الحديثة، مما يتيح أداءً أفضل واستخدامًا أقل للذاكرة ومرئيات ذات جودة أعلى. يساعدك فهم التنسيقات المتاحة ومقايضاتها على اتخاذ قرارات مستنيرة لمشاريعك.

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

مزيد من القراءة والمراجع

قم بتوسيع معرفتك باستخدام هذه الموارد المنسقة: