There's been quite a bit of grumbling over the removal of high resolution textures since the beta version of Star Wars: The Old Republic, and that's prompted senior community manager Stephen Reid to take to the forums in an attempt to explain why the team had to scale the game's textures down for release. He goes into surprising detail, which should be a welcome sight for anyone wanting to better understand where graphical performance hits come from:
Hey everyone, thanks for bearing with us as we investigated the concerns raised here.Between this issue and the removal of anti-aliasing (which has since been restored), though, you have to wonder if BioWare wasn't simply getting the game prepared for a console release and wanted to keep the PC version on par with it. There are gamers out there with state-of-the-art PCs, so why limit the game at all for them?
After investigation, it seems that the confusion here is a combination of a UI issue that's been resolved and a feature that's working as intended, but the reason why it's 'working as intended' needs explanation.
First, the UI issue. The preferences menu as it is seen on the Public Test Server for version 1.1 of the game is correct - there are only supposed to be two texture choices, 'Low' and 'High'. This replaces the original three-choice preference of Low/Medium/High because in reality, there was never supposed to be a 'Medium' choice - that was a bug.
Here's where we need to explain. As many of you have noted, your character in the game world is rendered using lower resolution textures than inside of cinematic conversation scenes. This was a deliberate decision by the development team. To understand why this was done, I have to briefly talk about MMOs and their engines.
In comparison to single player games and other genres of multiplayer online games, MMOs have much higher variability in the number of characters that can be potentially rendered on-screen at the same time. In MMOs, even though most of the time you'll see a relatively small number of characters on screen, there are certain situations in which many more characters will be seen. Some examples of these situations include popular gathering places in-game (in our case, the two fleets), Operations with large teams, and Warzones. In those scenarios the client (and your PC) has to work hard to show off a lot of characters on-screen.
During development and testing of The Old Republic, our priorities were to ensure the game looked great and performed well. In testing, we discovered that using our 'maximum resolution' textures on in-game characters during normal gameplay could cause severe performance issues, even on powerful PCs. There were a variety of possible options to help improve performance, but one that was explored and ultimately implemented used what is known as a 'texture atlas'.
To understand that I've got to get technical for a minute. When a character in the game is 'seen' by another character - ie, gets close to your field of view - the client has to 'draw' that character for you to see. As the character is 'drawn' for you there are a number of what are known as 'draw calls' where the client pulls information from the repository it has on your hard disk, including textures, and then renders the character. Every draw call that is made is a demand on your PC, so keeping that number of draw calls low per character is important. With our 'maximum resolution' textures a large number of draw calls are made per character, but that wasn't practical for normal gameplay, especially when a large number of characters were in one place; the number of draw calls made on your client would multiply very quickly. The solution was to 'texture atlas' - essentially to put a number of smaller textures together into one larger texture. This reduces the number of draw calls dramatically and allows the client to render characters quicker, which improves performance dramatically.
When it comes to cinematic scenes, however, characters are rendered using the higher number of draw calls and maximum resolution textures. This is because in those scenes, we have control over exactly how many characters are rendered and can ensure that the game performs well. The transition between 'atlas textured' characters (out of cinematics) and 'maximum resolution' textures (in cinematics) is mostly hidden by the transition between those two states (when the screen goes black), but obviously it's clear if you pay close attention.
In summary; yes, we had a small UI bug that unfortunately caused confusion over how the game is intended to work. The textures you're seeing in the course of normal gameplay are optimized for that mode of play. The textures you're seeing during cinematics are also optimized for that mode of play. They are higher resolution, but that's because we're able to control cinematic scenes to ensure good performance in a way we can't during normal gameplay.
We understand the passion and desire for people to see the same textures you see in our cinematic scenes in the main game. Because of the performance issues that would cause for the client, that's not an immediate and easy fix; we need to ensure we're making choices that the majority of our players will be able to benefit from. Having 'atlassed textures' helps performance overall, and that's a very important goal for us.
With that said, we've heard your feedback here loud and clear. The development team is exploring options to improve the fidelity of the game, particularly for those of you with high-spec PCs. It will be a significant piece of development work and it won't be an overnight change, but we're listening and we're committed to reacting to your feedback.