تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يمكن أن يكون معدل نقل البيانات للذاكرة لبيانات المظهر مؤثرًا محتملاً على أداء وحدة معالجة الرسومات في تطبيقك. هناك بعض العدّادات في ملف AGI System Profile الذي يمكن أن يساعد في تشخيص مشاكل معدل نقل بيانات ذاكرة التخزين المؤقت.
عدّادات Qualcomm Adreno
على الأجهزة المزوّدة بوحدات معالجة الرسومات Qualcomm Adreno، تشمل بعض الشاشات البارزة ما يلي:
عرض مضاد
الوصف
قراءة بيانات القوام باللون الأبيض (بايت/ثانية)
معدّل نقل بيانات بيانات الزخرفة التي تتم قراءتها من الذاكرة الخارجية.
نسبة الهيئة المفقودة L1
ذاكرة التخزين المؤقت L1 مفقودة من جلب الزخارف.
نسبة الزخارف غير الأساسية
النسبة المئوية لعمليات جلب الزخرفة التي تكون عبارة عن خرائط mipmaps.
% متباينة الخواص مفلترة
النسبة المئوية لـ texels المفلترة متباينة الخواص.
عدّادات ARM مالي
على الأجهزة التي تحتوي على وحدات معالجة الرسومات ARM Mali، تشمل بعض الشاشات البارزة ما يلي:
عرض مضاد
الوصف
قراءة الهيئة من الذاكرة الخارجية
تتم قراءة نبضات البيانات من الذاكرة الخارجية عن طريق وحدة النسيج، محسوبًا بمتوسط عدد نبضات البيانات على نوى أداة التظليل.
نغمات قراءة القوام من ذاكرة التخزين المؤقت L2
تتم قراءة نبضات البيانات من ذاكرة التخزين المؤقت L2 من خلال وحدة الهيئة، بمتوسط ما يتم قياسه على نوى أداة التظليل.
[المزيد]
لحساب معدل نقل البيانات الإجمالي من متوسط نبضات القراءة، يتم ضرب قيمة العدّاد في عرض الناقل (عادةً 16 بايت) وفي العدد الإجمالي لنوى أداة التظليل.
تحليل مضاد
لقياس سلوك هذه العدّادات، قِس متوسط معدل نقل البيانات وذروة
معدل نقل البيانات على مدار إطار واحد لوحدة معالجة الرسومات، ثم حدِّد الجزء المتجاورة لاستخدام وحدة معالجة الرسومات.
الشكل 1. معدل نقل البيانات لقراءة ذاكرة النص لإطار واحد، بمتوسط قيمة يبلغ 565 ميغابايت في الثانية وقيمة قصوى تبلغ 2.30 غيغابايت في الثانية
ننصح باستخدام متوسط معدل نقل بيانات لقراءة ذاكرة المظهر السطحي لا يزيد عن 1 غيغابايت في الثانية، وألا يزيد معدّل نقل البيانات الأقصى عن 3 غيغابايت في الثانية. يجب أيضًا ألا تزيد قيمة عدم اكتمال ذاكرة التخزين المؤقت L1 في الهيئة عن 10%. وقد تكون القيم الأعلى لمعدل نقل البيانات أو ذاكرة التخزين المؤقت L1 مؤشرًا على حدوث مشاكل في البنية أكثر عمقًا، بما في ذلك:
الزخارف كبيرة جدًا: تؤدي الزخارف الكبيرة إلى تكبير حجم الحزمة، وتكون أكثر تكلفة وقد تقلل من كفاءة ذاكرة التخزين المؤقت.
الزخارف غير مضغوطة: تسمح جميع هواتف Android ببعض أنواع ضغط البنية، سواء كانت هذه الطبقات ETC1 أو ASTC. يجب ضغط الزخارف لتقليل حجم الحزمة وتقليل النطاق الترددي للزخرفة.
غير ذلك: يجب مراعاة مجموعة متنوعة من مشكلات الزخرفة الأخرى، بما في ذلك زخارف بقوة 2، وتأثير التمثيل اللوني والتصفية متباينة الخواص وغير ذلك. ويمكن ملاحظة بعض هذه الحالات من خلال الملف الشخصي للنظام كما هو موضّح أدناه، بينما قد يتطلب البعض الآخر تحقيقًا أكثر تفصيلاً.
بالنسبة إلى الألعاب الثلاثية الأبعاد التي تتضمّن كاميرا مجانية، يجب أن تستخدم مواد العرض الزخرفية النسخ الاحتياطي، بحيث يقل معدل نقل بيانات الذاكرة وكفاءة ذاكرة التخزين المؤقت للزخارف بشكلٍ أفضل وجودة صورة أفضل. بالنسبة إلى الأجهزة التي تستخدم وحدات معالجة الرسومات Qualcomm Adreno، قد تشير نسبة زخارف المستوى غير الأساسية التي تقل عن %10 في المتوسط في المتوسط إلى عدم كفاية زخرفة.
الشكل 2. زخارف غير أساسية لإطار واحد، بمتوسط قيمة يبلغ 9.2%
هناك اعتبار آخر وهو استخدام التصفية متباينة الخواص، والتي يتم توضيحها من خلال العدّاد % متباين الخواص لوحدات معالجة الرسومات من طراز Qualcomm Adreno بالنسبة إلى نسبة التكسل المفلترة المتباينة الخواص. وبالرغم من أن ذلك قد يؤدي إلى تحسين جودة المرئيات في بعض الألعاب، إلا أنه قد يكون مكلفًا جدًا أيضًا، ويجب الموازنة بين استخدامه من حيث تكلفة أداء وحدة معالجة الرسومات.
الشكل 3. قيمة متباينة الخواص التي تمت فلترتها لإطار واحد، بمتوسط قيمة 10.8%
تعد أفضل طريقة لتشخيص مشكلات أكثر تحديدًا هي أخذ تتبع الملف
الشخصي للإطار لتحليل أصول الهيئة.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Analyze texture memory bandwidth usage\n\nThe memory bandwidth of texture data can be a potential bottleneck for your\napp's GPU performance. There are some counters in an **AGI System Profile** that can help diagnose texture memory bandwidth issues.\n\nQualcomm Adreno counters\n------------------------\n\nOn devices with Qualcomm Adreno GPUs, some notable counters include:\n\n| Counter | Description |\n|---------------------------------------|------------------------------------------------------|\n| Texture Memory Read BW (Bytes/Second) | Bandwidth of texture data read from external memory. |\n| % Texture L1 Miss | L1 cache miss from fetching textures. |\n| % Non-Base Level Textures | Percentage of texture fetches that are mipmaps. |\n| % Anisotropic Filtered | Percentage of texels that are anisotropic filtered. |\n\nARM Mali counters\n-----------------\n\nOn devices with ARM Mali GPUs, some notable counters include:\n\n| Counter | Description |\n|-----------------------------------------|-------------------------------------------------------------------------------------------|\n| Texture read beats from external memory | Data beats read from external memory by the texture unit, averaged over the shader cores. |\n| Texture read beats from L2 cache | Data beats read from the L2 cache by the texture unit, averaged over the shader cores. |\n| \\[More\\] | |\n\nTo calculate the overall bandwidth from average read beats, the counter value is multiplied by the bus width (typically 16 bytes) and by the total number of shader cores.\n\nCounter analysis\n----------------\n\nTo measure the behavior of these counters, measure the average and peak\nbandwidth over the course of a single GPU frame, and then delineate with a contiguous block of GPU Utilization.\n**Figure 1.**Texture memory read bandwidth for a single frame, with average value of 565 MBps and peak value of 2.30 GBps\n\nWe recommend an average texture memory read bandwidth of no higher than 1 GBps, and a peak bandwidth no higher than 3 GBps. Texture L1 cache miss should also be no higher than 10%. Higher values for bandwidth or L1 cache may be indicators of deeper texture issues, including:\n\n- *Textures are too large*: Large textures bloat your package size, and are more expensive and may reduce cache efficiency.\n- *Textures are uncompressed*: All Android phones support some types of texture compression, whether it's ETC1 or ASTC. Textures should be compressed to reduce package size and reduce texture bandwidth.\n- *Other*: A variety of other texture concerns should be considered, including power-of-2 textures, mipmapping, anisotropic filtering, and more. Some of these may be observed from the System Profile as discussed below, whereas others may require deeper investigation.\n\nFor three-dimensional games with a free camera, texture assets should use [mipmapping](/agi/sys-trace/link), such that objects at a distance from the camera will have reduced memory bandwidth, better texture cache efficiency, and better image quality. For devices using Qualcomm Adreno GPUs, % **Non-Base Level Textures** counters lower than 10% on average may indicate inadequate mipmapping.\n**Figure 2.**Non-base level textures for a single frame, with an average value of 9.2%\n\nAnother consideration is the use of anisotropic filtering, which is described by the **% Anisotropic Filtered** counter for Qualcomm Adreno GPUs for the proportion of texels that are anisotropic filtered. While this may improve visual quality for some games, it can also be very expensive, and its use should be weighed against the GPU performance cost.\n**Figure 3.**Perecentage of anisotropic filtered for a single frame, with average value of 10.8%\n\nThe best way to diagnose more specific problems is through taking a frame\nprofile trace to analyze texture assets."]]