[AA, EL] Performance issues and solutions...

For help with SW3DG game related technical issues.
User avatar
Posts: 11573
Joined: Fri Apr 25, 2003 1:38 am

[AA, EL] Performance issues and solutions...

Post by Vice »

This thread is being posted to help anyone encountering performance problems in SW3DG games (or games in general). It may be edited/updated from time to time. This thread is focused on performance related issues. For crash causes and solutions visit this thread: viewtopic.php?f=26&t=6595

**** Edit: February 28th, 2021 - Updated to provide current information on the latest 'SE' versions of Evochron Legacy and Arvoch Alliance.


Low framerate performance - Especially on a system that should perform better
Intermittent low framerate performance - Framerate repeatedly drops significantly for several seconds
Freezing/Pausing Intermittently - Screen freezes temporarily, audio can sound like it's briefly stuck in a loop
Frequent pausing with disk drive activity - Often occurs with other problems
Sound stuttering, chopping, and/or static - Can effect sounds or music

> Solution(s):

Background tasks (including anti-virus and other security related software)
- The more background tasks your system has running, the fewer resources it has to run a game. Some background tasks, such as antivirus/security programs can also interfere with games, preventing them from accessing resources they need. Obviously, you'll need to be aware of any security and/or operation implications disabling certain programs may have, then disabling unnecessary background programs (even just temporarily while you play a game) can give your system the resources it needs to run a game reliably and with the best performance it can. Individually, persistent background programs/tasks may not use much of your system's resources, but combined they can have a significant impact on its stability and performance.

You can check the available physical memory your system has by typing MSINFO32 in the Windows search field and launching the program by the same name. On the system summary screen, the value listed next to 'Available Physical Memory' is how much RAM your system has left to work with. Ideally, this should be most of what your system has installed and not less than about 2-4 GB minimum for reliably playing most recent games.

To check the list of programs currently running on your system, press Control-Shift-Escape to bring up the task manager, then click on the Processes tab. You can check the list of programs that launch when your computer starts up by clicking on the Startup tab. You'll see a list of programs that you can optionally right click on to disable. Most of these programs may not be needed and you can usually still access the programs they're affiliated with. You can try disable one or more (leaving any related to Windows and your video/sound system) and restart your system to test for any performance or available physical memory impact. If you disable something that you decide needs to be running, you can simply enable program again in the startup tab. It's a good habit to get into to check the programs your system is loading any time you install new software as some programs may plant startup tasks on your system without prompting you. Some software developers are starting to treat your system as a gateway for advertising, monitoring your activities/your use of their software, and automatic background updating. And to do these things, they will run a program in the background that uses some of your system's resources. It's a good idea to remain aware of what's running on your system and what function(s) those programs may be performing. Checking like this can also alert you to possible spyware and adware that could be running in the background.

If you determine that a security program is the culprit, you may need to use that security program's 'gaming mode' if it offers one or use a different security program with less interference.

Enable the Optimal Display Device
- On some systems with dual display devices, particularly laptops/notebooks, a lower performance device may be activated rather than the best performing device. Evochron Legacy SE and Arvoch Alliance SE both use Vulkan for their primary rendering API, which as of this writing, may still have limited support with some drivers to automatically enable a higher performing dedicated display device. This can happen on systems with multiple graphics devices, typically laptops where there is an integrated graphics component as well as a dedicated/discreet graphics component. The computer may not properly detect that the dedicated graphics system needs to be enabled for the game, leaving the integrated graphics system to try and run the game. Some integrated graphics systems won't be able to handle the game due to insufficient video memory that is below the minimum requirements, so a 'vk' error can occur when it runs out of memory. The solution is to enable the system's dedicated graphics device for the game, as long as it meets the game's minimum requirements. This usually involves setting a 'performance' mode in the display device's control panel, or optionally enabling the dedicated graphics component globally in BIOS. With Windows 10, you can also set the preferred graphics adaptor for a game by typing 'graphics settings' in the search box, launching the app by the same name, then browse for the game's executable and select it, then click on 'Options', then select the graphics device you want to use with the game.

Locate and Resolve (if possible) Potential Bottleneck Elements in a System
- In general, Evochron Legacy SE and to a lessor extent, Arvoch Alliance SE, are relatively processor and memory intensive games. So those elements in particular need pretty strong performance to maximize overall results in the games. Generally speaking though, one aspect of a system's overall performance can act as a 'bottleneck' that holds back the performance of other elements in a system. This is generally unavoidable since no system can have perfectly balanced performance among all of its components and resources. But sometimes, there are ways to improve system performance by narrowing down which element is acting as a bottleneck and addressing it through available software and/or hardware options. Here is some basic information that helps explain how each of the three main system elements (CPU, GPU, and memory) may help or hinder performance:

- The CPU generally handles much of the non-graphics related operations. Raw clock speed will usually have the greatest impact on performance while other elements such as number of cores and caching are other potential factors. How fast a CPU is able to communicate with memory (basically how fast it is allowed to send and receive data to/from memory) can also have a significant impact on overall game performance. That communication speed (operating frequency) of a system's HyperTransport system is established with the motherboard it is plugged in to. So there are multiple factors to consider in how well a CPU will perform beyond just the processor's basic specifications. The motherboard and memory communication also play very important roles in overall performance.

- The GPU/video card generally handles the graphics related operations. Generally speaking, the higher end the model, the better the performance. However, this may not always be the case in terms of overall system performance if other elements in a system hold back what the GPU is capable of. So for some systems, they might do just as well with a $300 video card as they would with an $800 video card, depending on certain factors. Consideration should be given to other system elements and the game(s) being played for a well balanced and well optimized final performance result when choosing a video card.

- Memory (system RAM) generally handles most data. System memory is also different than video memory found on a video card. The video memory on a video card primarily holds mesh and texture data needed for rendering scenes in a game while the system memory handles most other things critical to a game's operation. It's capacity is important in order to provide a game with sufficient storage for the media and data it needs to load and manage, but its speed is also a critical factor in determining overall system performance. The more data a game needs to manage during runtime, the more important this aspect of a system's configuration can be to overall performance. You can use a performance analysis program such as MaxxMem2 ( http://maxxpi2.de/pages/downloads/maxxm ... wnload.php ) to gauge this aspect of your system's performance. Based on a range of test results, generally speaking, memory performance may work out in the following ways with what the game needs:

- <20.0 GByte/s = Weak
- 20.0-30.0 GByte/s = Fair
- >30.0 GByte/s = Good

A higher number will likely result in operations/processing being handled fast enough to allow the CPU and GPU side of things to perform better at their potential. A lower number will likely act as a bottleneck and hold back the performance of other areas.

When it comes to discerning potential bottlenecks, here is some general information to consider:

- If the CPU and GPU utilization are both low, then it's likely that memory performance is a bottleneck (basically the system is struggling to transfer data to/from memory fast enough to keep up with the performance potential of the CPU and GPU, so the latter two sit idle more often). This might happen on a system that has a reasonably fast CPU and GPU installed on an older/slower motherboard with slower memory. The result can be that your CPU and GPU sit idle more often while the system waits for data/processes to be handled in memory. Properly and safely increasing memory speed (if available) may help improve overall performance. Also refer to the DDR section below to make sure memory is properly installed and working at peak available performance.

Some motherboards may also have a 'performance' mode that helps manage this for you automatically. During testing, I changed such a mode on an old Asus P8Z68V Pro that was experiencing significant performance bottlenecking because of memory. It had a pretty fast i7 CPU and a GeForce 980 graphics card, but both were experiencing low utilization because of significant delays in memory operations. The motherboard was originally set to 'normal' and by switching it to 'performance', I was able to increase the average performance of a SW3DG game by about 25% (framerates went from around 60 FPS in open space near a station to around 80 FPS with maximum in-game settings).

- If the CPU utilization is low and GPU is high (indicating the GPU is being over-utilized compared to the CPU), then that could indicate the GPU is the weak link and causing the CPU to sit idle more often, waiting while the GPU operates under heavy load just trying to keep up with the demands of rendering. This could indicate that a faster video card might help in overall performance, one that is more capable of handling rendering processes at a rate closer to the performance potential of the CPU handling its operations.

- If the GPU utilization is low and the CPU is high, then that could indicate the CPU is the weak link and causing the GPU to sit idle more often waiting for the CPU to process. A system with this type of arrangement could upgrade its video card all the way to the top end model and find little to no improvement in the framerate of a game they play since the GPU is not the limiting factor. The only options here might be a new faster processor (if one is available for the motherboard you are using) or proper and safe overclocking. However, overclocking should only be done if you know what you are doing adjusting it in the system's BIOS. Risks include shortening the life of your processor, system errors, and damaging or destroying the processor/system itself. If upgrading the CPU on its own isn't an option, the best route might be an overall CPU and motherboard upgrade.

Some additional information:

A well balanced system may generally have similar utilization across multiple elements, but that's not usually what is observed. There is variation in software, hardware, drivers, and required operations. For example, one game/program may need more from one category of your system than from others. Much of the time, one aspect or the other in a system has higher utilization simply because it is somewhat faster or slower than other aspects in the areas needed. It's also not necessarily a bad thing, especially if performance is good. Lower utilization that doesn't unnecessarily force things higher can mean cooler operating temps and longer life of components. Nothing can perform 1:1 across the board among all components anyway. All systems have some form of bottleneck, it's just a matter of type and severity.

Utilization also does not necessarily equate to performance either. Variation in CPU, GPU, and memory utilization doesn't necessarily mean that your system is not operating as fast as it could with the game you are playing. A game may just need more of one category of your system than another. If your system is operating at peak performance in all of its elements, then it's running as well as it can, regardless of whether one or more aspects aren't being 'maxed' in terms of utilization.

Allow Windows 10/11 to fully restore from shut down
- With the introduction of Windows 10, a different approach to shut down and startup was introduced. This change involved shifting the method over to more of a 'hibernate' mode rather than actually shutting the system down. Windows would copy memory data over to the local drive and hold it there suspended until the system was restarted in an effort to try and improve startup performance. However, this could result in some quirky intermittent performance and reliability issues with certain hardware configurations and drivers. Some configurations were not optimized or designed to contend with being placed in a standby/hibernate mode, which could result in periodic or persistent framerate reductions or even cause functionality and reliability issues in games and other applications. The solution for the issue is to allow Windows to fully shut down and restart, which allows the hardware and associated drivers to also fully reset. In some cases, a driver update for affected hardware may also provide a solution, but it can sometimes be tricky to pin down which specific device is encountering a problem and/or a driver may not be available or fix the problem. So the easiest and most effective solution is often to simply allow Windows to fully shut down and restart. To enable that ability, following this route through the control panel:

Control Panel > System and Security > Power Options > Choose what the power button does > Change settings that are currently unavailable > uncheck 'Turn on fast startup' > Save changes.

This enables the system to fully shut down and restart. Any performance implication will likely be fairly minimal, especially if you are running a SSD drive. The benefit will be that your drivers and system conditions will fully reset and refresh when you shut down and boot up your system each time, rather than leaving them in limbo with a hibernate type mode that can cause stability issues and performance problems.

Dual Channel Memory
- On DDR (Double Data Rate) capable systems, enabling dual channel can have a dramatic impact on performance. DDR is generally only enabled under certain conditions and the performance difference can be dramatic. You can usually check that dual channel is enabled in your BIOS configuration screen. Here are conditions that can cause your system to not use dual channel, resulting in a performance decrease:

- Memory installed is different in paired slots (example: slot 1 has different capacity than slot 2 or the speeds are different).
- Memory is not installed in the optimal pairing configuration for the motherboard (installed in 1 and 2 or 3 and 4 vs slots 1 and 3 or 2 and 4).

If either of these conditions apply, then your system may not be able to enable dual channel. On some systems, the memory sticks are just in the wrong slots and simply need to be repositioned into matching pairs as required by the motherboard to enable DDR. Whenever you buy additional memory, make sure to install matching sticks in each required pair of slots (refer to your motherboard's documentation for which slots to use). Once dual channel is enabled, the performance improvement can be significant.

This can be a low cost (free in some cases) way to improve your system's performance if you determine that dual channel is not enabled. It may also help resolve sound stuttering issues and other performance related problems you may experience in games.

- Another step is changing the settings in the game. Most games let you reduce detail settings. Try changing various video/detail settings and measure the performance changes, if any. In addition to in-game settings, also check the control panel for your video card (usually accessed by double clicking or right clicking on the AMD/Nvidia display related icon on the taskbar).

- Updating the drivers for your video card can improve performance. Updating video drivers can also sometimes improve reliability.

- If none of the other steps provide sufficient performance, an upgrade may be necessary to further improve performance.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations