I have been trying to see if I can pinpoint why I am getting slight hiccups while playing Tera as of late. Unfortunately, I don't have any other games like this at the moment to see if it is happening with them though.
Anyways, I was watching the Windows Resource Monitor and started to notice that the TERA.EXE file would switch from running to not responding for a short moment then back to running.
Here is the screen shot with whatever the "analyze wait chain" is telling me a couple threads are not working. The Disk section keeps changing but that isn't what I am concerned about.. Its the back and forth not responding part in the CPU section that bothers me.
Anyone have an idea what is going on here? and is there anything I should be looking for to fix this?
What you're seeing is a symptom, not the underlying problem.
Threads are a tricky thing to implement and manage. They are used to split up work into packages that can be worked on in parallel instead of one task after another.
An example is: There's one thread dedicated to the Graphics - it's job is to push information to the driver of your gpu. Another thread is responsible for managing Input / Output - it takes note of incoming hardware events and triggers appropriate reactions - for example, when you move your mouse, this thread takes that event and forwards the information to the right places.
This enables the program to do multiple things simultaniously. For example - keep a smooth graphical user interface that always responds, communicate to some server to retrieve data and react to the signals your hardware is sending.
But this comes with a problem - sometimes work on one task cannot start until some other task is completed. And even more problematic: sometimes a thread is in a critical state, it would be really bad if something goes wrong with what it's doing at the very moment.
Now when a thread is in such a condition and has to wait for something else to happen, it just waits. And it will wait, until its forcefully cancelled (by the operating system) or it can continue with its task.
When the OS says "thread xyz is not responding" then it courtiously asked the thread to end itselt whenever it's done but gets no response.
Now - to fix things, the information that a thread is not responding is not so very helpful without knowing, what that thread is supposed to do. Could be it waits until it can write data to harddisk, could be it waits for a connection the server to either respond or time out, could be ... many, many more reasons. This can point to either hardware being slow or fauly, too many other threads and other processes (a process is a collection of threads) blocking access to needed resources or just to sloppy implementation in the threading department.
Last edited by genericsmurf; 2012-05-07 at 11:27 AM.
Reason: removed some typing errors
I doubt the code threading will be bugged imo as it would be all over the games forums with complaints. It could be a damaged hard drive if it accesses the disk then hangs for a few seconds.
has the game always done it or just started recently?
The SSD might be the issue.. I ran a couple random read test on the SSD and had one run give me a couple sub 30mb/s spikes but all the tests had multiple spike drops into the 90-100 range.
I played SWtor before so random lag like spikes would happen no matter what I was doing. With so many others having issues with that game, I guess I just got used to it and thought nothing of it. It was only recent that I noticed the"not responding" part cause I wrote up a quick "how to" guide to view your real time latency in Tera.. Had the resource monitor open while playing and noticed the line going red every few seconds.
However, I have noticed that boot times seem to be taking longer and longer (OS on the SSD) and having extremely long hangups accessing files on my data (RAID 0) drives.
Either way, more then likely something wrong on my end then huh?