Welcome Stranger to OCC!Login | Register

Ashes of the Singularity Review

   -   
» Discuss this article (0)

Graphics:

Visually, Ashes of the Singularity looks good, but I would not place it much higher than that. Of course an RTS does not need to have stunning graphics, so it is not like this is an issue.

The models are appropriately detailed and have distinct styles between the PHC and Substrate units. The differences between units of the same race can be just minor enough that it is hard to quickly identify what you are looking at, especially if you are zoomed out, at least for PHC units.

The terrain for the maps is appropriately detailed, especially with the shadows the hills and valleys can cast. Maybe some higher resolution textures would be nice, but hardly necessary. The key thing is to identify different elevations on the maps, as height can be a very significant (and necessary) advantage.

It is a rather thin half-section, but there is not too much to say about the game's appearance except that it looks good. It is the second half, concerning performance that will be more interesting, so here are my computer's specs:

  • Processor: AMD A10-5800K @ 4.40 GHz (44.0x100)
  • Cooling: Corsair H110
  • Motherboard: ASUS F2A85-M PRO
  • GPU: NVIDIA GTX 980 4 GB
  • PhysX: EVGA GTX 770 2 GB
  • Memory: G.Skill Ripjaws 4x8 GB (32 GB total) at 1866 MHz 10-10-10-27
  • PSU: OCZ Fata1ty 750 W
  • OS: Windows 10 Pro 64-bit

Because my hardware supports DirectX 12, I naturally decided to use it, though one can also launch a DirectX 11 version of the game. I did not do too much testing of this version, besides running the benchmark and seeing it did perform worse than the newer API. As I have both a GTX 980 and GTX 770 installed, I also tried enabling the option that will use multiple GPUs. This option takes advantage of DirectX 12's Explicit Multi-Adapter feature, which allows a developer to program a game to use multiple GPUs, without the use of AMD Crossfire or NVIDIA SLI. In fact it can even allow AMD and NVIDIA GPUs to work together, but that is not something I am readily able to check. What I did find is that my GTX 770 is sufficiently inferior to the GTX 980 that it substantially reduced performance (cut FPS in about half, according to the benchmark).

 

By the way, because the Steam Overlay cannot hook into the game, its FPS counter was not present. Any framerate I mention from my time playing is what I visually estimate it to have been at, which is going to be less accurate, but I am typically quite near the mark.

There is another DirectX 12 feature Ashes of the Singularity uses that I am not able to take full advantage of; Asynchronous Compute. My understanding of this feature is somewhat limited, but the best short-description I have is likening it to Hyperthreading. There are many different operations GPUs have to do and they can require different resources and different amounts of time to finish. Async compute allows these different operations to be done in parallel, if there are the resources to complete them, but to keep things straight a scheduler is required. While both AMD and NVIDIA GPUs support asynchronous compute, in different ways, only AMD has hardware schedulers built in (Asynchronous Compute Engines). With higher workloads, meaning a lot of threads to keep track of, AMD GPUs have a clear advantage over NVIDIA, to the point that with enough threads going on, the performance on NVIDIA GPUs will actually decrease with async enabled.

 

I hope I have explained that well because the topic is a bit beyond me, but worth bringing up for anyone else who may have an NVIDIA GPU, and to provide the necessary context for some of the data I am about to give you. The built in benchmark, which runs through a few pre-determined scenes in the game (and smartly starts recording a few seconds after the action), records and provides the user with a great deal of information beyond normal framerate. It also informs you of the estimated CPU framerate and how GPU bound the total benchmark and each scene was.

The CPU framerate, with and without async compute enabled (which requires editing an INI file) is right about 30.5 FPS, and is consistent with what I observed. The CPU framerate estimation is what the game should be running at if the system is not GPU bound, and I did observe while playing that it appeared to never go above approximately 30-35 FPS. It also did not frequently go below it, from what I could see, so it was very consistently at a playable framerate. Running the benchmark on the lowest graphical settings gave a CPU framerate not even a full frame faster, so I played at the maximum settings.

 

I observed a much larger difference in performance when I turned off async compute. With it enabled, the benchmark reported an average framerate of about 24 FPS and it was 61.74% GPU bound, meaning the CPU was waiting on the GPU. The benchmark has more action going on than I enjoyed in any of the matches I played, so while I did see the framerate drop to around that, it was usually higher for my experience. The bulk of my playing was with async enabled, because I forgot to disable it.

With async disabled, the benchmark returned an average framerate of about 29 FPS and said it was 21.65% GPU bound. With all other settings being the same, this demonstrates that at least for my system, async compute can in fact hurt performance. Looking at the results for each scene, performance was negatively impacted with async enabled, and playing with it disabled did result in a smoother experience. Still, it was completely playable with async enabled.

 

Left: Async On - Right: Async Off

 

It is very, very important to remember that DirectX 12 is still quite new, with the Nitrous Engine, its specific implementation in Ashes of the Singularity, and the drivers I am using (364.72) being rather young in the API's life. That means the performance here is not necessarily indicative of performance in other games, even if they too use the Nitrous Engine. Over time we will see methods refined by everyone and performance will improve, but that is not where we are, yet.

I did encounter two bugs while playing, but both are quite minor. If you hit the Alt key, the ranges of the selected units or all offensive units will be displayed until you release the key. That is unless the game is paused, which will cause the range indicators to remain on the screen after releasing the key. The reason I say this is a bug is because the circles are not rendered well under this circumstance, appearing to have holes in them. I am not sure why there would be such a rendering issue, but it is present and annoying, but not significant. The other bug, at least I believe it is a bug, is that when you pause the game, the speed indicator does not change. Like many RTS's, you can change the speed of the action, and pause the game to precisely give orders. The indicator telling you the current speed, however, does not change if you pause the game with the hotkey to do so, but slowing the game down to Pause does.

Those are the only two bugs I encountered, but there are several issues I will cover in the Gameplay section.

Overall, the performance was okay. Not great, but it definitely could have been worse. I am also very willing to lay the 30-FPS-limited performance on my CPU. I have observed in other games that also utilize the CPU significantly that performance is limited, despite the power of the GTX 980. The CPU framerate given by the benchmark only confirms what I have suspected. (Thankfully it still performs well enough and there are many games that are not so CPU-intensive.)




  1. Ashes of the Singularity Review - Introduction
  2. Ashes of the Singularity Review - Graphics
  3. Ashes of the Singularity Review - Story
  4. Ashes of the Singularity Review - Gameplay
  5. Ashes of the Singularity Review - Additional Gameplay Media
  6. Ashes of the Singularity Review - Conclusion
Related Products
Random Pic
© 2001-2017 Overclockers Club ® Privacy Policy
Elapsed: 0.0320098400   (xlweb1)