



# of times this post as reached the cap: 1



Last Bioware official response: (None)



The first version of the thread with around 90,000 views, 103 pages of responses and nothing from Bioware is here:



Let's keep this discussion limited where possible, to issues directly observed with the game, and theories/possible fixes. If you are coming in to post "It works for me" with no solution for how you got there, please don't post.



After trying a multitude of fixes and routinely checking what some of the more technical people have been saying in the 'Horrid FPS' threads, I think I can put the big picture together. What I see are a couple different contributors so I'll explain those as best I can.



-System specs for testing

i7 920 @4.2

12GB DDR3

Crossfire 6950 GPUs

Corsair Force 3 SSDs (RAID 0)



Symptoms

-Terrible performance on Republic/Imperial Fleets, especially when in crowded areas

-Unplayable FPS in warzones

-Random FPS drops while questing/running around

-FPS drops exactly in half (no matter if you're sitting at 30 or 100 FPS) when opening 2D UI elements and summoning companions. Effect lasts 1-2 seconds, then normal FPS resumes

-Opening separate bank tabs or clicking the next and back pages on the GTN causes a temporary FPS drop

-Huge FPS drop followed by high FPS when starting a conversation, especially in a party with 2 or more people

-Temporary FPS drop out in questing areas when another player's character is loaded (doesn't need to be in your FOV for this to happen)



What helps

-If you have enough extra RAM (should be okay if you have 6GB or more), create a RAM drive of about 1.5-2GB. Run diskcachearena and swtor_main_art_fx_1.tor from that drive.







To run the effects file on your RAM drive as well, make a backup copy of swtor_main_art_fx_1.tor, and rename or move it to a separate folder. Add this to your batch file:



Code: mklink "SWTORINSTALLATIONPATH\assets\swtor_main_art_fx_1.tor" "RAMDRIVEPATH\swtor_main_art_fx_1.tor"



-If you don't have much RAM, going into the assets folder in your SWTOR install folder and renaming/moving the swtor_main_art_fx_1.tor file has been confirmed to provide a large FPS gain. Note that doing this removes a LOT of effects and sounds from the game (some combat sounds, light saber blades, AoE effects, speeders, the ball in Huttball etc), so running this file on a RAM drive is preferable. If you are desperate to play, just rename/move this file to a backup folder. If you have 4GB of RAM, you can probably get away with a RAM drive of around 200 megs and following the steps above.



-There are people running the game on SSDs running into the exact same problems BUT, overall it seems that adding an SSD results in fairly large gains. If you are having any of these symptoms, upgrading to an SSD for this reason is not recommended . I received 2 SSDs as a gift, set them up in a RAID 0 and did not see much improvement. A game should not require an SSD to play correctly anyway. Your symptoms may improve, but they may also remain unchanged!



Theory

Now, what's happening behind the scenes? When I first ran into problems after the early access period, I had 6GB of DDR3. I thought, between Windows 7, my background apps and SWTOR maybe that's not enough and when the game tries to load new data it has to grab it from the system page file. As it turns out, this is not far from the truth. But we'll get back to that in a minute. After installing a new 12GB kit, I noticed the exact same issues happening. Random FPS drops from the 80+ range down into the 30s in some places. FPS still dropping exactly in half for a couple seconds when opening UI elements.



I figured, well, something is up with the data streaming in this game, they'll fix it. But here we are, over a month later still with the same issues. What about SSDs? Well, an SSD still won't be as fast at retrieving data VS something that's stored in RAM. I think that's why some people see these issues even when the game is on an SSD. In fact, see just above this. I'm running the game on SSD RAID0 and saw very little gains.



The first problem I see is this. When the game has to wait for data to load, the engine stops rendering. So here's what happens. You're running around the Imperial Fleet and a new player comes into view. The game needs to pull information for that player, so it goes to the assets files on your hard drive. While the game is waiting for that data, your GPU usage drops and the game renderer stalls out until it has that information. I haven't been able to find the source of the people saying this since it's been buried in the 'Horrid FPS' threads but it was confirmed by a few people. Further evidence is that if I just run around the outer ring on the IF, at some point my FPS will drop down from the 70s-80s to the 30s-20s. If I then stop in place and wait a few seconds, FPS climbs back up to where it was, regardless of how many people are in the FOV. Honestly, this is not acceptable and has a huge impact on performance.



Another thing is the 'arena' cache file that gets stored on the hard drive. I'm not 100% sure what the purpose of this file is but if deleted, it regenerates the next time the game starts. During periods where my FPS takes a huge hit, I notice a lot of hard drive activity on this file. My best guess is when SWTOR runs out of physical RAM, it starts caching assets to this file, almost like a second page file for TOR instead of Windows. The reason I think this is that SWTOR runs 2 processes. According to some, in order to get around memory addressing limitations.



This makes sense with what I learned about how the game handles higher res textures. They use what they call a 'texture atlas'. When a conversation starts, the game switches to higher resolution textures. I believe this is why there is a sudden FPS drop right when a conversation/cutscene starts. I also believe the diskcachearena file has a part to play in all of this.



Why physical RAM is not used for this file, I have no idea but it seems like poor design to me. Given enough system RAM, you can create a RAM drive and run this file there. That gives a performance increase in general as the game waits much less time to retrieve data from that file. But the performance drop is still there when new data is loaded. Further, I have never seen this file allocate more than about 1GB of space. I have a feeling if this data could be stored in main memory it would solve a lot of issues. Even if that file could store more cached data and we could put the thing in a RAM drive, that might help.



Another key is that every time I see my FPS tank and then recover, there is an associated increase in network activity. Mind you, we are talking about kilobytes and I'm on a very fast, low-latency connection. But this also feeds into the first identified problem. This means that if the game client is waiting on data from the game's backend servers, you will see a temporary FPS loss. This is almost conclusively proven by the phenomenon of jumping once, then opening your inventory repeatedly while in the air. Notice that your character gets "stuck" while doing this. By the time the engine recovers, you are on the ground. While your game client was busy waiting on data, the world around you and in fact your character itself keeps right on going. But the game does not render in that time, so you jump, open your inventory repeatedly and then you are suddenly on the ground after being suspended in mid-air. This is key evidence!



(Note that as of 4/12 following the 1.2 patch, this effect has been diminished greatly but is still present)



Finally, after looking into all of this and then examing exactly where performance falls apart, we can see that certain asset files are contributing significantly to this debacle. It's confirmed that the asset file swtor_main_art_fx_1.tor is a big part of the problem. Many game 'special effects' such as lightsaber blades, the flames from fire squares in Huttball, aoe spell effects etc come from this file. For most users, this file seems to have an abnormal amount of read activity on their computers.



See the "What helps" section for further notes on this specific file. I suspect that other asset files may have a similar effect, particularly whichever one is controlling the UI. This would explain why doing anything with the game's UI, even flipping between pages in the GTN results in a brief, but massive FPS hit.



All of these problems are also compounded by other issues with the 3D rendering system. Enabling shadows has an enormous performance impact for some reason. Bloom also seems to be poorly implemented. I can usually run with shadows on high but if I enable bloom I get an instant slideshow. Maybe these are driver related but I'm not so sure given the weirdness I've seen with this engine.





TL;DR version

The engine stops rendering if it has to wait for data. This problem is compounded by abnormal hard drive utilization on some of the game's files, mismanagement of assets, and poor utilization of system resources.



The game stutters and lurches when it has to retrieve data that's not in physical RAM. This is going to be caused by bad memory management, inefficient game data streaming, or not keeping enough data in physical RAM for the area you're in. Most likely, it's a combination of all of these factors. These reasons are the only explanations that seem to fit such a broad range of system specs (even 'uber' ones). If my FPS plumets from 80 to 20 when moving to an area with players, but fixes itself after a couple seconds even when I don't move and no players in the FOV move, it's choking on loading new data which brings everything to a grinding halt. There have been two well quoted posts by programmers in the 'Horrid FPS' threads that confirm these suspicions based on their own experience. This is not normal!



Conclusions

-Game processes are not using as much physical memory as they should

-The game's renderer flat-out stopping when it has to wait for data is idiotic

-The renderer for the game running as a separate process is a bottleneck in itself

-Management, caching, and streaming of new assets (especially fx assets) are all handled poorly, especially when it comes to accessing these resources from the hard drive

-Game executables not being compiled for 64-bit runtimes is a huge mistake (processes cannot use enough physical RAM even when plenty is available or take advantage of 64-bit efficiencies)

-Terrible implementation of bloom and shadow effects contributes to poor FPS. This is 2012 and I have a great system. I should be able to enable these!



These contributors cause abysmal performance across the board, and are the result of poor coding and poor design.



And I know people are tired of the WoW comparisons, but think about it this way. In any MMO, there is a lot of player data out there especially in cities where people tend to cluster. For example in WoW, my main's home was Stormwind. Even with literally hundreds of players in the same space, all riding different mounts, wearing different armor/skins, running around with glowy enchants on their weapons, and randomly casting AoE spells, there is no sign of a performance drop on a high end PC.



I fully understand that there are more effects, bigger textures etc. My point is, there seems to be a real problem with the client in how it handles streaming in of new data. If those problems were fixed, crowded questing areas and RF/IF being crowded would not hinder performance as much. If WoW had such obvious problems handling the loading of new data, I suspect the exact same problems would be happening there. WoW does this just fine while maintaining steady FPS well over 100 on my hardware. Why is TOR struggling?



My thanks to:

Everyone who has stopped by here to support me in the quest to understand, and help Bioware understand the nature of the faults in this game so they can be corrected. Additional thanks to those who like myself, have spent their valuable time helping me test theories and figure out what Bioware has not been able to yet (you know who you guys are).



They can't ignore us forever. I encourage everyone following this thread and anyone who sees and agrees with it to spread the word. Other sites, hit them on their Twitter account, whatever we have to do so that they see and acknowledge this thread! Last edited 4/13/2012, still no BW response.(None)The first version of the thread with around 90,000 views, 103 pages of responses and nothing from Bioware is here: http://www.swtor.com/community/showthread.php?t=249030 After trying a multitude of fixes and routinely checking what some of the more technical people have been saying in the 'Horrid FPS' threads, I think I can put the big picture together. What I see are a couple different contributors so I'll explain those as best I can.-System specs for testingi7 920 @4.212GB DDR3Crossfire 6950 GPUsCorsair Force 3 SSDs (RAID 0)-Terrible performance on Republic/Imperial Fleets, especially when in crowded areas-Unplayable FPS in warzones-Random FPS drops while questing/running around-FPS drops exactly in half (no matter if you're sitting at 30 or 100 FPS) when opening 2D UI elements and summoning companions. Effect lasts 1-2 seconds, then normal FPS resumes-Opening separate bank tabs or clicking the next and back pages on the GTN causes a temporary FPS drop-Huge FPS drop followed by high FPS when starting a conversation, especially in a party with 2 or more people-Temporary FPS drop out in questing areas when another player's character is loaded (doesn't need to be in your FOV for this to happen)-If you have enough extra RAM (should be okay if you have 6GB or more), create a RAM drive of about 1.5-2GB. Run diskcachearena and swtor_main_art_fx_1.tor from that drive. See this thread for an easy way + instructions on setting up a RAM drive to run the diskcachearena file in memory. Credit to Ocmer, and original instructions from Lemon_King in case he's still around.To run the effects file on your RAM drive as well, make a backup copy of swtor_main_art_fx_1.tor, and rename or move it to a separate folder. Add this to your batch file:Obviously, substitute SWTORINSTALLATIONPATH for your SWTOR install folder and RAMDRIVEPATH for your actual RAM drive letter. Finally, copy this file from your backup folder (do NOT move it, copy it) to the location on your RAM drive that you just configured in your batch file.-If you don't have much RAM, going into the assets folder in your SWTOR install folder and renaming/moving the swtor_main_art_fx_1.tor file has been confirmed to provide a large FPS gain. Note that doing this removes a LOT of effects and sounds from the game (some combat sounds, light saber blades, AoE effects, speeders, the ball in Huttball etc), so running this file on a RAM drive is preferable. If you are desperate to play, just rename/move this file to a backup folder. If you have 4GB of RAM, you can probably get away with a RAM drive of around 200 megs and following the steps above.-There are people running the game on SSDs running into the exact same problems BUT, overall it seems that adding an SSD results in fairly large gains. If you are having any of these symptoms, upgrading to an SSD for this reason is. I received 2 SSDs as a gift, set them up in a RAID 0 and did not see much improvement. A game should not require an SSD to play correctly anyway. Your symptoms may improve, but they may also remain unchanged!Now, what's happening behind the scenes? When I first ran into problems after the early access period, I had 6GB of DDR3. I thought, between Windows 7, my background apps and SWTOR maybe that's not enough and when the game tries to load new data it has to grab it from the system page file. As it turns out, this is not far from the truth. But we'll get back to that in a minute. After installing a new 12GB kit, I noticed the exact same issues happening. Random FPS drops from the 80+ range down into the 30s in some places. FPS still dropping exactly in half for a couple seconds when opening UI elements.I figured, well, something is up with the data streaming in this game, they'll fix it. But here we are, over a month later still with the same issues. What about SSDs? Well, an SSD still won't be as fast at retrieving data VS something that's stored in RAM. I think that's why some people see these issues even when the game is on an SSD. In fact, see just above this. I'm running the game on SSD RAID0 and saw very little gains.The first problem I see is this.So here's what happens. You're running around the Imperial Fleet and a new player comes into view. The game needs to pull information for that player, so it goes to the assets files on your hard drive. While the game is waiting for that data, your GPU usage drops and the game renderer stalls out until it has that information. I haven't been able to find the source of the people saying this since it's been buried in the 'Horrid FPS' threads but it was confirmed by a few people. Further evidence is that if I just run around the outer ring on the IF, at some point my FPS will drop down from the 70s-80s to the 30s-20s. If I then stop in place and wait a few seconds, FPS climbs back up to where it was, regardless of how many people are in the FOV. Honestly, this is not acceptable and has a huge impact on performance.Another thing is the 'arena' cache file that gets stored on the hard drive. I'm not 100% sure what the purpose of this file is but if deleted, it regenerates the next time the game starts. During periods where my FPS takes a huge hit, I notice a lot of hard drive activity on this file. My best guess is when SWTOR runs out of physical RAM, it starts caching assets to this file, almost like a second page file for TOR instead of Windows. The reason I think this is that SWTOR runs 2 processes. According to some, in order to get around memory addressing limitations.This makes sense with what I learned about how the game handles higher res textures. They use what they call a 'texture atlas'. When a conversation starts, the game switches to higher resolution textures. I believe this is why there is a sudden FPS drop right when a conversation/cutscene starts. I also believe the diskcachearena file has a part to play in all of this.Why physical RAM is not used for this file, I have no idea but it seems like poor design to me. Given enough system RAM, you can create a RAM drive and run this file there. That gives a performance increase in general as the game waits much less time to retrieve data from that file. But the performance drop is still there when new data is loaded. Further, I have never seen this file allocate more than about 1GB of space. I have a feeling if this data could be stored in main memory it would solve a lot of issues. Even if that file could store more cached data and we could put the thing in a RAM drive, that might help.Another key is that every time I see my FPS tank and then recover, there is an associated increase in network activity. Mind you, we are talking about kilobytes and I'm on a very fast, low-latency connection. But this also feeds into the first identified problem. This means that if the game client is waiting on data from the game's backend servers, you will see a temporary FPS loss. This is almost conclusively proven by the phenomenon of jumping once, then opening your inventory repeatedly while in the air. Notice that your character gets "stuck" while doing this. By the time the engine recovers, you are on the ground. While your game client was busy waiting on data, the world around you and in fact your character itself keeps right on going. But the game does not render in that time, so you jump, open your inventory repeatedly and then you are suddenly on the ground after being suspended in mid-air. This is key evidence!(Note that as of 4/12 following the 1.2 patch, this effect has been diminished greatly but is still present)Finally, after looking into all of this and then examing exactly where performance falls apart, we can see that certain asset files are contributing significantly to this debacle. It's confirmed that the asset file swtor_main_art_fx_1.tor is a big part of the problem. Many game 'special effects' such as lightsaber blades, the flames from fire squares in Huttball, aoe spell effects etc come from this file. For most users, this file seems to have an abnormal amount of read activity on their computers.See the "What helps" section for further notes on this specific file. I suspect that other asset files may have a similar effect, particularly whichever one is controlling the UI. This would explain why doing anything with the game's UI, even flipping between pages in the GTN results in a brief, but massive FPS hit.All of these problems are also compounded by other issues with the 3D rendering system. Enabling shadows has an enormous performance impact for some reason. Bloom also seems to be poorly implemented. I can usually run with shadows on high but if I enable bloom I get an instant slideshow. Maybe these are driver related but I'm not so sure given the weirdness I've seen with this engine.The engine stops rendering if it has to wait for data. This problem is compounded by abnormal hard drive utilization on some of the game's files, mismanagement of assets, and poor utilization of system resources.The game stutters and lurches when it has to retrieve data that's not in physical RAM. This is going to be caused by bad memory management, inefficient game data streaming, or not keeping enough data in physical RAM for the area you're in. Most likely, it's a combination of all of these factors. These reasons are the only explanations that seem to fit such a broad range of system specs (even 'uber' ones). If my FPS plumets from 80 to 20 when moving to an area with players, but fixes itself after a couple seconds even when I don't move and no players in the FOV move, it's choking on loading new data which brings everything to a grinding halt. There have been two well quoted posts by programmers in the 'Horrid FPS' threads that confirm these suspicions based on their own experience. This is not normal!-Game processes are not using as much physical memory as they should-The renderer for the game running as a separate process is a bottleneck in itself-Management, caching, and streaming of new assets (especially fx assets) are all handled, especially when it comes to accessing these resources from the hard drive-Game executables not being compiled for 64-bit runtimes is a huge mistake (processes cannot use enough physical RAM even when plenty is available or take advantage of 64-bit efficiencies)-Terrible implementation of bloom and shadow effects contributes to poor FPS. This is 2012 and I have a great system. I should be able to enable these!And I know people are tired of the WoW comparisons, but think about it this way. In any MMO, there is a lot of player data out there especially in cities where people tend to cluster. For example in WoW, my main's home was Stormwind. Even with literally hundreds of players in the same space, all riding different mounts, wearing different armor/skins, running around with glowy enchants on their weapons, and randomly casting AoE spells, there is no sign of a performance drop on a high end PC.I fully understand that there are more effects, bigger textures etc. My point is, there seems to be a real problem with the client in how it handles streaming in of new data. If those problems were fixed, crowded questing areas and RF/IF being crowded would not hinder performance as much. If WoW had such obvious problems handling the loading of new data, I suspect the exact same problems would be happening there. WoW does this just fine while maintaining steady FPS well over 100 on my hardware. Why is TOR struggling?Everyone who has stopped by here to support me in the quest to understand, and help Bioware understand the nature of the faults in this game so they can be corrected. Additional thanks to those who like myself, have spent their valuable time helping me test theories and figure out what Bioware has not been able to yet (you know who you guys are).They can't ignore us forever. I encourage everyone following this thread and anyone who sees and agrees with it to spread the word. Other sites, hit them on their Twitter account, whatever we have to do so that they see and acknowledge this thread!