آخر تحديث: 21 سبتمبر، 2026

Image File Formats for Game Developers: DDS, TGA, PNG, and KTX Compared

صيغ ملفات الصور لمطوري الألعاب: DDS، TGA، PNG، و KTX

في تطوير الألعاب، تمثل القوام (textures) أكبر جزء من استهلاك الذاكرة أثناء التشغيل وحجم بناء التثبيت. سواء كنت تبني لعبة منصة مستقلة ذات طابع stylized أو تدفع نحو الفوتورياليزم في لعبة RPG مفتوحة العالم من فئة AAA، فإن طريقة تخزينك ومعالجتك وإدخال بيانات القوام تحدد مباشرة معدلات الإطارات، أوقات التحميل، وتوافق الأجهزة.

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

في هذا الغوص العميق، نقوم بتحليل أربعة تنسيقات ملفات القوام والصورة الأكثر حيوية في تطوير الألعاب الحديثة: DDS, TGA, PNG, و KTX. سنفحص كيف تعمل، أين تتناسب في خط أنابيب الأصول، ومتى نستخدم كل منها.

القاعدة الذهبية: التخزين على القرص مقابل ذاكرة الفيديو (VRAM)

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

1. ضغط القرص (PNG, JPEG, WebP)

التنسيقات مثل PNG تستخدم ترميز إنتروبي غير فقدان (DEFLATE). بينما يوفر PNG مساحة هائلة على SSD أو خادم التحميل، لا يمكن لـ GPUs الحديثة أن تقرأ ملفات PNG مباشرة. عندما يقوم محرك اللعبة بتحميل PNG:

  • يجب على وحدة المعالجة المركزية فك ضغط الملف إلى بكسلات RGBA 32‑بت غير مضغوطة وخامة في ذاكرة النظام.
  • يتم تحميل صورة البت غير المضغوطة إلى VRAM.
  • تستهلك خريطة بكسلات بحجم 2048×2048 تقريبًا 16 ميغابايت من VRAM، بغض النظر عما إذا كان ملف PNG حجمه 1 ميغابايت أو 3 ميغابايت على القرص.

2. ضغط الكتل على وحدة معالجة الرسوم (BCn، ASTC، ETC2)

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

  • وصول عشوائي مباشر إلى VRAM دون أي عبء فك ضغط أثناء التشغيل.
  • نفس خريطة البكسلات 2048×2048 باستخدام BC7/ASTC تستهلك فقط تقريبًا 4 ميغابايت من VRAM (تقليل بنسبة 75٪).
  • يمكن دمج مستويات الميب ماب مباشرةً في ملف الحاوية.

تم بناء حاويات مثل DDS و KTX خصيصًا لتغليف هذه الصيغ الأصلية للـ GPU، بينما PNG و TGA تؤدي أدوارًا مختلفة في مراحل سابقة من خط الأنابيب.

1. DDS (سطح DirectDraw)

تم تقديمه من قبل مايكروسوفت جنبًا إلى جنب مع DirectX 7، تنسيق DirectDraw Surface (.dds) هو العمود الفقري غير المتنازع عليه في صناعة تطوير ألعاب الحاسوب، Xbox، وأجهزة التحكم.

الخصائص التقنية

  • نوع الحاوية: حاوية نسيج GPU أصلية.
  • ضغط مدعوم: BC1 إلى BC7 (ضغط الكتل / عائلة DXT)، RGBA غير مضغوط، صيغ الفلوات (BC6H للـ HDR).
  • القدرات الرئيسية: مستويات ميب ماب مسبقة التحضير، خرائط مكعبية، مصفوفات النسيج، نسيج حجمي (3D).

لماذا يستخدم المطورون DDS

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

الإيجابيات

  • أوقات تحميل سريعة للغاية: لا حاجة إلى أي دورات فك ضغط على وحدة المعالجة المركزية أثناء التشغيل.
  • مستويات ميب ماب مسبقة التحضير: توليد الميب ماب دون اتصال يتيح للفنان التحكم في الترشيح، التحسين، وتطبيع خريطة العادي عبر مستويات التفاصيل (LODs).
  • كفاءة الذاكرة الفيديوية (VRAM): يستخدم خوارزميات ضغط BC القياسية في الصناعة بشكل أصلي.

السلبيات

  • DirectX/Windows Bias: تاريخيًا مرتبط بأنظمة مايكروسوفت، رغم أنه مدعوم على نطاق واسع في محركات سطح المكتب الحديثة.
  • Lossy Compression Artifacts: ضغط الكتل (خاصة BC1 على خرائط العادي) يمكن أن يسبب مظهرًا متكتلًا ما لم يتم استخدام BC5/BC7.
  • Limited Mobile Support: عادةً ما تفضّل وحدات معالجة الرسوميات المحمولة تنسيقات ASTC أو ETC2 على تنسيقات BC الخاصة بسطح المكتب.

2. TGA (Truevision Targa)

تم إنشاؤه في عام 1984، TGA (.tga) هو تنسيق ملف رسومات نقطية غير مضغوط أو مضغوط بتقنية الترميز بطول المتسلسلة (RLE) وقد ظل عنصرًا أساسيًا ثابتًا في خطوط الإنتاج لأكثر من ثلاثة عقود.

المواصفات التقنية

  • Container Type: صورة نقطية غير مضغوطة للتأليف/التبادل.
  • Bit Depths: 8، 16، 24، و32 بت لكل بكسل (RGB + قناة ألفا مخصصة 8 بت).
  • Compression: لا شيء أو RLE أساسي (ترميز بطول المتسلسلة).

لماذا يستخدم المطورون TGA

يفضل الفنانون التقنيون ومبرمجوا المحركات تنسيق TGA لبساطته المعمارية الخالصة. على عكس PNG، الذي يدمج قناة ألفا في مصفوفات تصفية معقدة، يحافظ TGA على بيانات اللون وقنوات ألفا منفصلة تمامًا وغير مغيرة.

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

الإيجابيات

  • دقة البيانات النقية: حفظ القيم القنوية بدقة البت؛ مثالي للملمس المعبأ بقنوات ORM (الإغلاق-الخشونة-المعدن).
  • تحليل سهل: يمكن لأدوات خط الأنابيب الداخلية، والمصدّرات المخصصة، والسكربتات الآلية قراءة وكتابة ملفات TGA بأقل عدد من أسطر الشيفرة.
  • دعم DCC عالمي: تقدم Maya و3ds Max وBlender وSubstance 3D وPhotoshop تصدير TGA أصلي دون عناء.

السلبيات

  • أحجام ملفات ضخمة: بصمة كبيرة في مستودعات Git/Perforce وسرعات تنزيل بطيئة عبر الفرق الموزعة.
  • غير مناسب للتنفيذ في الوقت الحقيقي: لا يمكن استهلاكه مباشرةً من قبل وحدة معالجة الرسومات كتنسيق مضغوط؛ يجب تحويله بواسطة المحرك أثناء عملية الطهي.

3. PNG (رسوميات شبكة محمولة)

PNG (.png) هو أكثر تنسيق صور غير مضغوط معروف في العالم، يستخدم ضغط zlib/DEFLATE لتعبئة صور 24‑بت و32‑بت الغنية في ملفات صغيرة بشكل ملحوظ.

المواصفات التقنية

  • نوع الحاوية: تنسيق إنشاء وتوزيع غير مضغوط.
  • عمق البت: حتى 16 بت لكل قناة (48-بت RGB، 64-بت RGBA).
  • الضغط: خوارزمية DEFLATE غير فقدانية.

لماذا يستخدم المطورون PNG

يعمل PNG كصيغة التوزيع الأساسية لأصول واجهة المستخدم، والرسوم المتحركة، والمواد الترويجية، والملمس المصدرية الوسيطة. بالنسبة لألعاب 2D المصنوعة في Unity أو Godot أو Unreal Engine، يوفر PNG وضوح بكسلات حاد مع أقنعة شفافية نقية.

الإيجابيات

  • بصمة المستودع المدمجة: يقلل بشكل كبير من حجم سحب المشروع مقارنةً بـ TGA غير المضغوط.
  • جودة اللون غير الفاقدة: لا توجد عيوب ضغط على الحواف عالية التباين والرسوم التوضيحية بنمط المتجه.
  • شفافية ألفا الأصلية: دعم قناة ألفا 8-بت نظيفة لعناصر واجهة المستخدم الشفافة المعقدة وأوراق الجسيمات.

السلبيات

  • فك تشفير CPU ثقيل: فك ضغط PNG الكبيرة أثناء التشغيل يبطئ معدلات الإطارات ويزيد من استهلاك الذاكرة قبل رفعها إلى GPU.
  • مشكلات ألفا المضاعفة مسبقًا: بعض محررات الصور تتخلص من بيانات RGB في البكسلات الشفافة تمامًا، مما يفسد تسرب الملمس ويسبب حدودًا داكنة حول الرسوم المتحركة.
  • صفر توفير VRAM: يتم فك الضغط إلى ذاكرة خام 32-بت كاملة داخل وحدة معالجة الرسومات ما لم يتم استهلاكها بواسطة معالج القواميس الخاص بالمحرك.

4. KTX (Khronos Texture) و KTX 2.0

تم تطويره بواسطة مجموعة Khronos—الجهة الحاكمة وراء Vulkan و OpenGL و glTF—KTX (.ktx) و KTX 2.0 يمثلان المعيار المفتوح الحديث للملمسيات عبر المنصات على وحدة معالجة الرسومات.

الخصائص التقنية

  • نوع الحاوية: حاوية نسيج GPU مفتوحة موحدة.
  • دعم الضغط: Basis Universal (ETC1S و UASTC)، ASTC، BCn، ETC2.
  • القدرات الرئيسية: تحويل تنسيقات النسيج العالمية، الميب مابس، الكيوب مابس، نسيج المصفوفات، تكامل glTF.

لماذا يستخدم المطورون KTX

تحل KTX 2.0 مشكلة الضغط المتقطعة عبر المنصات. تقليديًا، كان على المطورين إرسال DDS (BCn) لأجهزة الكمبيوتر المكتبية/الأجهزة القنصلية وASTC/ETC2 للهواتف المحمولة/الأجهزة اللوحية.

مع KTX 2.0 و Basis Universal:

  1. تخزن النسيجيات في تنسيق مضغوط، قابل للضغط عالميًا.
  2. في وقت التشغيل، يقوم عتاد العميل بتحويل الملف مباشرةً إلى أي تنسيق كتل يفضله وحدة معالجة الرسومات المحلية (مثلاً، BC7 على GeForce RTX، ASTC على iPhone، ETC2 على جهاز Android قديم).
  3. التضغط الفائق (Zstandard) ينتج ملفات أصغر من JPEG على القرص والتي تُحوَّل إلى كتل VRAM الأصلية في غضون ملليثوان.

الإيجابيات

  • معيار عابر للمنصات الحقيقي: يعمل بسلاسة على Vulkan وWebGL وWebGPU والأجهزة المحمولة.
  • تحويل Basis Universal: بناء أصل واحد يستهدف سطح المكتب والهواتف المتنقلة والمتصفح دون تصدير قوام مكرر.
  • مرافق glTF من الدرجة الأولى: أساسي لتجارب الويب ثلاثية الأبعاد الحديثة، ومحركات الميتافيرس، وأنابيب العرض المفتوحة.

السلبيات

  • نضج أدوات خط الأنابيب: يتطلب سلاسل بناء حديثة (مثل toktx من مجموعة KTX-Software)؛ قد تفتقر المحركات المملوكة القديمة إلى تكامل جاهز.
  • عبء المحول: تأخير طفيف في التحويل أثناء التشغيل (على الرغم من أنه أسرع بأوامر مقدار من حيث السرعة مقارنة بفك تشفير PNG الكامل).

مقارنة وجهاً لوجه

الميزة / المعاييرDDSTGAPNGKTX / KTX 2.0
حالة الاستخدام الأساسيةتشغيل الحاسوب/الكونسولإنشاء المصدر والأقنعةرسوميات 2D ومصادر الفنتشغيل متعدد المنصات والويب
العينة المباشرة لوحدة معالجة الرسوماتنعم (محلي)لالانعم (محلي أو محول)
ضغط VRAMنعم (BC1–BC7)لا (غير مضغوط)لا (غير مضغوط)نعم (ASTC, BCn, Basis)
مستويات ميب ماب مُعَدّة مسبقًانعملالانعم
حجم القرصمتوسطعالي جدًاصغيرصغير جدًا (Basis + Zstandard)
النظام البيئيDirectX / محركات سطح المكتببرمجيات DCC / خطوط أنابيب المصدرمحركات الويب العامة ومحركات ثنائية الأبعادVulkan, WebGPU, glTF

دليل عملي: بناء خط أنابيب الأصول المثالي

كيف يجب عليك تنظيم هذه الصيغ الأربع في خط إنتاج تجاري؟ إليك كيف تقوم الاستوديوهات الرائدة بتنظيم خطوط أنسجةها:

[DCC & Authoring]               [Engine Ingestion / Cook]            [Runtime GPU Target]
Substance / Photoshop / Blender           Unreal / Unity / Custom Toolset      VRAM Memory Blocks
 
   • TGA (Clean packed masks)    ──────►  Build Engine Texture Cooker  ──────►  DDS (DirectX / Windows / Xbox)
   • PNG (UI & 2D Sprites)       ──────►  Generates Mipmaps & Block    ──────►  KTX2 (Vulkan / WebGPU / Mobile)
   • PSD / EXR (HDR & masters)   ──────►  Compression Automatically   
  1. الموارد المصدرية: احفظ الملفات الأصلية والبيانات المجمعة بالقنوات بصيغة TGA أو PNG داخل مستودعات مشروعك لضمان عدم تلف معلومات اللون.
  2. إصدارات الحاسوب وأجهزة التحكم: قم بتحويل القوام المصدرية إلى ملفات DDS باستخدام BC7 للخرائط التفصيلية العالية للالبدو/العمق وBC4/BC5 للأقنعة ذات القناة الواحدة والثنائية.
  3. إصدارات متعددة المنصات، الويب والهواتف المحمولة: احزم أصول 3D وقت التشغيل في KTX 2.0 للاستفادة من التحويل الشامل عبر Android و iOS و WebGPU دون الحاجة إلى فروع فنية منفصلة.
  4. واجهات المستخدم: احتفظ بقوام واجهة المستخدم وقت التشغيل إما بصيغ غير مضغوطة واضحة أو بأطلسات محرك غير فقدانية مستمدة من ملفات PNG عالية الدقة.

الأسئلة المتكررة (FAQ)

س1. هل يمكن لمحرك اللعبة أخذ عينة من ملف PNG مباشرةً من ذاكرة الفيديو؟

أ1: لا؛ لا يمكن لوحدات معالجة الرسوميات تحليل ضغط PNG، لذا يجب على المحركات فك ضغط ملفات PNG إلى صور نقطية خام 32-بت في الذاكرة قبل تحميلها إلى الذاكرة الفيديوية (VRAM).

س2. لماذا يفضّل الفنانون التقنيون تنسيق TGA على PNG لتعبئة الأقنعة؟

A2: يخزن TGA بيانات القنوات النقية غير المضغوطة دون تسرب اللون أو تصفية شفافية الحواف المدمرة عبر القنوات الفردية RGB و Alpha.

س3. أي خوارزمية ضغط كتل يجب أن أستخدم داخل حاوية DDS لخرائط العادي؟

A3: استخدم BC5 (ضغط مساحة المماس ذات القناتين) للخرائط العادية للحفاظ على انحناء السطح النظيف دون عيوب كتل BC1 القياسية.

س4. ما الذي يجعل KTX 2.0 أفضل من DDS للألعاب متعددة المنصات؟

A4: يدعم KTX 2.0 نظام Basis Universal، الذي يسمح بترميز ملف واحد في الوقت الفعلي إلى صيغ BCn لسطح المكتب أو صيغ ASTC/ETC للهواتف المحمولة عند الإطلاق.

س5. هل يؤدي التحضير المسبق للـ mipmaps في ملفات DDS أو KTX إلى زيادة حجم القرص؟

A5: نعم، إضافة سلاسل الميب ماب الكاملة يضيف تقريبًا 33٪ من البيانات الخام إلى الملف، لكنه يزيل الوميض أثناء التشغيل، ويحسن محلية الذاكرة المؤقتة، ويعزز أداء عرض الـ GPU.

انظر أيضًا