سال گذشته یک فاجعه برای بازی های رایانه شخصی بود - در اینجا نحوه تغییر همه چیز آمده است

سال گذشته برای بازی‌های رایانه شخصی فاجعه‌بار بود – در اینجا شرایط باید تغییر کند

گره منبع: 1893511

2022 was a rough year for PC ports. Between stuttering performance issues and infuriating user experience problems, I was almost broken as a reviewer for Digital Foundry. To start the year with a fresh slate, I thought it would be a good idea to put together a checklist of sorts for best practises in creating a PC port. In generating this list of dos and don’ts, I’ve called on my experience reviewing hundreds of titles across my four years at Digital Foundry.

The list is definitely not exhaustive as I am trying to focus on the important core aspects of a PC port. There are plenty of other best practises I can suggest beyond this – no launchers from within launchers, for example. No sign-ins to other online platforms to launch a game on Steam would be another. I’d also like to see some kind of industry-wide standardisation in presenting recommended specs that actually informs the prospective buyer of the kind of system they’ll need to run the game well – the current system is meaningless without the context of resolution and performance expectations. Clearly, there’s a lot to address – but my focus here is simply in delivering a strong, competent PC port.

Some of my suggestions are more technically rigorous, others are low hanging fruit: but most importantly all of them are feasible and I have examples to back them up. I’d also recommend watching the video – when everything comes together in a well-deployed PC port, it’s like poetry. The Days Gone settings menu is astonishingly good, for example. But for our first point, we’ll kick off with the big one.

Alex Battaglia پیشنهادات خود را برای بهبود وضعیت پورت های رایانه شخصی پس از سال 2022 وحشتناک ارائه می دهد.

1. لکنت کامپایل شیدر را حذف کنید

You may have been aware of my #StutterStruggle over the last year. It’s the situation where no matter how powerful your PC hardware is, gameplay is regularly interrupted by stutter not found in the console versions of the same game. One of the biggest strengths in the PC platform is the diversity of hardware – but what this means is that developers cannot ship pre-compiled shader code with their games in the same way they do on consoles. What’s happening in a vast array of games on PC is that those shaders are compiled during gameplay, as they are needed. While that happens, the game freezes – anything from 30ms to a full second of pausing kicks in, depending on the game and the strength of your CPU. The frequency of these stutters is usually unacceptable in affected titles.

این را می توان حذف کرد، و صادقانه بگویم که چگونه به آن دست می یابد، خیلی مهم نیست. Shader ها را می توان با یک مرحله پیش کامپایل، همانطور که در مجموعه Uncharted: Legacy of Thieves در رایانه شخصی مشاهده می شود، کامپایل کرد، که باعث می شود تا 10 دقیقه روی یک CPU قدرتمند و حتی بیشتر در یک پردازنده میان رده منتظر بمانید. همانطور که در Star Citizen و Horizon Zero Dawn دیده می شود، سایه بان ها همچنین می توانند به صورت ناهمزمان در پس زمینه روی CPU کامپایل شوند. یک بازی همچنین می تواند از ترکیبی از پیش کامپایل و کامپایل ناهمزمان مانند Spider-Man Remastered استفاده کند. نکته این است که هر کاری و هر کاری باید انجام شود تا سایه بان را با گرم کردن آن قبل از نیاز به نحوی انجام دهید.

This item on the list definitely requires some technical rigour and thought, but it is probably the most important item on this list at the moment, given how disastrous the situation has been as of late. One other tip I have here for shader compilation is that if there is a lengthy pre-compilation step and you are worried about a bad user experience while they wait, then make the pre-compilation step interruptible or optional, with a warning that the user will experience stutter if they choose not to wait for precompilation. Modern Warfare 2 allows users to cancel and recompile shaders when they wish by clicking a button – and that’s great design.


لکنت تلفیقی Shader در Kena: Bridge of Spirits. انفجار یک افکت جدید است که قبلاً دیده نشده بود، بنابراین کد سایه زن جدید در اواسط بازی ایجاد می شود که در اینجا باعث یخ زدن کمتر از 200 میلی ثانیه می شود.

2. گزینه های گرافیکی پاسخگوی بصری را ارائه دهید

The settings menu is a crucial part of a PC port, but it’s also a complete mystery to most gamers. What do the options actually do? What is ambient occlusion exactly? How much performance do I save by changing options? The way forward is to include a graphics menu that delivers responsive visual feedback. As mentioned early, the graphics menu in Days Gone is a masterpiece – arguably the pinnacle of graphics menu design.

You can change options in the menu while the game world is still being rendered behind the menu and in the top hand corner it is possible to see the performance impact of what is being changed in real-time. I seriously recommend emulating this style of graphical menu – it is important to have a menu like this or the one found in Spider-Man Remastered which is very similar because it allows the user to see the changes to the graphical presentation in real-time so they can easily see the effect on visuals and performance. Having to go in and out of a menu, or even worse, reload the game after a setting change makes meaningfully changing settings almost impossible.

If this is problematic to implement, there are alternatives: include descriptive text, visual indicators, and even performance hints as to what PC component is most stressed by the settings being changed. Gears 5 does this on PC and it gives great insight into what graphical options do. A lot of users tend to think a game’s performance is fully limited by what GPU they have, when in reality the CPU and the amount of video memory used can just as crucial in achieving good performance.


Interactive graphics settings menus that show you in gameplay what the changes are – and the performance cost – are the way forward. Days Gone’s menus are a masterpiece.

3. ناوبری منوی معقول و مبتنی بر قرارداد را شامل شود

Thousands of games over the last 30 years on PC have had menus and in that time a lot of conventions have arisen – and it’s important to stick with this established ‘language’ for navigation. For example, ESC or backspace should always back you out of a menu page. The arrow keys and even WASD should be usable to navigate a menu without using a mouse. Alt+ F4 should always quit the game to the desktop. There are more of these conventions of course, but the gist is that users should be able control the game menu rapidly, either with a mouse or a keyboard by its lonesome and it should use intuitive, established controls.

4. منوها را بیش از حد تودرتو نکنید

Graphical options, control customization, or other oft-toggled things should be three menus deep at the maximum, but preferably just one or two. For example, if you want to change the quality of a visual effect you should not have to go to options, then video options, then singular subpages for each type of graphical option. Instead, it should be simply going to options, video options and then seeing most, if not all, of the graphical options there. If possible, also avoid scrolling on options menu screens. Scrolling can be a bit slow and it hides options at times. A good example of a non-scrolling menu is seen in Arma 3. This game avoids scrolling by using both the left and right hand sides of the screen and with smaller text size – it is using the screen real estate. This is quite different from the left justified options with large text that we see in many ports to PC.

5. نرخ تازه سازی و وضوح باید گزینه های جداگانه باشند

The list of resolutions and refresh rates should scan the available list of resolutions and refresh rates from Windows itself. All too often I load up a game just to find that the refresh rate in game is not even listed and a number of resolutions are missing. Furthermore, a user should control when the refresh rate changes by applying it: either by backing out of the menu or hitting ‘apply’. Do not automatically apply a resolution after it is changed: for example, in recent Capcom titles, if you move your mouse off the resolution option it changes to the last selected one automatically even if you do not want it to.

A good counter example can be found in Marvel’s Spider-Man Remastered, which does it in a more logical way – the resolution option is separate showing every single resolution that windows lists, then there is another option entirely to change the refresh rate of that chosen resolution – the resolution is only applied when the user wants it to be. Games that constrain resolution and refresh options to the current Windows desktop settings are a particular issue that needs to be eliminated.


Marvel’s Spider-Man Remastered gets it right – independent resolution and refresh rate options… and full control over windowed and full-screen modes.

6. شامل گزینه میدان دید (FOV).

A narrow field of view is often found in console games to create claustrophobic moods or to save on performance – and can literally make PC users sick. A field of view option makes the game actually playable for many users where the default FOV might have been too narrow. Once again, the Days Gone menu system is a joy to use here – as you tweak the FOV variable, the view in the background changes in real-time, allowing the user to tweak to their precise preference.

7. نسبت ابعاد و نرخ فریم متغیر را لحاظ کنید

By and large, this is becoming common practice, but there are still games that don’t accommodate the huge variation in display types open to PC users. Not every PC player will be using a 16:9 monitor locked to 60Hz or 120Hz. Many will be playing on ultra wide monitors or on monitors that can go up to 240Hz or even higher. Supporting these aspect ratios and refresh rates means giving these users a comfortable experience that they expect from their hardware.

نکته مهم‌تر در اینجا این است که رایانه شخصی یک پلتفرم با سخت‌افزار متغیر است و برای پشتیبانی درست از رایانه شخصی، هیچ چیز نباید مانند کنسول‌ها به عنوان یک تجربه ثابت کدگذاری شود. کاربران می‌خواهند بازی‌ها را با هر نرخ فریمی که تصور می‌کنید یا هر نسبت تصویری که باید تصور کنید، بازی کنند: برای مثال، من عاشق بازی‌های مدرن بر روی یک مانیتور CRT 4:3 هستم. بنابراین، گره زدن چیزهایی مانند منطق بازی به نرخ فریم، یا رابط کاربری با شبکه‌های پیکسل ثابت کاملاً ایده بدی است.

8. گزینه‌های همگام‌سازی نیمه، سوم و یک چهارم با سرعت فریم ثابت را شامل کنید

بسیاری از بازی‌ها دارای محدودکننده‌های نرخ فریم هستند، اما اینها اغلب سرعت فریم بسیار ضعیفی با v-sync درگیر دارند، که در آن نرخ فریم متوسط ​​ممکن است عدد انتخابی باشد، اما زمان‌های فریم که این نرخ فریم را تشکیل می‌دهند ناسازگار هستند، که منجر می‌شود. به یک تجربه بصری ضعیف با تأخیر ناسازگار.

A good example how to do it correctly is found in Cyberpunk 2077 – here, there is a separate frame-limiter option with arbitrary frame-rate limiting, but there are comprehensive v-sync, half refresh rate v-sync, one-third rate v-sync, and quarter rate v-sync. With such an option users can get perfect frame-pacing when they limit their FPS, and they can do things like play at 40fps at 120Hz which is a killer feature for those looking for a higher frame-rate than 30 but wanting to crank up the settings.


Adjustable v-sync options with consistent frame-pacing allows for things like this – a maxed out Cyberpunk 2077 running locked at a steady 40fps (25ms per frame) in a 120Hz container.

9. سطوح کیفی متعدد را برای جلوه های سنگین در نظر بگیرید

Simple on/off toggles for heavy features like ray tracing are not enough: I’d like to see low, medium and high options for each RT effect. An example of how not to do it is found in The Witcher 3 Complete Edition on PC, where there are only on and off options for the various ray tracing effects. This has led to users making custom mod presets for the RTXGI featured in the game to reduce its quality to make it run better on lower spec RT-capable GPUs. This is an obvious example of an option that should be in the graphics menu. Control is another example where console optimisations – checkerboard RT reflections – never make their way across to PC. A feature that works for consoles invariably has utility on PC, too.

Similarly, RT effects should also scale to accommodate high-end GPUs – an example of how not to do this is found in Capcom games on the RE Engine, where the highest setting for the ray tracing in the game is of a bizarrely low quality. Marvel’s Spider-Man Remastered gets this right: you can control the resolution of the RT reflection effect, you can control the quality of the models in the RT reflections, and crucially, you can also control the distance and density of the objects being ray traced against, which allows users to control the effect of ray tracing on their CPU performance. Being able to control the BVH range and density is crucial in the modern era where CPU speed is not increasing as rapidly as it did in the past.

10. شامل ویژگی های کنسول مانند مقیاس بندی وضوح پویا

Dynamic resolution scaling is not impossible on PC – there are many examples of good DRS on PC. Titanfall 2 has one of the best dynamic resolution scalers out there and it is feature complete on PC, operating just like the console version. This is a DX11 game which means that Respawn implemented an incredibly high quality dynamic resolution scheme on PC even though they technically had less control over the available PC resources that DX12 or Vulkan could offer them. If such a high quality implementation is available in this scenario, there is no good excuse really for a console version of a game to have DRS but for the PC version to omit it.


Titanfall 2’s DRS system was ported from the console versions but has added functionality on PC. It’s a shining example of how to implement the feature – and its quality in gameplay is fantastic.

11. اگر نسخه‌های کنسول از آن‌ها پشتیبانی می‌کنند، صدای HDR و فراگیر را نیز اضافه کنید

Not every PC is plugged into a standard desk monitor with the user wearing headphones – many people use their PCs with televisions with home theater setups, where HDR and surround sound are prominent. The basic rule is – if you are doing a feature on console, do it on PC.

12. تنظیمات معادل کنسول را به عنوان یک گزینه اضافه کنید

If the game is on console and has customised console settings to make it run fine there, include an easily identifiable ‘console’ setting on PC as well. The recent God of War PC Port did this really well: there the console settings are called ‘original’ and the game starts with these settings by default. This is very smart as the settings chosen for the console version of a game generally offer good enough visual looks for acceptable performance.

My optimised settings guides often end up generating near identical settings that the console versions run at. A game’s graphical options should expose console settings in a transparent way. Effectively, console-equivalent settings are the developer’s choices for the best ‘bang for the buck’ on a midrange-level system, so why not offer the benefits of that wisdom to PC players too? These settings also offer a great starting point for PC users to tweak based on the capabilities of their own hardware.

13. از تمام فناوری های اصلی بازسازی تصویر پشتیبانی کنید

Each GPU vendor has its own image reconstruction technique: Nvidia has DLSS, Intel has XeSS and AMD has FSR2. Each of these tends to run best on their respective hardware, and they all use similar inputs when being plugged into a game engine. In 2023 it should not be acceptable that a game launches with support for only one of these image reconstruction techniques, but not the others. And I really do not think it matters which GPU vendor is sponsoring the game: an AMD sponsored title should still support XeSS and DLSS, while there’s no reason why an Nvidia-supported title shouldn’t support XeSS or FSR2 – especially as there’s still many users on GTX 900 and GTX 1000-series GPUs who can tap into those technologies.

With that in mind, it’s disappointing to see The Callisto Protocol only ship with FSR2 when Unreal Engine supports all upscaling technologies. It’s equally frustrating to see A Plague Tale: Requiem only deliver DLSS support when a developer of Asobo’s quality can easily accommodate similar technologies. What ties these games together is that they’re really pushing graphics hard – and any kind of acceleration technology that opens the door to smoother performance should be embraced.


Integration of both FSR2 and DLSS2 in games supporting image reconstruction upscaling should be a given – and include Intel’s XeSS too. These are killer features that should not be restricted to one GPU vendor’s implementation.

همانطور که در ابتدای این قطعه گفتم، سال 2022 واقعاً سال سختی برای بازی های رایانه شخصی بود، جایی که من و تیم به نقطه ای رسیدیم که از ورود یک پورت رایانه شخصی جدید وحشت داشتیم. Elden Ring در وضعیت بسیار فاجعه‌باری وارد شد، عناوین متعدد Unreal Engine 4 با مشکلات لکنت غیرقابل تحمل به دست ما رسید، که با ورود به معنای واقعی کلمه غیرقابل بازی پروتکل Callisto به اوج خود رسید.

I’m putting these suggestions forward in the hope that Digital Foundry’s profile can affect change – and to be fair, there have been some positive signs. The Callisto Protocol on PC still has profound CPU utilisation issues, but the stuttering is a thing of the past thanks to a shader compilation step added to the game post-launch, exactly as I suggest in the first point above. Other UE4 titles like Sackboy: A Big Adventure and High on Life also received post-launch updates that attempted to address shader compilation issues. In discussing Fortnite’s Unreal Engine 5.1 upgrades, I was able to speak directly with Epic Games about this issue and I’m hopeful that things will improve.

However, while DF’s #StutterStruggle is at the forefront of the issues, the fact is that addressing this is just one of the key points out of several that should be addressed. There is no singular ‘platform holder’ in the PC space, so best practises and actual technical requirements can’t be enforced in the way that they are on Sony, Microsoft and Nintendo consoles. Even so, while the list above may seem like a lot of work, but in reality it’s about giving the same kind of attention to a PC port that’s often afforded to the console versions and delivering a game that won’t just run well on the hardware of today, but stands the test of time in the decades to follow.


برای دیدن این محتوا، لطفا کوکی های هدفمند را فعال کنید.

تمبر زمان:

بیشتر از یوروگیمر