• محصولات
  • ویژگی ها
  • Mod Master
  • دانلود
  • بازی‌ها
  • وبلاگ
  • قیمت گذاری

حذف کننده لکنت ریزش

نویسنده:skyranger-1آخرین به‌روزرسانی:2014-05-25 00:02:071.1M258KB

Fallout 3 - Game of the Year Edition حذف کننده لکنت ریزش-1-لاگوفست مدمستر

مقدمه وزارت دفاع

فوس مورد نیاز است لکنت و/یا عملکرد را بهبود می بخشد.
حذف کننده لکنت ریزش
نسخه 4.0.7
توسط skyranger-1

موضوع انجمن: http://www.bethsoft.com/bgsforums/index.php؟ showtopic = 1069833
صفحه tesnexus: http://www.fallout3nexus.com/downloads/file.php؟ شناسه = 8886

این یک افزونه fose است و فقط با fose 1.2 beta 1 یا بیشتر کار می کند.

این فقط با fallout 3 نسخه 1.7 کار می کند.




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

0. محتوا
1. مرور کلی
2. نصب
3. حذف
4. تغییرات تنظیمات رایج
5. تمام تنظیمات
6. تاریخ نسخه
7. این چگونه کار می کند
8. اعتبار



1. مرور کلی:


این افزونه باعث می شود که fallout 3 به اندازه کافی "لکنت" نکند و به طور کلی احساس نرم تر کند یا عملکرد بهتری داشته باشد. این از تعدادی از مشکلات مربوط به لکنت و سرعت فریم جلوگیری یا کاهش می دهد و می تواند فرکانس تصادفات مربوط به لکنت را کاهش دهد. برای جزئیات بیشتر، به بخش 7 مراجعه کنید: نحوه کار این کار.

با این حال، توجه داشته باشید که این به طور کلی هیچ اشکالی را در درایورها، سخت افزار یا کدک های شما برطرف نمی کند-اگر دلایل اساسی برای عملکرد ضعیف دارید، احتمالاً این کار کمکی چندانی نخواهد داشت.

این پورتی از حذف کننده لکنت فراموشی (OSR) است که برای سقوط کار می کند. تاکنون، به اندازه حذف کننده لکنت اصلی فراموشی کار نمی کند، اما باید به برخی کمک کند.

این باید با همه چیز سازگار باشد. تنها هشدار این است که مودهایی که fps را نظارت میکنند، نمیتوانند fpses را خارج از محدوده هدف تعیین شده توسط این افزونه (به طور پیش فرض 10 تا 30) به طور دقیق اندازه گیری کنند. در واقع، حتی fpses که صرفاً به اهداف fsr نزدیک می شوند ممکن است اندازه گیری دشوار باشد.



2. نصب:
====================================

روند نصب عبارتند از:

1. الف اگر نسخه fsr که در حال نصب هستید به عنوان یک فایل. 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 دفعه بعدی که fallout را اجرا می کنید، یک فایل ini جدید با تنظیمات مناسب برای نسخه شما تولید می کند.



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 محدودیت fps را خاموش کنید. همچنین، اگر میزان تازهسازی صفحه نمایش شما هنگام پخش 60 هرتز نیست، ممکن است سعی کنید این را به میزان تازهسازی صفحه، یا نیمی از میزان تازهسازی صفحه، یا یک سوم میزان تازهسازی صفحه، تغییر دهید. اگر master\bmanagefps به 0 تغییر یابد، این تنظیمات هیچ تاثیری نخواهد داشت.

Hashtables\bAllowDynamicResizing: (پیش فرض به 0، تغییر به 1 را در نظر بگیرید)
روشن کردن این می تواند عملکرد عمومی/fps را به میزان قابل توجهی در بازیهای به شدت اصلاح شده بهبود بخشد. متأسفانه، ممکن است باعث شرایط مسابقه و آشفتگی عمومی شود، به ویژه زمانی که اسکریپت هایی با استفاده از فرمان های fose خاص هر فریم را اجرا می کنند. من سعی کردم احتمال مشکلات را نزدیک به صفر کاهش دهم، اما... ممکن است هنوز به کار بیشتری نیاز داشته باشد. در همین حال، این ویژگی به طور پیش فرض غیرفعال است. اگر master\bhookhashtables به 0 تغییر یابد، این تنظیمات هیچ تاثیری نخواهد داشت.

سرکوب بخش بحرانی: (ویژه)
به طور پیش فرض fsr یک بخش بحرانی خاص را سرکوب می کند که به نظر می رسد سقوط بدون آن بهتر کار می کند. بخش بحرانی مرتبط دیگری وجود دارد که به نظر می رسد برخی از کاربران می توانند بدون ایجاد مشکلی سرکوب کنند، اما سایر کاربران هنگام سرکوب آن ctds را در انتقال داخلی-> بیرونی یا مشکلات دیگر تجربه می کنند. که فقط بهبود کوچکی در لکنت ایجاد می کند، بنابراین من معمولاً سرکوب آن را توصیه نمی کنم، اما اگر بخواهید می توانید. برای سرکوب آن، خطی را در فایل ini خود پیدا کنید که "CallerAddress=0x70172A" می گوید و یک خط جدید درست بعد از آن اضافه کنید که "Mode=5" می گوید. توجه داشته باشید که مورد در آنجا مهم است... باید "حالت" باشد و نه "حالت". اگر master\bhookcriticalsections یا criticalsections\buseoverrides روی 0 تنظیم شوند، این تنظیمات هیچ تاثیری نخواهد داشت.
توجه: بخشی از readme بلافاصله بالای این که حذف شده است برای فراموش بود، نه سقوط. یک معادل برای سقوط وجود دارد، اما من هنوز به جستجوی مقادیر دقیق برای آن نرسیده ام. در حال حاضر، آن را نادیده بگیرید.



5. تمام تنظیمات
====================================

Fsr تنظیمات خود را در فایل data\fose\plugins\sr_Fallout_Stutter_Remover.ini نگه می دارد
اگر آن پرونده وجود ندارد، به سادگی fallout را با نصب fsr راه اندازی کنید و fsr یک پرونده جدید با تنظیمات پیش فرض برای نسخه شما از fsr ایجاد می کند. اگر چیزی را در تنظیمات خود خراب کرده اید یا در غیر این صورت می خواهید به تنظیمات پیش فرض بازگردید، به سادگی این فایل ini را حذف کنید و نتایج را راه اندازی کنید.

توجه داشته باشید که فرمت فایلهای fsr ini بین نسخههای اصلی fsr تغییر میکند-شما نباید از فایلهای fsr نسخه 1 ini با نسخه 2 fsr و غیره در fsr2 استفاده کنید، فایلهای ini در بخشهایی مانند "SectionName {SettingName=Value} سازماندهی شده است." یک تنظیمات خاص ممکن است به عنوان sectionname\settingname ارجاع شود تا آن را از سایر تنظیمات با همان نام در بخش های مختلف متمایز کند. در تنظیمات عمومی با نامهایی که با "i" شروع می شوند مقادیر عدد صحیح هستند (یعنی عددی بدون نقطه اعشاری) ، تنظیمات با نامهایی که با "b" شروع می شوند مقادیر بولی هستند (یعنی 0 یا 1) و تنظیمات شروع می شوند. با "f" اعدادی هستند که ممکن است نقاط اعشاری در آنها داشته باشند (یعنی 3.14). برخی از تنظیمات با یکی از آن حروف شروع نمی شود، در این صورت ممکن است مشخص نباشد که نوع مناسب مقادیر چیست.

اینها تنظیمات و مقادیر پیش فرض فعلی آنها هستند (ممکن است 100٪ به روز نباشند):

بخش: استاد {}
این بخش شامل گزینه ای برای غیرفعال کردن هر زیر سیستم اصلی fsr، به علاوه چند تنظیمات برای چیزهایی است که متعلق به هیچ زیر سیستم خاصی از fsr نیستند.

Master\bManageFPS (پیش فرض: 1)
تنظیم این روی 0 تمام موارد مدیریت fps را غیرفعال می کند و هر تنظیمات در بخش fps_management بی معنی می شود.

Master\bHookCriticalSections (پیش فرض: 1)
تنظیم این روی 0 تمام موارد بخش بحرانی را غیرفعال می کند و هر تنظیمات در بخش بخش های بحرانی را بی معنی می کند.

Master\bHookLightCriticalSections (پیش فرض: 1)
تنظیم این روی 0 تمام موارد بخش بحرانی سبک را غیرفعال می کند و هر تنظیمات در بخش lightcriticalsections را بی معنی می کند.

Master\bHookHashtables (پیش فرض: 1)
تنظیم این روی 0 تمام چیزهای هشتیبل را غیرفعال می کند و هر تنظیمات در بخش بخش های بحرانی را بی معنی می کند.

Master\bReplaceHeap (پیش فرض: 0)
تنظیم این روی 1 جایگزینی پشته را فعال می کند و تنظیمات در بخش پشته را معنی دار می کند.

Master\bLogToConsole (پیش فرض: 0)
Fsr بیت های مختلف اطلاعات را در پرونده ورود به سیستم خود ثبت می کند. تغییر این تنظیمات به 1 باعث می شود fsr آن اطلاعات را نیز روی کنسول چاپ کند.
پرونده log sr_fallout_stutter_remover.log در فهرست fallout است. هر بار که fallout با نصب fsr اجرا می شود، ایجاد یا بازنویسی می شود.

Master\bFix64Hertz (پیش فرض: 1)
تنظیم این روی 1 مشکلی را که باعث "لکنت ریز" می شود، برطرف می کند. این مشکل گاهی اوقات به عنوان "مسئله 64 هرتز" شناخته می شود. به طور خاص مشکل این است که زمان بندی منطق بازی سقوط معمولاً با وضوح 1/64 ثانیه اتفاق می افتد و نرخ تازه کردن صفحه نمایش معمولاً به سقوط اجازه می دهد تا 60 فریم در ثانیه در صورت محدود شدن vsync بکشد. این ترکیب زمانی که سرعت فریم به حداکثر می رسد، نوعی فرکانس ضرب و شتم ایجاد می کند که در آن 4 فریم در هر ثانیه دو برابر زمان بازی را نسبت به 56 فریم می گذارد. اصلاحی که fsr اعمال می کند، سقوط را مجبور می کند تا از زمان با وضوح 1/1000 ثانیه به جای 1/64 ثانیه استفاده کند.

Master\bFlushLog(پیش فرض: 1)
این به fsr می گوید که بلافاصله هرگونه پیام ورود به سیستم را به جای بافر کردن آنها در حافظه در پرونده خود بنویسد. میتواند عملکرد را به دلیل تعداد بیشتری دسترسی به دیسک، کمی کاهش دهد، اما احتمال بیشتری را میدهد که هرگونه پیام مربوط به مشکلاتی که اندکی قبل از خرابی رخ میدهد، با موفقیت در فایل log نوشته شود.

Master\iSchedulingResolution (پیش فرض: 1)
Fsr درخواست می کند که برنامه ریز ویندوز با وضوح این چند میلی ثانیه اجرا شود. با این مجموعه در 1، fsr و fallout به طور کلی بهتر کار می کنند. با این حال، این می تواند عمر باتری لپ تاپ ها را کمی کاهش دهد.

بخش: FPS_Management {}
این بخش شامل تنظیماتی است که نحوه مدیریت fsr سرعت فریم شما و جریان زمان بازی را تنظیم می کند.

FPS_Management\bAllowSlowMotion (پیش فرض: 1)
تنظیم این روی 0 مانع از تلاش fsr برای نادیده گرفتن جریان عادی زمان بازی می شود. در گذشته اشکالات دارای آریسون از fsr بودند که این کار را انجام می دادند (بدنامترین اشکال نزدیک-npcs-drop-dead-on-cell-transitions) ، اما اعتقاد بر این است که اکنون این اشکالات اصلاح شده اند. فقط در صورتی که مشکوک هستید که ممکن است مشکلی وجود داشته باشد، می توانید با این تنظیمات به اجبار تمام تنظیمات زمان بازی fsr را غیرفعال کنید. علیرغم نام، تنظیم این روی 0 همچنین مانع از انتقال سریع زمان بازی fsr می شود، اگرچه fsr فقط سعی می کند این کار را تحت ترکیبات بسیار نادر تنظیمات و شرایط انجام دهد.

FPS_Management\MaximumFPS (پیش فرض: 30)
این حداکثر fps است که fsr اجازه نمی دهد از سقوط فراتر رود. من معمولاً این فریم را به اندازه کافی بالا تنظیم می کنم که واقعاً به فریم های اضافی در ثانیه اهمیت نمی دهم. توجه داشته باشید که fsr در اینجا واقعاً با "فریم های در ثانیه" سروکار نمی کند، در عوض آن مقدار را به یک عدد میلی ثانیه در هر فریم تبدیل می کند و هر فریم را به صورت جداگانه در نظر می گیرد. اگر یک فریم خیلی سریع به پایان برسد، fsr باعث می شود تا زمانی که تعداد صحیح میلی ثانیه بگذرد، موضوع اصلی سقوط به خواب برود. قرار دادن موضوع اصلی fallouts به خواب می تواند منابعی را برای استفاده از موضوعات پس زمینه fallouts یا سایر برنامه هایی که ممکن است در پس زمینه اجرا شوند آزاد کند. اگر هیچ چیز نمی خواهد از منابع اضافی استفاده کند، CPU و/یا GPU شما سردتر کار می کند و برق کمتری مصرف می کند.

FPS_Management\MinimumFPS (پیش فرض: 10)
این حداقل fps است که fsr اجازه نمی دهد که سقوط تحت آن قرار گیرد. با این حال، به جای برخورد با ثانیه های واقعی، این به ثانیه های زمان بازی می پردازد. بنابراین اگر رایانه شما واقعاً کند است، همچنان می توانید یک fps 1 داشته باشید، اما این زمان بازی را به 10٪ از حد عادی کند می کند تا همیشه حداقل 10 فریم در ثانیه زمان بازی وجود داشته باشد. تمام اعداد آنجا فقط برای مثال، بر اساس یک fps واقعی 1 و تنظیم حداقل fps 10 (مقدار پیش فرض) بودند. همچنین توجه داشته باشید که مانند maximumfps این در واقع بر اساس یک فریم کار می کند که با میلی ثانیه در هر فریم به جای فریم در ثانیه کار می کند.
من معمولاً این را روی ایف پی ایس پایین تری تنظیم می کنم که از راه دور قابل پخش است. هدف بزرگ این تنظیم، جلوگیری از دیوانه شدن منطق بازی در زمانی که fps بیش از حد پایین می شود، است. مشکلاتی که این از آن جلوگیری می کند شامل دعواهایی است که غیرممکن هستند زیرا دشمنان می توانند دایرهای اطراف شما را بین فریمها دور کنند، کنترلهای خراب شده زیرا fallout فکر می کند که کلید حمله برای یک کل فریم پایین است یا برای یک کل فریم پایین نیست که ممکن است باعث ایجاد حمله قدرت شود. وقتی یک حمله در نظر گرفته شده بود، و بسیاری از مسائل مشابه دیگر.

FPS_Management\iSmoothFrames (پیش فرض: 0)
اگر این روی 0 تنظیم شود، منطق "صاف" هیچ کاری نمی کند. برای روشن کردن منطق صاف کردن سعی کنید این را روی 2 تنظیم کنید. با این حال، گزارش ها حاکی از آن است که منطق صاف کردن واقعاً ارزش چیزی ندارد. منطق صاف کننده برای جلوگیری از مشکلات مختلفی است که ناشی از لکنت و سایر تغییرات سریع در سرعت فریم ایجاد می شود. اگر ballowslowmotion 0 باشد منطق صاف کننده هیچ تاثیری نخواهد داشت.

FPS_Management\iSmoothMode (پیش فرض: 0)
این باید 0، 1، 2 یا 3 باشد. اگر 0 یا 1 باشد، منطقی اضافی را فعال می کند که سعی می کند رویدادهای لکنت را از جریان زمان فیلتر کند. این منطق می تواند در نهایت با مقدار کل زمان بازی که می گذرد کاملاً برابر با مقدار زمان واقعی که می گذرد در صورت کاهش بسیار ناگهانی در fps باشد به پایان برسد. اگر 2 یا 3 باشد، آن منطق اضافی غیرفعال می شود. تفاوت بین 0/2 و 1/3 یک مسئله بسیار ظریف است که کدام فریم ها چگونه زمان بین آنها را دوباره توزیع می کنند.

FPS_Management\iSleepExtra (پیش فرض: 2)
Fsr در هر ثانیه سقوط را مجبور می کند تا برای این چند میلی ثانیه بخوابید. این می تواند به آزاد کردن منابع برای موضوعات پس زمینه یا سایر فرآیندها کمک کند یا دما و مصرف برق اجزای رایانه را کمی کاهش دهد. مزیت اصلی این است که اگر برخی از موضوعات پس زمینه برای به دست آوردن منبع خاصی که موضوع اصلی در حال حاضر است، تلاش می کند، این می تواند به آن فرصتی بدهد که گاهی اوقات آن منبع را به دست آورد.
اگر این روی -1 تنظیم شود، کد مدیریت fsr fps هرگز نتیجه را به خواب نمی اندازد-اگر در غیر این صورت fps از حداکثر fps فراتر می رود، fsr وقت را در یک حلقه بیکار تلف می کند. این حالت توصیه نمی شود زیرا فقط برای اهداف آزمایش ارائه شده است.

FPS_Management\bFPSConsoleSPAM (پیش فرض: 0)
این باعث می شود fsr مقدار زمان لازم برای تکمیل هر فریم را ثبت کند. این کار را یک بار در هر فریم انجام می دهد و تعداد زیادی از زمان ثبت شده را ایجاد می کند.

FPS_Management\iSchedulingParanoia (پیش فرض: 1)
این تنظیم در واحدهای میلی ثانیه است. تعیین می کند که کد maximumfps در مورد برنامه ریز چقدر پارانوئید است. اگر مقدار زیاد باشد، کد maximumfps هرگز نمی خوابید، در عوض وقت را در حلقه های بیکار تلف می کند. اگر مقدار 0 باشد، کد maximumfps به برنامه ریز اعتماد خواهد کرد تا اجرای موضوعات اصلی را دقیقاً در زمان درخواستی از سر بگیرد. به طور کلی من در 1 برای اندکی از پارانویا در مورد برنامه ریز سازش می کنم، اما همچنان اجازه می دهم که بیشتر اوقات فراغت به استفاده سازنده استفاده شود.

FPS_Management\iHardMaxFrametime (پیش فرض: 200)
این به واحد میلی ثانیه است. مشخص شد که وقتی کد تنظیم جریان زمان من زمانی را در زمان اشتباه بیش از حد بزرگ قرار می دهد، اتفاقات عجیبی رخ می دهد. چیزهای بد مثل، npcs در نزدیکی به طور تصادفی مرده می شوند. این تنظیم، با تنظیم حداکثر مطلق به تعداد میلی ثانیه ای که fsr اجازه می دهد بلافاصله در جریان عادی چیزها عبور کند، جلوگیری می کند. معمولاً قبل از رسیدن به این حد به حداقل میزان ثانویه ضربه میزنید، اما حداقل میزان ثانویه در برخی شرایط برای جلوگیری از عوارض جانبی مانند حرکات لب که با صداها همگام میشوند، چشم پوشی میشود، بنابراین این به نوعی سطح دوم حداقل میزان ثانویه عمل میکند، حداقل i-real-mean-it. fps. تنظیم این بیش از حد پایین می تواند باعث شود مواردی مانند حرکات لب در مکالمات از همگام شدن خارج شود، تنظیم آن بیش از حد بالا می تواند به اشکالاتی مانند npcs-dropping-dead-تصادفی اجازه دهد. من 200 را به عنوان یک سازش تنظیم کردم-نباید باعث شود لب ها همزمان شوند مگر اینکه سرعت فریم شما در یک مکالمه به کمتر از 5 کاهش یابد. و اگر با سرعت فریم کمتر از 5 در حال بازی هستید، به کمک جدی نیاز دارید.

بخش: CriticalSections {}
این بخش به تمام تغییراتی که fsr در fallouts_sections ایجاد می کند می پردازد. می خواهید در مورد اشیاء critical_section بدانید؟ Fallout از آنها برای جلوگیری از کشتن تصادفی نخ های مختلف یکدیگر استفاده می کند. مایکروسافت کد را برای آنها ارائه می دهد. Fallout بسته به اینکه روی کدام نسخه ویندوز اجرا می شود، از نسخه های کمی متفاوتی از آنها استفاده می کند. می توانید در msdn درباره آنها بیشتر بخوانید.

CriticalSections\bEnableProfiling (پیش فرض: 0)
اگر روی 1 تنظیم شود، fsr اطلاعاتی را در مورد زمانبندی/عملکرد عملیات بخش بحرانی در پایان ثبت می کند. انجام این کار باعث جریمه کوچک اما قابل توجه برای عملکرد می شود. Fsr اطلاعات را در پرونده ورود به سیستم خود ضبط می کند. این به طور بالقوه می تواند اطلاعات مفیدی در مورد اینکه چرا پیامدهای شما لکنت یا به آرامی اجرا می شود، تولید کند. این اطلاعات ممکن است برای تنظیم بخش بازنگری فایل fsr ini یا چیز دیگری استفاده شود.

CriticalSections\bEnableMessages (پیش فرض: 0)
اگر روی 1 تنظیم شود، fsr اطلاعاتی را در مورد برخی از رویدادهای زمانبندی/عملکرد بخش های بحرانی ضبط می کند. هزینه عملکرد بسیار کمی برای انجام این کار وجود دارد، اما می تواند فایل ورود به سیستم را به هم و برهم کند و یافتن اطلاعات بخش غیر بحرانی را در آنجا دشوارتر کند.

CriticalSections\bUseOverrides (پیش فرض: 1)
اگر این روی 1 تنظیم شده است، fsr از تنظیمات موجود در بخش بازنگری ini استفاده می کند تا تعیین کند که باید با بخش های بحرانی خاص چه کاری انجام دهد.

CriticalSections\iDefaultMode (پیش فرض: 2)
این تعیین می کند که fsr با بخش های بحرانی که ورودی حالت برای آنها در لیست بازنویسی ندارند، چه کاری انجام می دهد.
1: آن بخش بحرانی را در رفتار تقریباً طبیعی ترک می کند.
2: آن بخش بحرانی را تنظیم می کند تا انصاف را به قیمت توان بهبود بخشد. این می تواند مانع از اینکه یک موضوع بیش از حد یک بخش بحرانی را جلوگیری کند، اما می تواند سرعت خالص را که با آن می توان عملیات را با آن بخش بحرانی انجام داد.
3: تلاش برای سازش بین انصاف و توان که در آن معمولاً برای توان بهینه می شود، اما گاهی اوقات رفتار را به بهینه سازی برای انصاف تغییر می دهد.
5: آن بخش بحرانی سرکوب می شود. سرکوب بخش های بحرانی به طور کلی باعث خراب شدن سقوط می شود، اما به طور کلی عملکرد را نیز بهبود می بخشد. با این حال، برخی از بخش های بحرانی ممکن است متفاوت تحت تأثیر قرار بگیرند.
6: اینکه موضوع اصلی برای آن بخش بحرانی اولویت می گیرد.
7: موضوعات پس زمینه برای آن بخش بحرانی اولویت دارند.

CriticalSections\iDefaultSpin (پیش فرض: 500)
این تأثیر می گذارد تا چه مدت یک موضوع سعی می کند وارد یک بخش بحرانی شود قبل از اینکه از برنامه ریز بخواهد آن را تا زمانی که آن بخش بحرانی در دسترس نباشد، به خواب بگذارد. در تئوری یک مقدار خیلی کوچک منجر به سربار برنامه ریز بیش از حد می شود، در حالی که یک مقدار بیش از حد بزرگ منجر به هدر رفتن چرخه CPU می شود. من فکر می کنم 500 در واقع یک مقدار کمی است. مقدار ایده آل ممکن است با تعداد هسته/موضوعات سخت افزاری که دارید افزایش یابد.

CriticalSections\iStutterLevel (پیش فرض: 4)
این پارامتر تأثیر می گذارد که چند بار حالت بخش بحرانی 2 رفتار را تغییر می دهد. برای اطلاعات بیشتر در مورد حالت بخش بحرانی 2 به idefaultmode مراجعه کنید. یک عدد کوچکتر به معنای سوئیچ های مکرر است، یک عدد بزرگتر به معنای سوئیچ های نادر است. مقدار ایده آل احتمالاً باید در محدوده 3 تا 6 باشد.

بخش: LightCriticalSections {}
این بخش به تمام تغییراتی می پردازد که fsr در دسته ای از اشیاء سقوط ایجاد می کند که به هدف مشابه critical_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 برای روشن کردن بخشهای بحرانی که ورودی چرخش برای آنها در لیست بازنویسی ندارند، چه کاری انجام می دهد. سعی می کند معنای مشابهی به موارد بخش های بحرانی داشته باشد-برای اطلاعات بیشتر به criticalsections\idefaultspin در بالا مراجعه کنید. معنی چرخش ممکن است بسته به فعال شدن یا نه bfullhooks تا حدودی متفاوت باشد.

LightCriticalSections\iStutterLevel (پیش فرض: 4)
این پارامتر تأثیر می گذارد که چند بار حالت بخش بحرانی سبک 2 رفتار را تغییر می دهد. برای اطلاعات بیشتر در مورد حالت بخش بحرانی 2 به idefaultmode مراجعه کنید. یک عدد کوچکتر به معنای سوئیچ های مکرر است، یک عدد بزرگتر به معنای سوئیچ های نادر است. مقدار ایده آل احتمالاً باید در محدوده 3 تا 6 باشد.


بخش: پشته {}
این چیزها هنوز واقعاً برای سقوط کار نمی کنند. استفاده نکنید

بخش: جداول هش {}
Fallout شامل مجموعه ای از هش جداول برای جستجوی انواع چیزها است. آنها از یک اجرای هشتیبل به طور کلی وحشتناک استفاده می کنند، اما مشکل واقعی این است که هرگز اندازه هشتیبل خود را تغییر نمی دهند. وقتی یک هشتیبل بیش از حد پر می شود، عملکرد کاهش می یابد. اگر یک هشتیبل زیرتر باشد، ممکن است کمی از حافظه هدر بیفتد و انسجام حافظه نهان کاهش یابد. متأسفانه، بسیاری از کد هشتیبل در همه جا درج شده است، و fose فرضیات مختلفی را در مورد هشتیبل ها نیز ایجاد می کند، و برای من اصلاً مشخص نیست که مدل نخ مربوطه قرار است چه باشد، بنابراین تغییر ایمن آنها بسیار دشوار است.. با این حال، من چند قلاب هشتیبل دارم، و آنها به تدریج بهتر می شوند.

Hashtables\bAllowDynamicResizing (پیش فرض: 0)
اگر این روی 1 تنظیم شود، fsr هنگامی که بیش از حد جداول ها را افزایش می دهد، اندازه هش جدول ها را افزایش می دهد. با این حال، عمل تغییر اندازه آنها مملو از مشکلات است-می تواند باعث خرابی یا خرابی شود و روشهایی که من برای جلوگیری از انجام این کار استفاده می کنم می تواند باعث لکنت عملکرد کوچک یا سایر خرابی یا خرابی ها شود. با این حال، در این مرحله فکر می کنم ممکن است به نوعی مناسب کار کند.

Hashtables\bUseOverrides (پیش فرض: 0)
در حال حاضر هیچ بازنویسی هشتیبل وجود ندارد، و نحو مشخص کردن آنها ناخوشایند است و این پتانسیل را دارد که در صورت وارد کردن مقدار اشتباهی سکوت شکست بخورد و به جای آن کار دیگری انجام دهد. این در نهایت اصلاح می شود، اگرچه اجازه می دهد قلاب های مشخص شده با فایل ini به اولیه سازی مهمترین هش جدول ها وارد شوند تا آنها را به جای نیاز به تغییر اندازه بعدی با اندازه مناسب شروع کنند.

Hashtables\bEnableProfiling (پیش فرض: 0)
این هش جداول ها را نظارت می کند و اطلاعات مربوط به کامل بودن آنها و میزان دسترسی آنها را ثبت می کند.

Hashtables\benablemmessages (پیش فرض: 0)
اگر این 1 باشد، کد هشتیبلز ممکن است گاهی اوقات پیامهایی را در مورد کارهایی که انجام می دهد ثبت کند.

Hashtables\iHashtableResizeScale1 (پیش فرض: 2)
Hashtables\iHashtableResizeScale2 (پیش فرض: 4)
اگر ballowdynamicresizing 1 باشد، ihashtableresizescale1 حداقل سطح اشغال را که در آن اندازه یک هش جدول تغییر می یابد، تعیین می کند و ihashtableresizescale2 تعیین می کند که اندازه جدید آن چقدر بزرگتر خواهد بود. هر دو اعداد در واقع نمایی هستند که برای 2 اعمال می شوند، بنابراین تنظیم 3 به معنای ضریب 8 و تنظیم 5 به معنای ضریب 32 است. در تئوری کاهش ihashtableresescale1 به 1 ممکن است عملکرد را بیشتر بهبود بخشد، زیرا اندازه هشتابهای بیشتری را افزایش می دهد. Ihashtableresizescale2 احتمالاً باید روی 1 یا 2 بیشتر از ihashtableresizescale1 تنظیم شود.

Hashtables\iHashtableResizeDelay (پیش فرض: 20)
این چند میلی ثانیه است که fsr هنگام تغییر اندازه یک هشتیبل برای آن متوقف می شود. ایده این است که در حالی که نمیتوانم در حالی که مشغول آن هستم، از دسترسی موضوع دیگری به هشتیبل جلوگیری کنم، امیدوارم میتوانم از *شروع کردن* دسترسی آنها به هشتیبل جلوگیری کنم. بنابراین من به اندازه کافی تأخیر می کنم که شاید، احتمالاً، هر کسی که قبلاً به هشتیبل دسترسی داشت، تمام می شود، سپس کارهایم را انجام می دهم. متأسفانه روی fose کار نمی کند، زیرا fose همان کارهایی را که fallout انجام می دهد انجام نمی دهد، به علاوه حتی زمانی که این کار را انجام می دهد، از vtables برای انجام آنها استفاده نمی کند. اما ATM من فکر می کنم که fose ممکن است فقط از موضوع اصلی به آنها دسترسی داشته باشد، بنابراین اگر اندازه گیری کننده من در موضوع اصلی اجرا شود، نیازی به نگرانی در مورد fose نیست. شاید.

بخش: بازنگری {}
این بخش حاوی اطلاعاتی است که به fsr می گوید چگونه نمونه های خاص انواع مختلفی از اشیاء را که fsr درباره آن می داند پیدا کند و راه هایی برای رفتار با آن موارد خاص متفاوت از تنظیمات پیش فرض آن نوع شی است. در حال حاضر تنها چیزهایی که واقعاً در اینجا فهرست میشوند، چند بخش مهم خاص با رفتارهای متفاوت از اکثر آنها هستند.



6. تاریخ نسخه:
====================================

FPS Capper نسخه 1:
این به عنوان کلاه fps شناخته می شد. تنها کاری که انجام داد مدیریت fps بود. این نسخه در مجموعه اصلاح شده از dll های obse ادغام شده است.

FPS Capper نسخه 2:
این اولین نسخه بود که dll خود را از obse جدا کرد. این به عنوان کلاه fps شناخته می شد. تنها کاری که انجام داد مدیریت fps بود.

حذف کننده لکنت فراموشی نسخه 3 بتا 1:
اولین نسخهای که به نام حذف کننده لکنت فراموشی نامگذاری شد. گاهی اوقات برای چند دقیقه در منوی اصلی یخ می زند. حرکات صدا و چهره npc می تواند در گفتگو خراب شود.
نسخه 3 بتا 2: حرکات صدا و چهره npc می تواند در گفتگو خراب شود.

حذف کننده لکنت فراموشی نسخه 3 بتا 6:
تاخیر طولانی بین بتا 5 و بتا 6 وجود داشت که با بسیاری از نسخه های آلفا پر شد. این اولین نسخه fsr بود که واقعاً کار مناسبی برای کاهش لکنت برای کاربر معمولی انجام داد. این به دلیل ویژگی های جدید است: تعدیل انصاف بخش بحرانی، سرکوب بخش بحرانی، و جایگزینی پشته. متأسفانه، جایگزینی پشته هنوز مشکلات بزرگی برای بسیاری از کاربران دارد. Bfix64hertz به طور پیش فرض در ini روی 0 تنظیم شده است، به جای آن باید 1 باشد.

توجه: هرگز نسخه 3 فینال وجود نداشت. اگر تقاضای کافی وجود داشته باشد، می توانم بر اساس کد منبع نسخه 3 بتا 6 با چند اصلاح یکی را ایجاد کنم.

حذف کننده لکنت نسخه 1 بتا 1:
بندر اولیه osr برای سقوط.

حذف کننده لکنت فراموشی/سقوط نسخه 4.1.0:
تغییرات بزرگ:
1.از هر دو پایان یافته پشتیبانی می کندفایده زیادی در پایان 3 ارائه نمی دهد، اما کمک می کند.
2.پرونده. ini: فرمت پرونده ini کاملاً متفاوت
3.تغییر اندازه جدول هش: ویژگی جدید برای بهبود عملکرد
4.بخش بحرانی و بخش بحرانی سبک:بسیاری از موارد ویژه را برای بخش های بحرانی تعمیم می دهید و اکنون قابل تنظیم تر از پرونده ini است. "قلاب های کامل" کد بخش بحرانی سبک هنوز اشکال دارد.
5.جایگزینی پشته: چند اشکال را برطرف کرد، اما فکر می کنم هنوز مشکلی دارد. هنوز اصلاً روی سقوط کار نمی کند.
6.نام نسخه:نسخه های منتشر شده در tesnexus اکنون به جای نسخه بتا، نسخه های نسخه نامیده می شوند. نسخه های منتشر شده در سرور ftp من اکنون به جای نسخه آلفا نسخه بتا نامیده می شوند. اولین رقم شماره نسخه تنها زمانی افزایش می یابد که تغییرات عمده در پیکربندی یا فرمت توزیع ایجاد شود. رقم دوم شماره نسخه در هر نسخه نسخه افزایش می یابد. رقم سوم شماره نسخه یک بار برای هر نسخه بتا افزایش می یابد. هر زمان که یک رقم افزایش یابد، همه اعداد در سمت راست به 0 بازنشستگی می شوند.




7. این چگونه کار می کند:


این یک dll افزونه fose است. اساساً سقوط را هک می کند.

7.1: مدیریت fps:
کد مدیریت fps نرخ فریم را نظارت می کند و جریان زمان بازی را تنظیم می کند. این لکنت را با اجازه ندهید منطق بازی پیامدهای زمانی که لکنت می کند، لکنت را کاهش دهد. به طور موثر، فریم هایی که زمان طولانی طول می کشد در نهایت در حرکت آهسته قرار می گیرند. این کار با انجام این کار انجام می شود که گویی ifpsclamp روی minimumfps تنظیم شده است، اما فقط برای فریمهایی که کندتر از minimumfps هستند. این ممکن است ثبات را نیز بهبود بخشد. همچنین میتواند حداکثر سرعت فریم را تحمیل کند-برخی از افراد زمانی که سرعت فریم آن از بیش از نیمی از سرعت تازه کردن جلوگیری میشود، سقوط را نرمتر میدانند، به علاوه این به آزاد کردن منابع برای موضوعات ثانویه سقوط کمک میکند.

کد مدیریت fps همچنین می تواند موضوع اصلی سقوط را برای مدت زمانی کوتاهی به خواب بگذارد، که برای بهبود لکنت برای برخی افراد انجام شده است (اگرچه این عملکرد ممکن است با سایر کارهایی که این افزونه انجام می دهد زائد شده باشد).

7.2: بخش های بحرانی:
بخش های بحرانی ابتدایی همگام سازی موضوع ارائه شده توسط مایکروسافت هستند که fallout به طور داخلی از آن استفاده می کند تا مطمئن شود که موضوعات به طور تصادفی یکدیگر را خراب نمی کنند. به طور پیش فرض fsr باعث می شود بیشتر بخش های مهم حتی با هزینه توان سعی کنند منصفانه بازی کنند و مطمئن شوند که هیچ موضوعی منبعی را که موضوعات دیگر به آن نیاز دارند ، نگه ندارد. با این حال، یک بخش بحرانی خاص برای استفاده از روشی کمی کمتر منصفانه نادیده گرفته می شود، و یک بخش بحرانی خاص دیگر سرکوب می شود تا اصلاً تاثیری نداشته باشد. و همه اینها از فایل ini بسیار قابل پیکربندی است. همچنین چرخش ها غلبه می شوند.

7.3: جایگزینی پشته:
این ویژگی هنوز در fallout 3 به درستی کار نمی کند.

7.4: جداول هش:
Fallout شامل مجموعه ای از هش جداول برای جستجوی انواع چیزها است. آنها از یک اجرای هشتیبل به طور کلی وحشتناک استفاده می کنند، اما مشکل واقعی این است که هرگز اندازه هشتیبل خود را تغییر نمی دهند. هنگامی که یک هشتیبل بیش از حد پر می شود، عملکرد کاهش می یابد. اگر یک هشتیبل زیرتر باشد، ممکن است کمی از حافظه تلف شود. متأسفانه، بسیاری از کدهای هشتیبل در همه جا درج شده است، و fose فرضیات مختلفی را در مورد هشتیبلها نیز ایجاد میکند، و برای من اصلاً مشخص نیست که مدل نخ مربوطه قرار است چه باشد، بنابراین تغییر ایمن آنها بسیار دشوار است..

با این حال، من چند قلاب هشتیبل دارم، و آنها به تدریج بهتر می شوند. Fsr می تواند هنگامی که هش جدول بیش از حد پر شود ، اندازه هش جدول را افزایش دهد. با این حال، عمل تغییر اندازه آنها مملو از مشکلات است-می تواند باعث خرابی یا خرابی شود و روشهایی که من برای جلوگیری از انجام این کار استفاده می کنم می تواند باعث لکنت عملکرد کوچک یا سایر خرابی یا خرابی ها شود. با این حال، در این مرحله فکر می کنم ممکن است به نوعی مناسب کار کند. در آینده ممکن است این را با غلبه کردن اندازه های اولیه برخی از هشجدول ها جایگزین یا تکمیل کنم.


====================================
8. اعتبار:
====================================

این افزونه توسط من ساخته شده است (کریستوفر دوتی همفری).

بدون تلاش های عظیم تیم فوس امکان پذیر نبود. علاوه بر این، ایان پاترسون (یک مرد تیم فوس) به من کمک کرده است تا از نقاط زیادی که مشکل داشتم عبور کنم.

موضوع اصلی که من را وادار به راه اندازی این افزونه کرد توسط deviuscreed شروع شد.

آزمایش کنندگان متعددی بازخورد مفیدی ارائه داده اند. به ویژه اطلاعات مشانی در مورد اینکه کدام تنظیمات کدام نتایج را برای او ایجاد کرد، به من کمک کرد تا درک کنم که چرا نسخه های اولیه این مزایای غیرمنتظره ای ایجاد می کردند و منجر به تعدادی از ویژگی ها و تنظیمات در نسخه های بعدی شد.

همچنین می خواهم از badhair تشکر کنم که به من اشاره کرده است که به عنوان علت مشکلات عملکردی به هشتبلهای پر بیش از حد اشاره کرده است.

ابزارهای زیر در تولید این افزونه استفاده شد:
فراموشی/سقوط، توسط bethesda
OBSE/fose و کد منبع OBSE/fose
Microsoft Visual C 2008 نسخه اکسپرس
Ida رایگان (اشکال زدایی تعاملی ، نسخه رایگان ، نسخه 4.9)
موتور تقلب (نسخه 5.4)
به علاوه چیزهای آشکار مانند ویندوز xp، دفترچه یادداشت و فایرفاکس.

به استثنای فراموشی/fallout و windows xp، همه اینها به صورت رایگان در دسترس هستند.

من همچنین کارگاه هکس داشتم و ollydbg به من توصیه کرده ام اما هنوز آنها را امتحان نکرده ام.
این ابزار توسط یک شخص ثالث ارائه شده است [bufftool]نماد توجه

همین حالا مدها را دانلود کنید

LagoFast را نصب کنید، Fallout 3 - Game of the Year Edition را اجرا کنید و با مدهایی که دوست دارید بازی کنید.