I'm tired of hopping on a party button for the game to freeze for a small time when the monsters are spawned, sometimes it's only a few frames, but it's sometimes a second or more, plenty of time to be lethal in some areas. How do I fix this?
Game hangs for a time whenever new mobs spawn. This is rather scary.
I've got an Nvidia card, but an utterly depressing 8500 GT. You can't get a worse PCIe desktop card unless you're getting one with blown capacitors. :|
The rest of the game works decently with the lowest settings, it's only the moments that mobs are being spawned that risk the hiccup, usually from danger room spawns.
I am having the same problem as prezombie. Whenever enemies spawn or there is a lot going on screen the game lags(hangs) for about half a second or so. It is very annoying and is making the game unplayable for me because i die from the lag a lot. You may be saying, "well your computer must suck." Ha, I have a gaming computer that can play Crysis 2 on Very High settings with an average of 50fps. I also know its not my internet since I have 12mb download and 1mb upload speed. This is the only game that this happens on so I know its the game causing the issue. I guess I will give my system specs, so maybe someone can figure out what is going on.
CPU-AMD Phenom II X4 945
GPU-Evga 9800gtx+
RAM-G. Skill 8GB DDR3 1600mhz
Sound Card-Creative: Sound Blaster
OS-Windows 7 64bit: Home Premium
Router-WRT54G linksys router
Notes:I have used the program Fraps to check my fps and it stays at around 50fps, even when the game lags. (which is quite low considering the hardware I have)
Also I run SK using my steam account
and all of my drivers are up to date
Something else I forgot to mention is that this happens on my desktop (which is the specs I just gave), and it also happens on my brand new macbook pro. I know a lot of people have had problems playing this game with linksys routers, so that is the only thing I can think of that would be causing the problem.
If anyone can help figure out what is causing our lag. It would be greatly appreciated because I like this game, but I am almost at the point of giving up playing it because of this lag.
You might alt-tab with the game running and check your task manager. This game appears to only use a single CPU thread and maxes it out to 100% at all times... I am pretty sure this is what is behind my lag, and it sounds exactly like what you're describing. http://forums.spiralknights.com/en/node/16158
Hmm, you maybe right. My game is using 13% of my cpu, and I have 8 threads. So that means it is maxing out one of my threads. Also i noticed that when the game lags my cpu usage decreases a lot in that one thread. Does anyone have a suggestion on fixing this?
I have looked at a lot of threads where people are having lag spikes. Yes, there lag spikes maybe caused by something else, but I would like to think that what is causing this lag is the same thing for all or most of these people who have posted about lag. These threads have been posted from a few days to over a month ago, and in every single thread there isn't a solution on how to fix this. It is quite ridiculous at how many threads have been made (i read about 5+ that were posted within the last month), and not a single one has a solution or has a response from Three Rings that they are looking into how to fix it. From my experience on the forums Three Rings will rarely post to say they are looking into the issue, or post a solution to your problem. My conclusion is that this forum (technical support) is pretty much useless unless a player happens to figure out how to fix the issue.
As far as coming up with a solution I haven't been able to find much. I looked up how to make Java use more than one core, and from my research its impossible (without actually recoding the program) to make Java use more cores. Unless the program that is using Java was coded to use multiple cores. Though, I did find something about making Java use its garbage collectors (or something like that) on a separate cpu than the program using Java.
2 things to keep in mind that I think maybe related to the problem. Java, for the most part, doesn't release memory when its done with it (not the same as a memory leak). In order to recover it, it uses a garbage collection thread to look for dead objects and cleans them up. There are 2 common GC methods.
Minor GC occurs on a regular basis, but only scans in small sections to minimize impact. It also does some house keeping, but I won't go into detail.
Full garbage occurs less frequently, but scans all the memory space to free up what it can. This usually won't occur unless you hit the max limit on the Heap (256MB in SK), and will pause the application until it completes. This is probably the root of the issue given the nature of arenas, etc, in the game.
I've loaded up the JDK, to get the jconsole app, so I can watch heap usage while I play. If anyone else wants to play around with it, you can get it here.
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-downloa...
So far its pretty much what you'd expect. The longer you fight in a level, the memory usage slowly climbs until you hit 256MB and Full GC kicks in. The rate it climbs depends on the amount of monsters you encounter, and I'm curious to see how it works in JK with its massive turn over rate of mini jellys.
Thanks for the info Starlinfv. What you are saying makes sense, but why would this lag only occur to a few people (and from what I can tell only to people who have a gaming rig). Also, do you have any ideas on how we could fix this or three rings could fix it on their part. Like I said earlier I would really like to get into this game, but this lag is really annoying.
There are probably a ton of external factors that might slow it down... AV software being a top suspect since they tend to scrutinize any activity going on in the system. As for multi-threading, I don't think we'll gain anything important considering the potential problems it could cause. The game, for the most part, runs well enough on most hardware, sans ATI.
The simplest way to figure it out is to double the heap size and see how it behaves. I've been trying to figure out a way to do this, but since the JVM parameters are in a file thats subject to a digest check, we can't change anything in it. Have made a couple attempts to bypass the launcher, but I always run into problems rebuilding the arguments. Doesn't help that I've never done any java development either.
Without knowing your system specs.... I'd say upgrade your system and get an nvidia card to save yourself some headaches.
..... but thats, you know, without knowing your system specs. :P