Please upgrade your browser for the best possible experience.

Chrome Firefox Internet Explorer
×

I think I know what's causing poor FPS for some users (no fix yet)

STAR WARS: The Old Republic > English > Customer Service (Read-Only)
I think I know what's causing poor FPS for some users (no fix yet)
 

Cupelixx's Avatar


Cupelixx
02.13.2012 , 10:21 PM | #681
Remember the weekly Q&A thread closes tomorrow. If you haven't posted about this there, please do. Keep the pressure on, guys.
Free stuff:http:/www.swtor.com/r/jS5GKV
Subscriber on Star Forge and want to make up to 10 MILLION credits to use my referral link? PM me and find out how.

brossiah's Avatar


brossiah
02.14.2012 , 12:09 AM | #682
Quote: Originally Posted by Cupelixx View Post
Data (not talking about cliet assets here) would have to be stored on the game's server clusters or it would be way too easy to hack the game, especially with account or player data. This is likely why we see the same thing with inventory and the character sheet. When you open those, the game has to query a backend database server for that information, then send the information back to your client which determines what to draw and how to draw it. The most troubling part is, why is this happening at all? Why is there already such a huge delay just opening inventory? My opinion is either inadequate/overloaded database servers, or poor database design. It could be bad networking code too but these problems seem to center around the client waiting for data (waiting for other characters/their companion data to load, inventory data etc).
Let me start by saying that I don't think the devs at BW are incompetent. In fact what I've seen from their job requirements for Java devs (5+ years exp required) and the volume of apps they probably get, I would say the average BW programmer falls in the "good" group. The reason I bring this up is because it's hard for me to believe that good programmers would write code where you request inventory or character info from the server each time you open a screen.

As a general rule of thumb, whatever you (the server) can push to the client side, you do. Let the client cache it, let him process it, let him render it, you (again the server) just do your security checks, handle requests, and keep your DB up to date. If all that work means the client needs to run a Cray, just make sure to say the client needs a Cray. I can understand worrying about hackers and crackers, but there are industry proven and well-documented techniques to prevent XSS attacks and cache poisoning while still letting the client maintain a large information store.

SIDE NOTE: I don't know who said this, but I agree that BW really really under-exaggerated system reqs for TOR.

For example, the second you log in to your toon TOR should start sending you information to cache. As it's sending it, the server hashes the info and assigns you a token that it stores server-side (hashed along with the info it sent you). Now lets say you decide to screw with your cache and add tons of high-lvl mats to your inventory (ie. cache poisoning). Well congratulations you got a bunch of high lvl mats in your inventory. However the second you try doing something (like moving to bank or vendoring), you send your cache hash up (which now differs from what the server originally sent you) along with your request, the server splices your cache hash with your token, hashes it again, says whoops that doesn't match what I have, rejects your request, throws an error, and forces a client-side cache rebuild. Its a simple check. Your hash function doesn't even need to be that secure. Hell you could use MD5! Point is, it's really not that complicated to lock down shady users.

Anyway, before I write my 8th novella, I can't bring myself to believe that the client would have to request that info every time. There is no way that should be happening. That kind of heavy-requesting, especially on something as unreliable and varied as public TCP channels, should just flat out never be done. That's the kind of the coding that makes your boss question your job not to mention how you might have survived 5+ years in the industry. It's terrible code. And like I said I still think BW devs are good programmers. But if this is true, man I wouldn't trust them to write an XML flickr request.

phreekmode's Avatar


phreekmode
02.14.2012 , 05:49 AM | #683
Hey,

make it like this:

Step 1) remove the file from your assets folder
Step 2) open up your cmd as an admin and paste this in
mklink "SWTORINSTALLATIONPATH\assets\swtor_main_art_f x_1. tor" "RAMDRIVEPATH\swtor_main_art_fx_1.tor"
Step 2b) Make sure you put the right path for both swtor install and ram drive.
Step 3) You should now see a link file in your assets folder
Step 4) copy and paste the original file into your ram drive (swtor_main_art_fx_1.tor)
Step 5) Load up your game.

but i got no gfx ingame. no fire in wz's, no weapon skin
what is wrong with it?

Tsaritsin's Avatar


Tsaritsin
02.14.2012 , 06:13 AM | #684
HeroEngine Meets StarWars

November 28, 2011


Hero’s Journey

Long ago in a company far far away, we were building a game called Hero’s Journey. It was an ambitious game with many wonderful features. We had our own special way of building games based on a unique process that we had developed while building pioneering online games like GemStone and DragonRealms. Our goal was to build a modern graphical MMO RPG that allowed our team of designers to continually add new content into the game – new areas, new spells, whatever they could think of.

We took an early version of our game to the legendary 2005 E3 show. We rented a small room in the back of a small hall, very far away from the giant multimedia extravaganza exhibits of EA, Sony, Microsoft, Nintendo, and the rest of the empires. We set up meetings with people we knew, members of the press, friends in the industry, and publishers. We hoped to build enough interest to get a publisher to provide enough funding to expand the team and finish the game.

A few people got very excited, but not the way we planned.

“I need this.”

We showed the game to our friend Gordon Walton. We had known Gordon for many years, back in the days when he worked for Kesmai, our late great competitor. Gordon had since been with Sony for its Star Wars Galaxies game among other places. He knows games, especially online games.

Not only did we show him the game, but because Gordon knew us so well we showed him the development tools we had built around our special process – building the game online, in realtime, with tools for the entire team all in one package.

“I need this,” said Gordon. “I am about to start a special project and these tools will let us build and prototype fast and get something running in a hurry.” Gordon is not an excitable guy by nature but this had his adrenaline flowing. “This is just what I need! I want to license your engine.”

We had thought about offering our engine and tools to developers but we had expected that we would have to actually ship a game first, like Epic did with Unreal Tournament before they licensed the original Unreal Engine.

“It’s not productized yet,” we told Gordon. “There are whole sections of code that is only roughed in and not optimized for performance or security. And there are very few comments and very little documentation.”

He didn’t care. “We are going to have tons of engineers. We can finish it ourselves. We’re going to want to modify your source code for our special project anyway.”

BioWare Licenses HeroEngine For…

A few months after the show we heard from Gordon again. He was now the co-head of a new online game studio in Austin as part of BioWare. This was very impressive. Not only was Gordon a solid guy but BioWare was (and still is!) at the very top tier of game developers, the kind of company that made games that were always great. Soon the deal was done – soon meaning after months of painful negotiations and many weeks of meetings with teams of engineers who examined every line of our source code and interrogated our engineers. We were concerned over their making major changes to our engine, but we loved the size of the check that came with the deal.

A year or so later, it became clear to us that BioWare was building a Star Wars MMO. We had to keep the secret for another couple of years but it was incredibly exciting. If you watch some of the videos of BioWare developing SW:TOR, you can see HeroEngine and its unique tools and process being used by the massive team on this incredible project.

Our role began and ended long ago, in a company far far away, but we’re still excited over the part we have played in helping BioWare (now part of EA, of course) bring its vision to life.

by Neil Harris, President and COO of HeroEngine



"The growth of the RPG/MMO Group as part of Electronic Arts in 2008+ has resulted in three additional studios being added to the BioWare Group outside BioWare's original home base in Edmonton. The first, located in Austin, Texas and headed by industry veterans Gordon Walton and Richard Vogel, was created to work on the Star Wars: The Old Republic MMORPG project. Both the studio and the project were announced on March 13, 2006". Wikipedia (Bioware)


So, Gordon Walton is punting around at E3 in 2005, and he leaves with an Engine in his back pocket.

Gorden Walton then turns up in Texas, working for the big boys in a new Online Department, "Hey look guys, I just found this in my back pocket"

They then spend 6 years working on this, SIX YEARS !!!

Gordon Walton then leaves Bioware before the product even hits the shops.

Hmmmmm.

Six years is a long time, now I should point out, I am not a dev, and I dont work in the games industry, but I really do think six years is more than enough time to just build your own Engine, from the ground up.

SIX YEARS, OMG

Djinas's Avatar


Djinas
02.14.2012 , 07:56 AM | #685
Quote: Originally Posted by Warka View Post
I've bought 2x SATA3 SSD, put them into RAID0 and put the game on it (ofc). I even moved 8GB of assets to RAMdrive (10GB of DDR3 RAM) -basically all the non-area assests- and I'm still dropping to 25 FPS in WZ or even lower on Imperial Fleet (near GM).

I'm convinced that BioWare needs to make some severe optimalizations to the game as the FPS drop when more ppl (like 16+) are in vicinity is huge and cannot be countered by "better" HW.

My CPU ang GPU load when lagging through WZ with 25 FPS is about 30-40%, so better CPU and/or GPU wouldn't help there. Nor would disks or more RAM. The only thing that comes to my mind, that could be causing these troubles IN THIS CASE is the comunication between client and server, that gets more and more heavy as more players are in vicinity.

I can clearly see it from WZ, where I start on 60 FPS and I'am droping like -2 FPS per joined player. So even before the WZ starts am already going from 60 to 44 FPS (-2 FPS per player). When we meet the opposite team, I got another 8x -2 FPS and I'm on "my" 28 +/- FPS and the GPU and CPU is basicaly starving, load at 30-40%.
right, have the ssd installed, it's a corsair force series 3 90 Gb (550 MB/s sequential read — 500 MB/s sequential write from Corsair website), there seems to be a small improvement or I could just be imagining things dunno rly... same as the ramdrive thing which I also tried... I wanted to get one anyways, next month ill get another one and RAID 0 em.. but fix the performance issues in warzones and on illum... not funny.

Infiniteh's Avatar


Infiniteh
02.14.2012 , 08:15 AM | #686
Anyone know how to edit the ini file to tone down the particle effects?

Cupelixx's Avatar


Cupelixx
02.14.2012 , 09:23 AM | #687
Quote: Originally Posted by brossiah View Post
Let me start by saying that I don't think the devs at BW are incompetent. In fact what I've seen from their job requirements for Java devs (5+ years exp required) and the volume of apps they probably get, I would say the average BW programmer falls in the "good" group. The reason I bring this up is because it's hard for me to believe that good programmers would write code where you request inventory or character info from the server each time you open a screen.

As a general rule of thumb, whatever you (the server) can push to the client side, you do. Let the client cache it, let him process it, let him render it, you (again the server) just do your security checks, handle requests, and keep your DB up to date. If all that work means the client needs to run a Cray, just make sure to say the client needs a Cray. I can understand worrying about hackers and crackers, but there are industry proven and well-documented techniques to prevent XSS attacks and cache poisoning while still letting the client maintain a large information store.

SIDE NOTE: I don't know who said this, but I agree that BW really really under-exaggerated system reqs for TOR.

For example, the second you log in to your toon TOR should start sending you information to cache. As it's sending it, the server hashes the info and assigns you a token that it stores server-side (hashed along with the info it sent you). Now lets say you decide to screw with your cache and add tons of high-lvl mats to your inventory (ie. cache poisoning). Well congratulations you got a bunch of high lvl mats in your inventory. However the second you try doing something (like moving to bank or vendoring), you send your cache hash up (which now differs from what the server originally sent you) along with your request, the server splices your cache hash with your token, hashes it again, says whoops that doesn't match what I have, rejects your request, throws an error, and forces a client-side cache rebuild. Its a simple check. Your hash function doesn't even need to be that secure. Hell you could use MD5! Point is, it's really not that complicated to lock down shady users.

Anyway, before I write my 8th novella, I can't bring myself to believe that the client would have to request that info every time. There is no way that should be happening. That kind of heavy-requesting, especially on something as unreliable and varied as public TCP channels, should just flat out never be done. That's the kind of the coding that makes your boss question your job not to mention how you might have survived 5+ years in the industry. It's terrible code. And like I said I still think BW devs are good programmers. But if this is true, man I wouldn't trust them to write an XML flickr request.
I agree. They're not all stupid, but it sure is tempting to say it with all of the problems people are having. I know it's hard to believe that a company like this could screw up so badly, but everything I've seen working in the IT field says it's entirely plausible. I'm not a programmer but I have a basic idea of how this kind of game works. I encourage you to test this on your own as well. The game probably shouldn't be making so many network requests but it sure seems like that's the case to me. Why else would my FPS drop in half by summoning a companion, and also be associated with a spike in network activity?

There is also the matter of jumping and then opening and closing windows, same thing. Network activity spikes and the game stops drawing, but the world around you keeps moving.

I still think we're onto something here. As a programmer I would love to see your theories on this stuff.
Free stuff:http:/www.swtor.com/r/jS5GKV
Subscriber on Star Forge and want to make up to 10 MILLION credits to use my referral link? PM me and find out how.

TheJestersHat's Avatar


TheJestersHat
02.14.2012 , 09:37 AM | #688
Quote: Originally Posted by Infiniteh View Post
Anyone know how to edit the ini file to tone down the particle effects?
I don't think you can. I asked that on another forum and no one knew.

Xigfrid's Avatar


Xigfrid
02.14.2012 , 09:39 AM | #689
That IS actually a very good question! But so far BW has never given us any tips for ini tweaks.

I think that there is somewhere in the code something that can prevent to load some or any effects from the art_fx asset. Can they be triggered from settings.ini file? Not yet or BW doesn't want us to change them.

My example is the smoke from vehicles that are terribly bad coded: you can see them through walls and ground textures! They are terrible for FPS and maybe Ilum and the Fleet are the only two places in the game where you have a lot of vehicles around.

I would love to try this game without these buggy smokes around. (and better quality shadows)

ltlsiren's Avatar


ltlsiren
02.14.2012 , 11:48 AM | #690
~bump