• المنتجات
  • الميزات
  • Mod Master
  • تحميل
  • ألعاب
  • مدونة
  • التسعير

مزيل تلعثم السقوط

المؤلف:skyranger-1آخر تحديث:25/05/2014 00:02:071.1M258KB

Fallout 3 - Game of the Year Edition مزيل تلعثم السقوط-1-لاغو فاست مودماستر

مقدمة التعديل

مطلوب فوس. يحسن التأتأة و/أو الأداء.
مزيل تلعثم السقوط
الإصدار 4.0.7
بواسطة سكاي رانجر-1

موضوع المنتدى: http://www.bethsoft.com/bgsforums/index.php؟ موضوع العرض = 1069833
صفحة tesnexus: http://www.fallout3nexus.com/downloads/file.php؟ المعرف = 8886

هذا مكون إضافي fose، وسوف يعمل فقط مع fose 1.2 بيتا 1 أو أحدث.

لن يعمل هذا إلا مع fallout 3 الإصدار 1.7.




0. المحتويات:
====================================

0. المحتويات
1-لمحة عامة
2. التثبيت
3. إلغاء التثبيت
4. تغييرات الإعدادات المشتركة
5. جميع الإعدادات
6. تاريخ الإصدار
7. كيف يعمل هذا
8. الاعتمادات



1. نظرة عامة:


هذا المكون الإضافي يجعل Fallout 3 لا "تلعثم" بقدر ما يشعر عمومًا بسلاسة أو أداء أفضل. إنه يمنع أو يخفف من عدد من المشكلات المتعلقة بالتلعثم ومعدلات الإطارات، ويمكن أن يقلل من تواتر الأعطال المتعلقة بالتلعثم. لمزيد من التفاصيل، انظر القسم 7: كيفية عمل هذا.

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

هذا هو منفذ لمزيل تلعثم النسيان (OSR) للعمل على التداعيات. حتى الآن، فهو لا يعمل بشكل جيد مثل مزيل تلعثم النسيان الأصلي، ولكنه يجب أن يساعد البعض.

يجب أن يكون هذا متوافقًا مع كل شيء. التحذير الوحيد هو أن التعديلات التي تراقب إطارًا في الثانية لن تتمكن من قياس إطارًا في الثانية بدقة خارج النطاق المستهدف المحدد بواسطة هذا المكون الإضافي (من 10 إلى 30 افتراضيًا). في الواقع، حتى fpses التي تقترب فقط من أهداف fsr قد يكون من الصعب قياسها.



2. تثبيت:
====================================

عملية التثبيت هي:

1-ألف إذا جاء إصدار fsr الذي تقوم بتثبيته كملف. zip، فببساطة اسحب مجلد "البيانات" من zip إلى مجلد النسيان الخاص بك.

1-ب إذا لم يأتي إصدار fsr الذي تقوم بتثبيته كملف. zip، فيجب عليك وضع الملف sr_fallout_stutter_remover.dll في مجلد fallout\Data\fose\plugins الخاص بك. إذا لم يكن لديك مثل هذا المجلد، قم بإنشائه. إذا كان لديك إصدار أقدم من fsr، فقم بحذف ملف ini الخاص به (Data\fose\plugins\sr_Fallout_Stutter_Remover.ini). إذا لم يكن هناك ملف fsr ini موجود، فسيقوم fsr بإنشاء ملف ini جديد مع الإعدادات المناسبة لإصدارك في المرة القادمة التي تقوم فيها بتشغيل fallout.



3. إلغاء التثبيت:


ما عليك سوى حذف ملف sr_fallout_stutter_remover.dll من مجلد data\fose\plugins الخاص بك.
نقل هذا الملف إلى دليل آخر سيكون كافيًا أيضًا.



4. تغييرات الإعدادات المشتركة
====================================

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

يحتفظ fsr بإعداداته في الملف data\fose\plugins\sr_Fallout_Stutter_Remover.ini
إذا لم يكن هذا الملف موجودًا ، فببساطة قم بتشغيل fallout مع تثبيت fsr وسيقوم fsr بإنشاء ملف جديد مع الإعدادات الافتراضية لإصدارك من fsr. إذا كنت قد أفسدت شيئًا ما في إعداداتك أو كنت ترغب في العودة إلى الإعدادات الافتراضية، فما عليك سوى حذف ملف ini هذا وإطلاق التداعيات.

يمكنك العثور على معلومات عامة حول الإعدادات في القسم 5، بالإضافة إلى معلومات أكثر اكتمالًا حول كل إعداد فردي.

الإعدادات التي من المرجح أن ترغب في تغييرها هي:

FPS_Management\MaximumFPS: (الأرقام الافتراضية هي 30، فكر في التغيير إلى 0 أو قيم أخرى)
بعض الناس لا يريدون أن يكون معدل الإطارات محدودًا على الإطلاق. يمكنك إيقاف تشغيل الحد من الإطارات في الثانية عن طريق تعيين هذا على 0. أيضًا، إذا لم يكن معدل تحديث الشاشة عند تشغيل التداعيات 60 هرتز، فيمكنك محاولة تغيير هذا إلى معدل تحديث الشاشة، أو نصف معدل تحديث الشاشة، أو ثلث معدل تحديث الشاشة. لن يكون لهذا الإعداد أي تأثير إذا تم تغيير master\bmanagefps إلى 0.

Hashtables \bAllowDynamicResizing: (الافتراضي هو 0، فكر في التغيير إلى 1)
يمكن أن يؤدي تشغيل هذا إلى تحسين الأداء العام/الإطار/الثانية بشكل كبير على الألعاب المعدلة بشدة. لسوء الحظ، قد يتسبب ذلك في ظروف السباق وفوضى عامة، خاصة عندما تقوم البرامج النصية التي تستخدم أوامر fose معينة بتشغيل كل إطار. لقد حاولت تقليل فرصة حدوث مشاكل إلى قرب الصفر، ولكن... قد يتطلب المزيد من العمل حتى الآن. في هذه الأثناء، تعد هذه الميزة افتراضيًا معطلة. لن يكون لهذا الإعداد أي تأثير إذا تم تغيير master\bhookashtables إلى 0.

قمع القسم الحرج: (خاص)
بشكل افتراضي ، يقمع fsr قسمًا حرجًا معينًا يبدو أن التداعيات تعمل بشكل أفضل بدونه. هناك قسم حاسم آخر ذي صلة يبدو أن بعض المستخدمين قادرين على قمعه دون التسبب في مشاكل، ولكن المستخدمين الآخرين يواجهون ctds على التحولات الداخلية-> الخارجية أو مشاكل أخرى عند قمعها. هذا ينتج تحسينًا صغيرًا فقط للتلعثة، لذا لا أوصي عادة بقمعه، ولكن يمكنك ذلك إذا أردت ذلك. لقمعه، ابحث عن السطر الذي يقول "CallerAddress=0x70172A" في ملف ini الخاص بك وأضف سطرًا جديدًا بعده مباشرة يقول "Mode=5". لاحظ أن القضية مهمة هناك... يجب أن يكون "الوضع" وليس "الوضع". لن يكون لهذا الإعداد أي تأثير إذا تم تعيين master\bhookcriticalsections أو criticalsections\buseoverrides على 0.
ملاحظة: الجزء من القراءة فوق هذا مباشرة والذي تم شطبه كان للنسيان، وليس للتداعي؛ هناك ما يعادل التداعي، لكنني لم أتمكن من البحث عن القيم الدقيقة لها بعد. في الوقت الحالي، تجاهل ذلك.



5. جميع الإعدادات
====================================

يحتفظ fsr بإعداداته في الملف data\fose\plugins\sr_Fallout_Stutter_Remover.ini
إذا لم يكن هذا الملف موجودًا ، فببساطة قم بتشغيل fallout مع تثبيت fsr وسيقوم fsr بإنشاء ملف جديد مع الإعدادات الافتراضية لإصدارك من fsr. إذا كنت قد أفسدت شيئًا ما في إعداداتك أو كنت ترغب في العودة إلى الإعدادات الافتراضية، فما عليك سوى حذف ملف ini هذا وإطلاق التداعيات.

لاحظ أن تنسيق ملفات fsr ini يتغير بين الإصدارات الرئيسية من fsr-يجب ألا تستخدم ملف fsr الإصدار 1 ini مع fsr الإصدار 2، وما إلى ذلك في fsr2، يتم تنظيم ملف ini في أقسام مثل "SectionName {SettingName=Value}". يمكن الإشارة إلى إعداد محدد باسم sectionname\settingname لتمييزه عن الإعدادات الأخرى بنفس الاسم في أقسام مختلفة. في الإعدادات العامة مع الأسماء التي تبدأ بحرف "i" هي القيم الصحيحة (أي رقم بدون نقطة عشرية) ، والإعدادات مع الأسماء التي تبدأ بحرف "b" هي القيم المنطقية (أي إما 0 أو 1)، والإعدادات التي تبدأ بحرف "f" هي الأرقام التي قد تحتوي على نقاط عشرية فيها (أي 3.14). لا تبدأ بعض الإعدادات بإحدى تلك الحروف، وفي هذه الحالة قد لا يكون واضحًا ما هو النوع الصحيح للقيم.

هذه هي الإعدادات وقيمها الافتراضية الحالية (قد لا تكون محدثة بنسبة 100٪):

القسم: سيد {}
يحتوي هذا القسم على خيار لتعطيل كل نظام فرعي رئيسي لـ fsr، بالإضافة إلى بعض الإعدادات للأشياء التي لا تنتمي إلى أي نظام فرعي معين لـ fsr.

Master\bManageFPS (الافتراضي: 1)
سيؤدي تعيين هذا على 0 إلى تعطيل جميع أشياء إدارة الإطارات في الثانية، مما يجعل كل إعداد في قسم fps_management بلا معنى.

Master\bHookCriticalSections (الافتراضي: 1)
سيؤدي تعيين هذا على 0 إلى تعطيل جميع أشياء الأقسام الحرجة، مما يجعل كل إعداد في قسم الأقسام الحرجة بلا معنى.

Master\bHookLightCriticalSections (الافتراضي: 1)
سيؤدي تعيين هذا على 0 إلى تعطيل جميع أشياء القسم الحرجة الخفيفة، مما يجعل كل إعداد في قسم lightcriticalsections بلا معنى.

Master\bhookashtables (الافتراضي: 1)
سيؤدي تعيين هذا على 0 إلى تعطيل جميع أشياء جدول التجزئة، مما يجعل كل إعداد في قسم الأقسام الحرجة بلا معنى.

Master\bReplaceHeap (الافتراضي: 0)
سيؤدي تعيين هذا على 1 إلى تمكين استبدال الكومة ، مما يجعل الإعدادات في قسم الكومة ذات مغزى.

Master\bLogToConsole (الافتراضي: 0)
يقوم fsr بتسجيل أجزاء مختلفة من المعلومات في ملف السجل الخاص به. سيؤدي تغيير هذا الإعداد إلى 1 إلى طباعة fsr أيضًا لتلك المعلومات على وحدة التحكم.
ملف السجل هو sr_fallout_stutter_remover.log في دليل fallout. يتم إنشاؤه أو الكتابة فوق كل مرة يتم فيها تشغيل التداعيات مع تثبيت fsr.

Master\bFix64Hertz (الافتراضي: 1)
يعمل تعيين هذا على 1 على إصلاح مشكلة في التداعيات التي تسبب "تلعثم صغير". تُعرف هذه المشكلة أحيانًا باسم "مشكلة 64 هرتز". على وجه التحديد المشكلة هي أن توقيت منطق لعبة التداعيات يحدث عادة بدقة 1/64 من الثانية، وعادة ما تسمح معدلات تحديث الشاشة للتداعيات برسم 60 إطارًا في الثانية عندما يكون vsync محدودًا. يخلق هذا المزيج نوعًا من تردد الإيقاع عندما يصل معدل الإطارات إلى أقصى حد حيث يحتوي 4 إطارات في كل ثانية على ضعف مقدار وقت اللعبة الذي يمر به 56 إطارًا. الإصلاح الذي يطبق fsr تداعيات القوة لاستخدام الوقت بدقة 1/1000 من الثانية بدلاً من 1/64 من الثانية.

Master\bFlushLog (الافتراضي: 1)
يطلب هذا من fsr كتابة أي رسائل سجل إلى ملفها على الفور بدلاً من تخزينها مؤقتًا في الذاكرة. يمكن أن يقلل من الأداء قليلاً بسبب عدد أكبر من الوصول إلى القرص، ولكنه يجعل من المرجح أن يتم كتابة أي رسائل تتعلق بالمشاكل التي تحدث قبل وقت قصير من التعطل بنجاح إلى ملف السجل.

Master\iSchedulingResolution (الافتراضي: 1)
سيطلب fsr تشغيل جدولة windows بدقة تبلغ هذه المللي ثانية العديدة. مع هذه المجموعة عند 1، يعمل fsr والسقوط بشكل أفضل بشكل عام. يمكن أن يقلل هذا قليلاً من عمر بطارية أجهزة الكمبيوتر المحمولة.

قسم: FPS_Management {}
يحتوي هذا القسم على الإعدادات التي تعدل كيفية إدارة fsr لمعدل الإطارات وتدفق وقت اللعبة.

FPS_Management\bAllowSlowMotion (الافتراضي: 1)
إن تعيين هذا على 0 سيمنع fsr من محاولة تجاوز التدفق العادي لوقت اللعبة. في الماضي، كانت الأخطاء أريسون من fsr تفعل ذلك (الأكثر سيئة السمعة، خطأ npcs-drop-dead-on-cell-transitions القريبة)، ولكن يُعتقد أن هذه الأخطاء قد تم إصلاحها الآن. فقط في حال كنت تشك في وجود مشكلة، يمكنك تعطيل جميع تعديلات وقت لعبة fsr بالقوة باستخدام هذا الإعداد. على الرغم من الاسم ، فإن تعيين هذا على 0 سيمنع أيضًا fsr من إعادة توجيه وقت اللعبة بسرعة ، على الرغم من أن fsr يحاول فقط القيام بذلك في ظل مجموعات نادرة جدًا من الإعدادات والظروف.

FPS_Management\MaximumFPS (الافتراضي: 30)
هذا هو الحد الأقصى للإطارين في الثانية الذي لن يسمح fsr بتجاوز التداعيات. أقوم عمومًا بتعيين هذا على معدل إطارات مرتفع بما يكفي لدرجة أنني لن أهتم كثيرًا بأي إطارات إضافية في الثانية. لاحظ أن fsr لا يتعامل حقًا مع "الإطارات في الثانية" هنا، فإنه يحول تلك القيمة إلى رقم ميلي ثانية لكل إطار بدلاً من ذلك، وينظر في كل إطار بشكل فردي. إذا تم الانتهاء من الإطار بسرعة كبيرة، فسيؤدي fsr إلى تدارك الموضوع الرئيسي إلى النوم حتى يمر العدد الصحيح من المللي ثانية. يمكن أن يؤدي وضع مؤشر ترابط التداعيات الرئيسي إلى النوم إلى تحرير الموارد لاستخدامها بواسطة مؤشرات ترابط خلفية التداعيات أو للبرامج الأخرى التي قد يتم تشغيلها في الخلفية. إذا لم يكن هناك شيء يريد استخدام الموارد الإضافية، فسوف تعمل وحدة المعالجة المركزية و/أو وحدة معالجة الرسومات الخاصة بك أكثر برودة وتستخدم كهرباء أقل.

FPS_Management\MinimumFPS (الافتراضي: 10)
هذا هو الحد الأدنى للإطارين في الثانية الذي لن يسمح fsr بالتداعيات بالدخول تحت. ومع ذلك، بدلاً من التعامل مع الثواني الحقيقية، يتعامل هذا مع ثوانٍ من وقت اللعبة. لذلك لا يزال بإمكانك الحصول على إطارًا في الثانية 1 إذا كان جهاز الكمبيوتر الخاص بك بطيئًا حقًا، ولكن هذا من شأنه أن يبطئ وقت اللعبة إلى 10% من المعتاد بحيث سيكون هناك دائمًا 10 إطارات على الأقل في الثانية من وقت اللعبة. كانت جميع الأرقام هناك على سبيل المثال، بناءً على إطارًا في الثانية الحقيقي قدره 1 وإعداد الحد الأدنى من إطارًا في الثانية قدره 10 (القيمة الافتراضية). لاحظ أيضًا أنه مثل maximumfps ، يعمل هذا فعليًا على أساس إطار واحد يتعامل مع ميلي ثانية لكل إطار بدلاً من الإطارات في الثانية.
أقوم عمومًا بتعيين هذا على الإطارات في الثانية المنخفضة التي أجدها قابلة للتشغيل عن بعد. الغرض الكبير من هذا الإعداد هو منع منطق اللعبة المتداعيات من الإصابة بالجنون عندما تصبح إطارًا في الثانية منخفضة جدًا. تشمل المشكلات التي يمنعها هذا المعارك المستحيلة لأن الأعداء يمكنهم تشغيل دوائر حولك بين الإطارات، وعناصر التحكم الفاشلة لأن Fallout يعتقد أن مفتاح الهجوم منخفض لإطار بأكمله أو غير منخفض لإطار بأكمله مما قد يتسبب في هجوم طاقة يحدث عندما كان مقصودًا على الهجوم، والكثير من المشكلات الأخرى المماثلة.

FPS_Management\iSmoothFrames (الافتراضي: 0)
إذا تم تعيين هذا على 0، فإن منطق "التجانس" لا يفعل أي شيء. لتشغيل منطق التجانس حاول ضبط هذا على 2. ومع ذلك، تشير التقارير إلى أن منطق التجانس لا يستحق الكثير من أي شيء حقًا. يهدف منطق التجانس إلى منع مجموعة متنوعة من المشكلات التي تنشأ عن تلعثم والتغيرات السريعة الأخرى في معدلات الإطارات. لن يكون لمنطق التجانس أي تأثير إذا كان ballowslowmotion 0.

FPS_Management\iSmoothMode (الافتراضي: 0)
يجب أن يكون هذا 0 أو 1 أو 2 أو 3. إذا كان 0 أو 1، فسوف يتيح بعض المنطق الإضافي الذي يحاول تصفية أحداث اللعثم خارج تدفق الوقت. يمكن أن ينتهي الأمر بهذا المنطق بأن إجمالي مقدار وقت اللعب الذي يمر لا يساوي تمامًا مقدار الوقت الحقيقي الذي يمر إذا كان هناك انخفاض مفاجئ جدًا في الإطارين في الثانية. إذا كان 2 أو 3، فسيتم تعطيل هذا الجزء الإضافي من المنطق. الفرق بين 0/2 و1/3 هو قضية دقيقة للغاية حول كيفية إعادة توزيع الوقت بين الإطارات.

FPS_Management\iSleepExtra (الافتراضي: 2)
سيقوم fsr بإجبار التداعيات على النوم لهذه المللي ثانية العديدة كل ثانية. يمكن أن يساعد هذا في تحرير الموارد لمؤشرات الخلفية أو العمليات الأخرى، أو تقليل درجة الحرارة الفائدة الرئيسية هي أنه إذا كان بعض مؤشرات الترابط الخلفية يكافح من أجل الحصول على مورد معين يتعامل معه مؤشر الترابط الرئيسي، فإن هذا يمكن أن يمنحه فرصة للحصول على هذا المورد من حين لآخر.
إذا تم تعيين هذا على -1، فإن رمز إدارة fsr fps لن يضع التداعيات أبدًا إلى النوم-إذا تجاوزت fsr الحد الأقصى fs، فسوف تضيع fsr الوقت في حلقة خاملة. لا ينصح بهذا الوضع كما هو متوفر لأغراض الاختبار فقط.

FPS_Management\bFPSConsoleSPAM (الافتراضي: 0)
سيؤدي هذا إلى قيام fsr بتسجيل مقدار الوقت الذي يستغرقه إكمال كل إطار. سيقوم بذلك مرة واحدة لكل إطار، مما يخلق عددًا هائلاً من الأوقات المسجلة.

FPS_Management\iSchedulingParanoia (الافتراضي: 1)
هذا الإعداد في وحدات المللي ثانية. إنه يحدد مدى جنون العظمة لرمز الحد الأقصى للجزء الثانوي حول الجدولة. إذا كانت القيمة مرتفعة، فلن ينام رمز الحد الأقصى في الثانية أبدًا، وبدلاً من ذلك يضيع الوقت في الحلقات الخاملة. إذا كانت القيمة 0، فإن رمز maximumfps سيثق في الجدولة لاستئناف تنفيذ مؤشرات الترابط الرئيسية في الوقت المطلوب بالضبط. بشكل عام، أقوم بالتنازل عند 1 لقلة من جنون العظمة حول الجدولة ولكن لا يزال يسمح باستخدام الكثير من وقت الفراغ للاستخدام البناء.

FPS_Management\iHardMaxFrametime (الافتراضي: 200)
هذا في وحدات المللي ثانية. لقد وجد أنه عندما يضع رمز ضبط تدفق الوقت الخاص بي زمنًا كبيرًا جدًا في الوقت الخطأ، تحدث أشياء غريبة. أشياء سيئة. مثل، أجهزة الكمبيوتر القريبة تسقط ميتة بشكل عشوائي. يمنع هذا الإعداد ذلك، عن طريق تعيين الحد الأقصى المطلق لعدد المللي الثانية التي يسمح بها fsr بالمرور مرة واحدة في المسار العادي للأشياء. عادةً ما تصل إلى الحد الأدنى من المفاصل في الثانية قبل أن تصل إلى هذا الحد، ولكن يتم التنازل عن الحد الأدنى من المفاصل في الثانية في بعض الظروف لمنع الآثار الجانبية مثل حركات الشفاه غير المزامنة مع الأصوات، لذا فإن هذا يعمل نوعًا من المستوى الثاني من الحد الأدنى من المفاصل في الثانية، وهو الحد الأدنى من المفاصل في الثانية. يمكن أن يؤدي ضبط هذا المنخفض جدًا إلى عدم مزامنة أشياء مثل حركات الشفاه في المحادثات، ويمكن أن يسمح ضبطه عاليًا جدًا بأخطاء مثل npcs-dropping-dead-عشوائيًا. لقد قمت بتعيين 200 كحل وسط-يجب ألا يتسبب في إزالة مزامنة الشفاه إلا إذا انخفضت معدل الإطارات إلى أقل من 5 في المحادثة. وإذا كنت تلعب التداعيات بمعدل إطارات أقل من 5، فأنت بحاجة إلى مساعدة جادة.

قسم: الأقسام الحرجة {}
يتناول هذا القسم جميع التغييرات التي يجريها fsr على fallouts critical_sections. هل تريد أن تعرف عن كائنات section_critical؟ يستخدمها Fallout لمنع خيوطها المختلفة من قتل بعضها البعض عن طريق الخطأ. مايكروسوفت يوفر لهم الرمز. يستخدم fallout إصدارات مختلفة قليلاً منها اعتمادًا على إصدار النوافذ الذي يعمل عليه. يمكنك قراءة المزيد عنها على msdn.

الأقسام الحرقية\bEnableProfiling (الافتراضي: 0)
إذا تم تعيينه على 1، فسيقوم fsr بتسجيل معلومات حول توقيت/أداء عمليات القسم الحرجة في التداعيات. يسبب القيام بذلك عقوبة صغيرة ولكنها كبيرة على الأداء. سيسجل fsr المعلومات في ملف السجل الخاص به. يمكن أن ينتج هذا معلومات مفيدة حول سبب تلعثم التداعيات أو تشغيلها ببطء. يمكن استخدام هذه المعلومات لضبط قسم التجاوز في ملف fsr ini أو شيء من هذا القبيل.

أقسام نقدية\رسائل قابلة للتطبيق (الافتراضي: 0)
إذا تم تعيينه على 1، فسيقوم fsr بتسجيل معلومات حول بعض أحداث التوقيت/الأداء للأقسام الحرجة. هناك تكلفة أداء ضئيلة جدًا للقيام بذلك، ولكنها يمكن أن تشكل فوضى في ملف السجل مما يجعل من الصعب العثور على معلومات غير حرجة هناك.

Sections\bUseOverrides الحرقيين (الافتراضي: 1)
إذا تم تعيين هذا على 1، فسيستخدم fsr الإعدادات الموجودة في قسم التجاوز في ini لتحديد ما يجب القيام به لأقسام حرجة محددة.

الأقسام الحرقية\mode الفكرة (الافتراضي: 2)
يحدد هذا ما يفعله fsr للأقسام الحرجة التي لا تحتوي على إدخال وضع لها في قائمة التجاوز.
1: يترك هذا القسم الحرج في سلوك طبيعي تقريبًا.
2: يضبط هذا القسم الحاسم لتحسين الإنصاف على حساب الإنتاجية. يمكن أن يمنع هذا مؤشر ترابط واحد من تعطيل قسم حاسم كثيرًا، ولكن يمكن أن يكون المعدل الصافي الذي يمكن به القيام بالعمليات باستخدام هذا القسم الحرج.
3: محاولة حل وسط بين العدالة والإنتاجية التي عادة ما يحسن للإنتاجية ولكن مرة واحدة من حين لآخر يحول السلوك إلى التحسين للإنصاف.
5: يتم قمع هذا القسم الحرج. يؤدي قمع الأقسام الحرجة عمومًا إلى تعطل التداعيات ، ولكنه أيضًا يحسن الأداء بشكل عام. قد تتأثر بعض الأقسام الحرجة بشكل مختلف.
6: أن الموضوع الرئيسي يحصل على الأولوية لهذا القسم الحاسم.
7: تحصل مؤشرات الخلفية على الأولوية لهذا القسم الحاسم.

Sections\iDefaultSpin (الافتراضي: 500)
يؤثر هذا على المدة التي سيستمر فيها مؤشر ترابط في محاولة الدخول إلى قسم حاسم قبل أن يطلب من الجدولة وضعه في النوم حتى يصبح هذا القسم الحاسم متاحًا. من الناحية النظرية، ستؤدي القيمة الصغيرة جدًا إلى الكثير من النفقات العامة للجدولة ، بينما ستؤدي القيمة الكبيرة جدًا إلى إهدار دورات وحدة المعالجة المركزية. 500 هي في الواقع قيمة صغيرة نوعًا ما على ما أعتقد. قد تزداد القيمة المثالية مع عدد النواة/مؤشرات ترابط الأجهزة التي لديك.

Sections\iStutterLevel (الافتراضي: 4)
تؤثر هذه المعلمة على عدد المرات التي يتم فيها تبديل وضع القسم الحرج 2 للسلوك. راجع الوضع المثالي لمزيد من المعلومات حول وضع القسم الحرج 2. العدد الأصغر يعني مفاتيح متكررة، والعدد الأكبر يعني مفاتيح غير متكررة. يجب أن تكون القيمة المثالية في مكان ما في نطاق 3 إلى 6.

القسم: الأقسام الحرجة الضوئية {}
يتناول هذا القسم جميع التغييرات التي يجريها fsr على فئة من كائنات التداعيات التي تخدم غرضًا مماثلًا لـ critic_sections ولكنها أكثر خفيفة الوزن.

LightCriticalSections\bFullHooks (الافتراضي: 0)
إذا تم تعيينه على 1، فسيقوم هذا بتشغيل الإصدار الأكثر اكتمالًا من خطافات القسم الحرجة الخفيفة. لسوء الحظ، لا يزال الإصدار الأكثر اكتمالًا مخطئًا، لذا فإن الإصدار الافتراضي هو معطل في الوقت الحالي.

LightCriticalSections\bEnableProfiling (الافتراضي: 0)
إذا تم تعيينه على 1، فسيسجل fsr معلومات حول توقيت/أداء عمليات القسم الحرج الخفيف في التداعيات. يؤدي القيام بذلك إلى عقوبة صغيرة ولكن كبيرة على الأداء. سيسجل fsr المعلومات في ملف السجل الخاص به. يمكن أن ينتج هذا معلومات مفيدة حول سبب تلعثم التداعيات أو تشغيلها ببطء. يمكن استخدام هذه المعلومات لضبط قسم التجاوز في ملف fsr ini أو شيء من هذا القبيل.

LightCriticalSections\bEnableMessages (الافتراضي: 1)
إذا تم تعيينه على 1، فسيسجل fsr معلومات حول بعض أحداث التوقيت/الأداء للأقسام الحرجة الخفيفة. هناك تكلفة أداء ضئيلة جدًا للقيام بذلك، ولكنها يمكن أن تشكل فوضى في ملف السجل مما يجعل من الصعب العثور على معلومات غير حرجة هناك.

LightCriticalSections\bUseOverrides (الافتراضي: 1)
إذا تم تعيين هذا على 1، فسيستخدم fsr الإعدادات الموجودة في قسم التجاوز في ini لتحديد ما يجب القيام به لأقسام حرجة محددة. لن يكون للتجاوزات أي تأثير ما لم يتم تمكين خطافات lcs الكاملة (bfullhooks أعلاه).

LightCriticalSections\iDefaultMode (الافتراضي: 2)
يحدد هذا ما يفعله fsr لإضاءة الأقسام الحرجة التي لا تحتوي على إدخال وضع لها في قائمة التجاوز. يحاول استخدام مخطط ترقيم الوضع مماثل لأشياء الأقسام الحرجة-راجع criticalsections\idefaultmode أعلاه لمزيد من المعلومات. قد تتصرف بعض الأوضاع بشكل مختلف إلى حد ما اعتمادًا على تمكين bfullhooks أم لا.

LightCriticalSections\iDefaultSpin (افتراضي: 500)
يحدد هذا ما يفعله fsr لإضاءة الأقسام الحرجة التي لا تحتوي على إدخال دوران لها في قائمة التجاوز. يحاول أن يكون له معنى مماثل لأشياء الأقسام الحرجة-راجع sections\idefaultspin أعلاه لمزيد من المعلومات. قد يكون معنى الدوران مختلفًا إلى حد ما اعتمادًا على تمكين bfullhooks أم لا.

LightCriticalSections\iStutterLevel (الافتراضي: 4)
تؤثر هذه المعلمة على عدد المرات التي يتم فيها تبديل وضع القسم الحرج الخفيف 2 للسلوك. راجع الوضع المثالي لمزيد من المعلومات حول وضع القسم الحرج 2. العدد الأصغر يعني مفاتيح متكررة، والعدد الأكبر يعني مفاتيح غير متكررة. يجب أن تكون القيمة المثالية في مكان ما في نطاق 3 إلى 6.


القسم: كومة {}
هذه الأشياء لا تعمل حقًا للتداعيات بعد. لا تستخدم.

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

جداول التجزئة\bAllowDynamicResizing (الافتراضي: 0)
إذا تم تعيين هذا على 1، فسيزيد fsr من حجم جداول التجزئة بمجرد أن تصبح ممتلئة. ومع ذلك، فإن عمل تغيير حجمها محفوف بمشاكل-يمكن أن يتسبب في تعطل أو خلل، والطرق التي أستخدمها لمنعه من القيام بذلك يمكن أن تسبب تلعثرة صغيرة في الأداء أو أي تعطل أو خلل آخر. ومع ذلك، في هذه المرحلة، أعتقد أنه قد يعمل بشكل لائق نوعًا ما.

جداول التجزئة\bUseOverrides (الافتراضي: 0)
حاليًا لا توجد تجاوزات لجدول التجزئة، وبناء الجملة لتحديدها محرج ولديه القدرة على الفشل بصمت والقيام بشيء آخر بدلاً من ذلك إذا أدخلت قيمة خاطئة. سيتم إصلاح هذا في النهاية على الرغم من السماح للربطات المحددة من ملف ini في تهيئة أهم جداول التجزئة لجعلها تبدأ بحجم مناسب بدلاً من الحاجة إلى تغيير حجمها لاحقًا.

جداول التجزئة\bEnableProfiling (الافتراضي: 0)
سيقوم هذا بمراقبة جداول التجزئة ومعلومات السجل حول مدى امتلائها ومدى الوصول إليها.

Hashtables \benablemmessages (الافتراضي: 0)
إذا كان هذا 1، فقد يقوم رمز جداول التجزئة أحيانًا بتسجيل الرسائل حول ما يفعله.

جداول التجزئة\iHashtableResizeScale1 (الافتراضي: 2)
جداول التجزئة\iHashtableResizeScale2 (الافتراضي: 4)
إذا كان ballowdynamic resising هو 1، فسيحدد ihashtableresizescale1 الحد الأدنى لمستوى الإشغال الذي سيتم تغيير حجم جدول التجزئة، وسيحدد ihashtableresizescale2 مقدار حجم حجمه الجديد أكبر. كلا الرقمين هما في الواقع مؤشرات تطبق على 2، لذا فإن إعداد 3 يعني عامل 8، وإعداد 5 يعني عامل 32. من الناحية النظرية، قد يؤدي خفض ihashtableresescale1 إلى 1 إلى تحسين الأداء أكثر، لأنه سيزيد من حجم المزيد من جداول التجزئة. ربما يجب تعيين ihashtableresizescale2 على 1 أو 2 أكثر من ihashtableresizescale1.

جداول التجزئة\iHashtableResizeDelay (افتراضي: 20)
هذا هو عدد من المللي ثانية التي سيتوقف fsr عند تغيير حجم جدول التجزئة. الفكرة هي أنه على الرغم من أنني لا أستطيع منع مؤشر ترابط آخر من الوصول إلى جدول التجزئة بينما أنا مشغول به، إلا أنني نأمل أن أمنعهم من *البدء* في الوصول إلى جدول التجزئة. لذا أتأخر لفترة كافية لدرجة أنه ربما، ربما سينتهي أي شخص كان يصل بالفعل إلى جدول التجزئة، ثم أقوم بأشيائي. هذا لا يعمل على fose لسوء الحظ لأن fose لا يفعل نفس الأشياء التي يفعل fallout، بالإضافة إلى أنه حتى عندما يفعل ذلك فإنه لا يستخدم vtables للقيام بها. ولكن الصراف الآلي أعتقد أن fose قد يصل إليها فقط من مؤشر الترابط الرئيسي، لذا إذا كان مقياس الحجم الخاص بي يعمل في مؤشر الترابط الرئيسي، فلا داعي للقلق بشأن fose. ربما.

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



6. تاريخ الإصدار:
====================================

FPS Capper الإصدار 1:
كان يعرف هذا باسم كابر إطار/الثانية. كل ما فعله هو إدارة إطار/ثانية. تم دمج هذا الإصدار في مجموعة معدلة من dlls الغريبة.

FPS Capper الإصدار 2:
كان هذا هو الإصدار الأول الذي يحتوي على dll الخاص به منفصل عن obse. كان يعرف هذا باسم كابر إطار/الثانية. كل ما فعله هو إدارة إطار/ثانية.

النسيان مزيل تلعثم الإصدار 3 التجريبي 1:
الإصدار الأول الذي يسمى مزيل تلعثم النسيان. يتجمد أحيانًا لعدة دقائق في القائمة الرئيسية. يمكن أن تفسد حركات صوت ووجه npc في الحوار.
الإصدار 3 الإصدار التجريبي 2: يمكن أن تفسد حركات صوت ووجه npc في الحوار.

النسيان مزيل تلعثم الإصدار 3 بيتا 6:
كان هناك تأخير طويل بين الإصدارات 5 وبيتا 6، مملوءة بالعديد من الإصدارات ألفا. كان هذا هو الإصدار الأول من fsr الذي يقوم بعمل لائق في الحد من التألعة للمستخدم العادي. ويرجع ذلك إلى الميزات الجديدة: تعديلات إنصاف القسم الحرج، وقمع القسم الحرج، واستبدال الكومة. لسوء الحظ، لا يزال استبدال الكومة يواجه مشاكل كبيرة للعديد من المستخدمين. تم تعيين bfix64hertz على 0 افتراضيًا في ini، ويجب أن يكون 1 بدلاً من ذلك.

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

الإصدار التجريبي 1 من مزيل تلعثم التداعيات:
المنفذ الأولي لـ osr إلى التداعيات.

الإصدار 4.1.0 من مزيل تلعثم النسيان/السقوط:
التغييرات الرئيسية:
1.يدعم كل من التداعيات والنسيان في نفس قاعدة الرموز:لا يوفر الكثير من الفوائد على التداعيات 3، ولكنه يساعد.
2.ملف. ini: تنسيق ملف ini مختلف تماما
3.تغيير حجم جدول التجزئة: ميزة جديدة لتحسين الأداء
4.الأقسام الحرجة والأقسام الحرجة الخفيفة:تم تعميم العديد من الحالات الخاصة للأقسام الحرجة، والآن أكثر قابلية للتعديل من ملف ini. لا تزال "الخطافات الكاملة" لرمز القسم الحرج الخفيف مشكلة.
5.استبدال كومة: تم إصلاح بعض الأخطاء، لكنني أعتقد أنه لا يزال لديه مشاكل. لا يزال لا يعمل على الإطلاق على التداعيات.
6.تسمية الإصدار:الإصدارات التي تم إصدارها إلى tesnexus تسمى الآن إصدارات الإصدار بدلاً من الإصدارات التجريبية. الإصدارات التي تم إصدارها على خادم ftp الخاص بي تسمى الآن إصدارات تجريبية بدلاً من إصدارات ألفا. يتم زيادة الرقم الأول من رقم الإصدار فقط عند إجراء تغييرات كبيرة على تنسيق التكوين أو التوزيع. يتم زيادة الرقم الثاني من رقم الإصدار في كل إصدار إصدار. يتم زيادة الرقم الثالث من رقم الإصدار مرة واحدة لكل إصدار تجريبي. كلما تم زيادة الرقم، يتم إعادة تعيين جميع الأرقام الموجودة إلى اليمين إلى 0.




7. كيف يعمل هذا:


هذا هو ملحق fose dll. إنه في الأساس يختراق التداعيات.

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

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

7.2: الأقسام الحرجة:
الأقسام الحرجة هي أولويات مزامنة مؤشرات الترابط التي يوفرها Microsoft والتي يستخدمها fallout داخليًا للتأكد من أن مؤشرات الترابط لا تدمر بعضها البعض عن طريق الخطأ. يجعل fsr افتراضيًا معظم الأقسام الحرجة تحاول اللعب بشكل عادل حتى على حساب الإنتاجية، مما يتأكد من أنه لا يوجد مؤشر ترابط يحتوي على مورد تحتاجه مؤشرات الترابط الأخرى. ومع ذلك، يتم تجاوز قسم حاسم محدد واحد لاستخدام طريقة أقل عدلاً قليلاً، ويتم قمع قسم حاسم محدد آخر بحيث لا يكون له أي تأثير على الإطلاق. وهذا كله قابل للتكوين للغاية من ملف ini. كما يتم تجاوز المغزل.

7.3: استبدال الكومة:
هذه الميزة لا تعمل بشكل صحيح على Fallout 3 حتى الآن.

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

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


====================================
8. الاعتمادات:
====================================

هذا البرنامج المساعد تم صنعه بواسطتي (كريستوفر دوتي همفري).

لم يكن من الممكن أن يكون ذلك ممكنا بدون الجهود الهائلة التي بذلها فريق فوس. بالإضافة إلى ذلك، ساعدني إيان باترسون (رجل فريق فوس) عبر الكثير من الأماكن التي واجهت فيها مشكلة.

تم بدء الموضوع الأصلي الذي دفعني إلى بدء هذا المكون الإضافي بواسطة deviuscreed.

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

أود أيضًا أن أشكر badhair على توجيه لي إلى جداول التجزئة الممتلئة كسبب لمشاكل الأداء.

تم استخدام الأدوات التالية في إنتاج هذا المكون الإضافي:
النسيان/السقوط، بواسطة بيثيسدا
OBSE/fose والرمز المصدر OBSE/fose
مايكروسوفت فيزوال ج 2008 الإصدار السريع
Ida مجانًا (مصحح الأخطاء التفاعلي، الإصدار المجاني، الإصدار 4.9)
محرك الغش (الإصدار 5.4)
بالإضافة إلى الأشياء الواضحة مثل windows xp ومدفقة الملاحظات وfirefox.

باستثناء النسيان/التداعيات ونوافذ XP، كل هذه المتاحة مجانًا.

لقد كان لدي أيضًا ورشة عمل سداسية وأوصت بي ollydbg ولكني لم أبدأ في تجربتها بعد.
هذه الأداة مقدمة من طرف ثالث [bufftool]أيقونة التنبيه

تنزيل التعديلات الآن

قم بتثبيت LagoFast، ثم قم بتشغيل Fallout 3 - Game of the Year Edition والعب بالتعديلات التي تحبها.