مرجع العلامات

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

القائمة التالية هي مجموعة من العلامات الشائعة في MicroProfiler، مقسمة حسب الفئة. تُسمى العلامات أيضًا بشكل متبادل مهام، مؤقتات، نطاقات، عمليات، وتسميات. بغض النظر عن الاسم، فإنها تمثل وحدة من العمل.

يمكن أن تساعدك فهم هذه العلامات في تحديد الشيفرة المسببة للمشاكل في لعبتك. تحتوي الجداول على تسميات العلامات، الأوصاف، ونصائح لتحسين الأداء وتحسين لعبتك.

النوم

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

التنقل

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

يحسب المسارات، عادةً بعد rasterizeTile.

قلل من عدد وأبعاد العالم لاستدعاءات Path:ComputeAsync(). حاول إعادة استخدام المسارات لعدة وكلاء إذا كان من المتوقع أن تبدأ/تنتهي من مواقع متشابهة تقريبًا.
preprocess/getPrimitivesOverlappingيجمع هندسة العالم لكل بلاطة تحديد مسار ويجدول مهام الترصيع ليتم تنفيذها بواسطة خيط تحديد المسار.قلل من عدد الأجزاء.

الرسوم المتحركة والإنسان الآلي

التسميةالوصفنصائح الأداء
Simulation/gameSteppedمعالجة الكائنات الخاصة باللعبة مثل Humanoids، Animations واستدعاءات نبض القلب.انظر تسميات gameStepped أدناه.
Simulation/gameStepped/stepHumanoidتغيرات حالة Humanoid والحركة.قلل من عدد Humanoids أو قم بتعطيل حالات Humanoid على NPCs التي لا تحتاج إليها، مثل Climbing أو Swimming. قلل من الاستدعاءات إلى Humanoid.StateChanged أو تغييرات الحالة مثل Running أو Died.
Simulation/gameStepped/stepAnimationسوف يتقدم Animators في الرسوم المتحركة التي يتم تشغيلها حاليًا.قلل من عدد Animators أو المفاصل المتحركة لتقليل عبء العمل في هذه الخطوة. قلل من عدد الاستدعاءات إلى أحداث الرسوم المتحركة مثل AnimationTrack.KeyframeReached أو AnimationTrack.Ended.
Simulation/gameStepped/RunService.Steppedتشغيل الوظائف المتصلة بحدث RunService.Stepped.قلل من عدد أو عبء العمل للوظائف المتصلة بهذا الحدث. ضع في اعتبارك تأخير أو استبدال الحسابات المكلفة أو توزيع الحساب عبر إطارات متعددة.

الصوت

التسميةالوصفنصائح الأداء
Soundيعالج محاكاة الصوت ويحدث الأصوات في التشغيل النشط.انظر تسميات Sound أدناه.
Sound/stepInstancesيحدث حجم الأصوات النشطة في مساحة العمل.قلل من عدد الأصوات في التشغيل النشط.

الشبكات

التسميةالوصفنصائح الأداء
Net PacketReceiveيستقبل حزم الشبكة. إذا كان يتم تكرار العديد من الكائنات أو الأحداث، فإن هذه الخطوة تستغرق وقتًا أطول.كرر عدد أقل من الكائنات أو الأحداث.
Replicator/ProcessPacketsيعالج محتويات حزم الشبكة، مثل الحركة، استدعاءات الأحداث وتغييرات الخصائص.قلل من عدد أو حجم الكائنات التي يتم تكرارها، أو قم بذلك في خطوات تدريجية. قد تزداد إذا زاد حجم الخريطة، حيث تميل الخرائط الأكبر إلى أن يكون لديها المزيد من النشاط العام.
Allocate Bandwidth and Run Senders/Dispatch Physics Senders and TouchSendersيرسل بيانات حول النشاط في اللعبة.قلل من عدد الكائنات المتحركة و/أو اللمسات. انظر الأقسام التالية.
Allocate Bandwidth and Run Senders/Dispatch StreamJobيرسل مناطق محددة معينة إلى عملاء محددين في ميزة البث.قلل من نصف قطر البث الأدنى والهدف.
Allocate Bandwidth and Run Senders/Dispatch Data Sendersيرسل تغييرات الخصائص، استدعاءات الأحداث البعيدة، تغييرات حالة Humanoid، تغييرات حالة الرسوم المتحركة، وتكرار مثيلات جديدة.قلل من عدد التغييرات المكررة على نموذج البيانات.
Replicator SendClusterيرسل بيانات Terrain إلى العملاء.قلل من عدد أو حجم تغييرات التضاريس.
ModelCompleteness Mega Jobالخادم فقط: الاكتمال هو مفهوم داخلي. عندما يتم إرسال النماذج بالكامل، يتم إرسال أحداث اكتمال النموذج.أضف أو أزل عددًا أقل من المثيلات.
deserializePacketمعالجة حزم الشبكة على مستوى منخفض. يستعد لـ Replicator/ProcessPackets.أرسل تحديثات أقل أو أصغر.

العرض

التسميةالوصفنصائح الأداء
Prepareيتم جمع المعلومات من الخيط الرئيسي وتحديث هياكل البيانات المختلفة المستخدمة في العرض.انظر تسميات Prepare أدناه.
Prepare/Pass3dAdornيتعامل مع عرض زينة الكائنات المختلفة، مثل تسميات النص فوق الكائنات. بالنسبة لتسميات Humanoid مع الحجب، تتضمن هذه الخطوة رسم الأشعة لتحديد ما إذا كانت هذه الكائنات مرئية. يشمل ذلك الأجزاء غير الشفافة لتسهيل التصورات التصحيحية.قلل من عدد الكائنات المزينة المرئية، مثل BillboardGuis، تسميات اسم/صحة Humanoid، إلخ. قلل من عدد الأجزاء المرئية.
Prepare/Pass2dيستعد لعرض واجهة المستخدم ثنائية الأبعاد (كل من واجهة المستخدم الخاصة باللاعب وواجهة المستخدم الخاصة بـ Roblox).قلل من عدد أو تعقيد عناصر واجهة المستخدم.
Prepare/UpdatePrepare/updateInvalidPartsيحدث الأجزاء التي تم تغيير أو إضافة بعض الخصائص لها.قلل من عدد تغييرات الخصائص على العالم. إذا كان البرنامج النصي يحدث مجموعة كبيرة من خصائص الكائنات، قم بتقسيمها عبر الإطارات.
Prepare/UpdatePrepare/updateInvalidatedFastClustersيستعد "الهندسة السريعة" المستخدمة لعرض Humanoids و skinned MeshParts. تحدد التسميات عدد الأجزاء، الرؤوس، وحجم الرؤوس.قلل من التغييرات المرئية للنماذج مع Humanoids أو MeshParts المكسوة.
Prepare/UpdatePrepare/updateDynamicPartsيستعد Beams، ParticleEmitters، و Humanoids للعرض.قلل من عدد Beams، ParticleEmitters، و Humanoids المرئية.
Prepare/UpdatePrepare/updateInstancedClustersيحدث الهندسة التي تستخدم العرض المثيل مثل الأجزاء. تحدد التسميات Clusters و Instances عدد التحديثات.قلل من العمل الذي يقوم بتحديث الصندوق المحيط بشكل ضمني، مثل BasePart.CFrame، BasePart.Size، أو Motor6D.Transform. يمكن أن تساعد تحديثات الخصائص الإبداعية مثل Bone.Transform.
Performعندما يتم إنشاء وإصدار أوامر العرض الفعلية.انظر تسميات Perform أدناه.
Perform/fillGuiVerticesيملأ المخازن برؤوس واجهة المستخدم للاستعداد للعرض. تشير تسميات gui count إلى عدد LayerCollectors المرئية في الإطار.إذا كانت التكلفة مرتفعة، قلل من العدد، الكثافة، والمساحة التي تشغلها عناصر واجهة المستخدم. إذا كان هناك الكثير من تسميات Process GuiEffect، ضع في اعتبارك تقليل استخدام UIGradient و UICorner على تسميات النص.
Perform/Scene/queryFrustumOrderedيطبق حجب الفراستوم بحيث لا يتم عرض الكائنات غير المرئية.إذا كانت هناك تكلفة عالية، فهذا يعني أن هناك الكثير من العناصر. ربما استخدم بعض الشبكات الأكبر حيث تحتوي الشبكة الواحدة على مزيد من التفاصيل بدلاً من العديد من القطع الصغيرة الفردية.
Perform/Scene/computeLightingPerformحساب الإضاءة بالقرب من الكاميرا.تلاعب بعدد مصادر الضوء أو حرك الكاميرا أقل لتقليل الوقت المستغرق لإعادة حساب الإضاءة.
Perform/Scene/computeLightingPerform/LightGridCPUيحدث إضاءة الفوكسل، والتي تستخدم في مستويات الجودة المنخفضة.إذا استغرق تحديث شغل الشاغل وقتًا طويلاً، ضع في اعتبارك استخدام هندسة ذات دقة أقل، تقليل عدد الأجزاء، أو تثبيت الأجزاء. إذا استغرقت التسميات الأخرى وقتًا طويلاً، ضع في اعتبارك تقليل عدد الأضواء واستخدام هندسة غير ظلية للأجسام التي تتحرك وتلغي الشغل الشاغل.
Perform/Scene/computeLightingPerform/ShadowMapSystemيحدث خرائط الظل. لا يتم تنفيذها في مستويات الجودة أقل من 4.قلل من عدد الأضواء. يمكنك أيضًا استخدام Light.Shadows و BasePart.CastShadow لتعطيل إلقاء الظل على المثيلات الأقل أهمية. انظر تحسين الأداء.
Perform/Scene/Glow, ColorCorrection, MSAA, SSAO, and SSAOApplyعرض المعالجة اللاحقة.قلل من عدد تأثيرات المعالجة اللاحقة. عادةً ما يكون هذا غير مهم.
Perform/Scene/UIعرض واجهة المستخدم. في Id_Screen، هناك تسمية مع عدد الدفعات، المواد، والمثلثات المستخدمة.قلل من عدد عناصر واجهة المستخدم المرئية. يمكن أن يساعد استخدام CanvasGroups على حساب زيادة استخدام الذاكرة.
Perform/Scene/UpdateView/updateParticles, updateParticleBoundingsتحديث موضع الجسيمات وحدودها.قلل من عدد ParticleEmitters، معدلات الانبعاث، الأعمار، إلخ. حدد حركة المنبعثات.
Scene/Id_Opaque, RenderView/Id_Opaqueأجزاء في المشهد مع شفافية إجمالية 0.01 أو أقل.قلل من استخدام وكثافة الأجزاء.
Scene/Id_Transparent, RenderView/Id_Transparentأجزاء في المشهد مع شفافية إجمالية بين 0.01 و 1.قلل من استخدام الشفافية الجزئية.
Scene/Id_Decals, RenderView/Id_Decalsالملصقات في المشهد.قلل من استخدام الملصقات على الشبكات المعقدة.
Scene/Shadowsإعادة حساب الظل في المشهد، عادةً ما يتم تنفيذها في المشاهد الديناميكية ولعب اللعبة النموذجي. تلقي الأجزاء الظلال بغض النظر عن الشفافية على افتراض أنها تحتوي على ملصقات. لا يتم تنفيذها في مستويات الجودة أقل من 4.إذا استغرقت هذه الخطوة وقتًا طويلاً، ضع في اعتبارك تعطيل BasePart.CastShadow للشبكات المعقدة، الأجزاء ذات الشفافية الجزئية العالية، والمثيلات الأقل أهمية. يجب تعطيل BasePart.CastShadow للأجزاء الشفافة تمامًا التي لا تحتوي على ملصقات أو تحتاج إلى ظلال ملصقات. انظر تحسين الأداء.
Perform/Presentيتم توجيهها إلى خيط GPU لتنفيذ أوامر العرض.قلل من تعقيد المشهد بشكل عام. إذا كانت هذه الخطوة تستغرق وقتًا طويلاً، فقد تكون مقيدًا بـ GPU.
Perform/Present/waitUntilCompletedينتظر حتى ينتهي GPU من عرض الإطار السابق.إذا كان هذا يحدث بشكل عام كثيرًا، فإن عدد الأشياء المعروضة مرتفع جدًا. يساعد مدير معدل الإطار في تحقيق التوازن في ذلك، ولكن إذا ظل مرتفعًا، حاول اتباع نصائح الأداء من تسميات Scene الفردية.
LoadImageيعالج الصور إلى تنسيق يمكن أن يستخدمه المحرك.قلل من استخدام الصور الكبيرة.

السكربتات

التسميةالوصفنصائح الأداء
Render/PreRender/fireBindToRenderSteppedCallbacksتشغيل الوظائف المرتبطة بخطوة العرض عبر RunService:BindToRenderStep().تأكد من أن الوظائف المتصلة بهذا الحدث تقوم بأقل قدر ممكن من العمل.
Render/PreRender/RunService.RenderSteppedتشغيل الوظائف المتصلة بحدث RunService.RenderStepped.تأكد من أن الوظائف المتصلة بهذا الحدث تقوم بأقل قدر ممكن من العمل.
WaitingHybridScriptJobيستأنف السكربتات التي تنتظر باستخدام Instance:WaitForChild() أو Globals.Roblox.wait(). عادةً ما يتم تنفيذها 30 مرة في الثانية. تحتوي هذه الخطوة على ميزانية زمنية للتنفيذ لتشغيل السكربتات المنتظرة.إذا كان لديك الكثير من السكربتات المنتظرة أو السكربتات ذات وقت التشغيل الطويل قبل الانتظار، يتم تقييد هذه الخطوة وتنتظر لفترة أطول قبل أن تتمكن من التشغيل مرة أخرى. قلل من عدد الوظائف المرتبطة أو الحسابات الطويلة في هذه الخطوة.
GCدورة جمع القمامة في Luau.قم بتجميع الجداول والأشياء القابلة للجمع أو حاول تقليل إنشاء الجداول المؤقتة.
Heartbeat/RunService.Heartbeatتشغيل الوظائف المتصلة بحدث RunService.Heartbeat.قلل من عدد أو عبء العمل للوظائف المتصلة بهذا الحدث. ضع في اعتبارك تأخير أو استبدال الحسابات المكلفة أو توزيع الحساب عبر إطارات متعددة.

المحاكاة

التسميةالوصفنصائح الأداء
Distributed Physics Ownershipيحدد ما إذا كان الخادم أو عميل لديه السلطة على بعض المثيلات مثل الأجزاء.قلل من عدد الأجزاء التي تتبدل ملكيتها الشبكية بشكل متكرر، خاصة تلك التي تتفاعل بشكل شائع.
Simulation/assembleيحدث شجرة من الكائنات المتصلة (التجمعات) المستخدمة بواسطة محرك الفيزياء.قلل من عدد المفاصل التي يتم إنشاؤها أو تدميرها.
Simulation/physicsSteppedTotal/physicsSteppedتشغيل محاكاة الفيزياء.قلل من عدد وتعقيد الأجسام التي يتم محاكاتها فيزيائيًا.
Simulation/physicsSteppedTotal/physicsStepped/SpatialFilter/filterStepيحدث جزر المحاكاة، مرتبة الأجزاء وفقًا للملكية الشبكية، المحاكاة المحلية. الجزر هي مجموعات غير متفاعلة من الأجزاء التي يمكن محاكاتها بشكل مستقل.تجنب تعيين الملكية الشبكية بشكل متكرر. احتفظ بمجموعات الأجزاء بعيدًا بما يكفي عن بعضها البعض بحيث يمكن محاكاتها بشكل منفصل.
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepContactsيحدث الاتصالات بين الكائنات.قلل من عدد الأجسام المتصادمة في وقت واحد، أو استخدم صناديق تصادم أبسط. المكعبات أفضل من الشبكات المعقدة.
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepWorld OR stepWorldThrottledيحل معادلات الفيزياء المتعلقة بالموصلات، الطفو و Humanoids. عندما يكون المحرك محملاً بشكل زائد وغير قادر على محاكاة كل شيء في الوقت الحقيقي، قد يتم تقييد بعض الخطوات (stepWorldThrottled) ويتم محاكاة "التجمعات في الوقت الحقيقي" فقط مثل Humanoids.يعتمد على المكان الذي تذهب إليه الوقت بناءً على المراحل الثلاث التالية: stepContacts: اختبارات هندسة كشف التصادم الضيقة. Solver step: دمج الوقت وحل التصادمات والقيود الأخرى updateBroadphase: تحديث مواقع التجمعات في نظام كشف التصادم والعثور على أزواج ضيقة المرحلة المحتملة.
notifyMovingAssembliesيساعد في تتبع مدة نوم البدائيات.
Simulation/physicsSteppedTotal/physicsStepped/interpolateNetworkedAssembliesيتم تقاطع التجمعات غير الخاضعة لسيطرة اللاعب الحالي.قم بتعيين مالك الشبكة للأجزاء إلى اللاعب الحالي لتقليل ذلك؛ على الرغم من أن هذا سيؤدي عادةً إلى زيادة العمل الفيزيائي في أماكن أخرى.
Simulation/handleFallenPartsيزيل الأجزاء التي سقطت تحت Workspace.FallenPartsDestroyHeight.قلل من ارتفاع التدمير أو قلل من عدد الأجزاء التي تسقط إلى ارتفاع التدمير.
Heartbeat/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleepingالجزء الثاني من notifyMovingAssemblies.
Heartbeat/RunService.Heartbeatتشغيل الوظائف المتصلة بحدث RunService.Heartbeat لتواصل المحاكاة والسكربتات. الوصف الحالي عام بما يكفي ليكون غير خاطئ.قلل من عدد أو عبء العمل للوظائف المتصلة بـ RunService.Heartbeat.
worldStep/stepContactsيساعد خطوة محاكاة الفيزياء على معالجة العديد من الاتصالات في وقت واحد.قلل من عدد الأجسام المتصادمة.
SolveBatchيساعد محاكاة الفيزياء على حل دفعات من حركة الأجسام.

واجهة المستخدم

التسميةالوصفنصائح الأداء
Render/PreRender/UpdateInputيحدث ويشغل جميع الأحداث المتعلقة بإدخال المستخدم إذا كان المستخدم قد قام بإدخال منذ الإطار الأخير.حاول ألا تقوم بالكثير من العمل مباشرة عند الحصول على الإدخال. ضع في اعتبارك القيام بحد أدنى من المعالجة للإدخال، ويجب دفع الحسابات الأكبر إلى خيط آخر يحدث لاحقًا.
Render/PreRender/TweenServiceيحدث الكائنات التي يتم تحريكها باستخدام TweenService ويستدعي استدعاءات الاكتمال، مثل تلك المستخدمة المقدمة إلى GuiObject:TweenSize() أو GuiObject:TweenPosition().قلل من عدد الكائنات التي يتم تحريكها باستخدام TweenService وتأكد من أن الاستدعاءات تقوم بأقل قدر ممكن من العمل.
Heartbeat/TweenServiceفي الخادم، يعمل TweenService في RunService.Heartbeat بدلاً من RunService.PreRender.قلل من عدد الكائنات التي يتم تحريكها باستخدام TweenService وتأكد من أن الاستدعاءات تقوم بأقل قدر ممكن من العمل.
Render/PreRender/UpdateUILayoutsيحدث الموضع والحجم لعناصر واجهة المستخدم على جميع LayerCollectors المفعلة.انظر تسميات UpdateUILayouts أدناه.
Render/PreRender/UpdateUILayouts/Rebuild Z-order listيعيد بناء قائمة ترتيب Z الداخلية لعناصر واجهة المستخدم (لا تخلط بينها وبين GuiObject.ZIndex) في LayerCollector عند أول عرض أو عند إضافة عنصر جديد، إزالته، أو تغيير GuiObject.ZIndex الخاص به.قلل من عدد عناصر واجهة المستخدم في LayerCollectors قبل أول عرض وتجنب تغيير الوالد و GuiObject.ZIndex لعناصر واجهة المستخدم داخلها بشكل متكرر. كلما زاد عدد العناصر في LayerCollector، زادت سوء أدائها.
Render/PreRender/UpdateUILayouts/Layout

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

قلل من عدد عناصر واجهة المستخدم التي يتم تغيير حجمها أو إعادة وضعها، مثل تلك التي تديرها UILayout وتلك التي يتم تحريكها باستخدام TweenService، GuiObject:TweenSize()، أو GuiObject:TweenPosition(). ضع في اعتبارك استخدام أحجام ثابتة لـ BillboardGuis.
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.