Performance tweaks for the game

186 replies [Last post]
balamacab
Legacy Username

Hi, I really liked the game and been playing a lot lately.
Last time I check what could i do to optimize the game performance. given that the game is java base there is a lot to improve over the stock configuration using some esoteric java parameters.
My current configuration is a windows 7 pro x64 and when I'm gaming I like to dedicate the full system to gaming so I try that the game use all the resources my machine has to offer and maximize the performance.

1. (apply only to x64 systems) Download an install Java JRE for x64 bit systems, this would allow the game to maximize the RAM it use and exceed 2GB barrier if it needs.
2. I modify the Spiral Knights shortcut and add a few parameters to the program start up. Right click in the Spiral Knights shortcut-->properties
3. if you are using x64 system and had installed the x32 java run time binaries, change the path of the javaw.exe program to point to the x64 one
From "C:\Program Files(x86)\Java\jre6\bin\javaw.exe" to "C:\Program Files\Java\jre6\bin\javaw.exe"

Form here on apply to 32 and 64 bit, and please include the "." at the end of the launch parameters

4. Make the java program start in server mode, it will take longer to start but after that the game performance would improve because it will optimized procedures for java programs, to start in server mode add -server after the javaw.exe
"C:\Program Files\Java\jre6\bin\javaw.exe" -server -jar getdown-pro.jar .

5.Force the game to use A LOT of your system RAM, here i tell the game to start up using 1GB up to 4GB (but i know 4GB it's overkill), if you use a x32 bit system you can give the game maximum 2GB
"C:\Program Files\Java\jre6\bin\javaw.exe" -server -Xms1g -Xmx4g -jar getdown-pro.jar .

6. Change the way the java garbage collector works and minimize the small random lockups the game had while playing (incremental garbage collector).
"C:\Program Files\Java\jre6\bin\javaw.exe" -server -Xincgc -Xms1024m -Xmx2048m -jar getdown-pro.jar .

7. Use opengl rendering if you're using an old graphic card.
"C:\Program Files\Java\jre6\bin\javaw.exe" -Xverify:none -Dsun.java2d.opengl=true -XX:LargePageSizeInBytes=4m -XX:+AggressiveOpts -XX:CompileThreshold=2 -server -Xincgc -XX:+UseParNewGC -Xms1g -Xmx4g -jar getdown-pro.jar .

8. I add some additional tweaks for java, I end up with
"C:\Program Files\Java\jre6\bin\javaw.exe" -Xverify:none -Dsun.java2d.accthreshold=0 -XX:LargePageSizeInBytes=8m -XX:+AggressiveOpts -XX:ReservedCodeCacheSize=128m -XX:CompileThreshold=1800 -server -Xincgc -XX:+UseParNewGC -Xms1g -Xmx4g -jar getdown-pro.jar .

I hope this helps people, specially the opengl one, bacause old cards are better at handling opengl that d3d

Dogrock's picture
Dogrock
7. Use opengl rendering if

7. Use opengl rendering if you're using an old graphic card.

This game only uses OpenGL for rendering, there's no need to force it.

balamacab
Legacy Username
Good to know :)

Good to know :)

Stardrinker
Legacy Username
Thanks balamacab, 6. Change

Thanks balamacab,

    6. Change the way the java garbage collector works and minimize the small random lockups the game had while playing (incremental garbage collector).

This is probably the biggest one I see here. Many people would be happy to get rid of the constant short pauses and if this really does fix it then I'm glad we can finally do something to address it.

Volebamus's picture
Volebamus
Just making sure I understood

Just making sure I understood all those switches, did you effectively just combine them to form that last line? If so, can I just copy and paste that line as the shortcut's path, given that my javaw.exe is in the same location?

BiggestLoser
Legacy Username
Zelda
balamacab
Legacy Username
Yup, there the place i take

Yup, there the place i take them from.... http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102....
The last one is the one I'm using, more switches could be added but the i had to make a bat file to run it.
Those are the ones i see have good impact to the game performance (subjective matter).... I don't know hot to see the actual fps of the game to give a definitive answer, but load times are a lot faster and overall performance better (no random lockups)

Volebamus's picture
Volebamus
Sounds awesome. I was

Sounds awesome. I was figuring there was some way to optimize the game through changing settings somewhere, I just never thought about switches on the shortcut itself.

Hah, and even if I did, I know nothing about Java switches to end up where you got lol.

Tipiak's picture
Tipiak
Just a side note for mac

Just a side note for mac users, the file to edit is:
/Applications/Spiral\ Knights.app/Contents/Info.plist
under the key VMOptions

not that I felt much change after the edits, but...

OnmyojiOmn
Legacy Username
I was hopeful about -Xincgc,

I was hopeful about -Xincgc, but it doesn't do much. I get noticeably better fps with the 64-bit JRE, but significant loading lag every time an enemy or animation is loaded.

keenmachlne
Legacy Username
Is there some additional java

Is there some additional java software I need to download to attempt these fixes? I get errors when altering the launch path. Running on vista, 32bit.

Mostly just wanted to try the stutter fix

I try the -server add on line, it gives me "Error: No Server JVM at C:\Program Files\Java\jre6\bin\server\jvm.dll"

I try the -Xincgc -Xms1024m -Xmx2048m stutter fix and I get "Could not create the Java Virtual Machine"

Trouser's picture
Trouser
@Tipiak

My Info.plist has no such key, and I see little indication that it would be honored. It appears to be set to just run Contents/MacOS/Script, which has the command line switches hardcoded. Maybe it differs by OS version, or how SK was installed?

BiggestLoser
Legacy Username
Zelda

well i wasnt trying to show the source, but the danger that is involved for unexperienced ppl such as me

"Options that are specified with -XX are not stable and are not recommended for casual use. These options are subject to change without notice."

everything on that list has a -XX

balamacab
Legacy Username
Hmmm... i'll try to find a 32

Hmmm... i'll try to find a 32 bit machine and test them there...

try and change to -Xincgc -Xms512m -Xmx2g

balamacab
Legacy Username
the -XX parameters I take

the -XX parameters I take them from the SUN (Oracle) online documentation for the Java runtime. At least for JAVA6 they are valid

balamacab
Legacy Username
Change to the command line.

Answering the issue OnmyojiOmn report.. some research shows that the sweetspot for the -XX:CompileThreshold=2 is actually -XX:CompileThreshold=1800

So the shortcut end up

"C:\Program Files\Java\jre6\bin\javaw.exe" -Xverify:none -Dsun.java2d.accthreshold=0 -XX:+AggressiveOpts -XX:ReservedCodeCacheSize=128m -XX:CompileThreshold=1800 -server -Xincgc -XX:+UseParNewGC -Xms1g -Xmx4g -jar getdown-pro.jar .

This is the page that shows the 1800 magic number (is a google translate from a japanese page).

http://translate.google.com/translate?u=http%3A%2F%2Fd.hatena.ne.jp%2Fhi...

I hope this helps with the monsters animation lockup.

Lufte's picture
Lufte
Trying it. For Linux users,

Trying it. For Linux users, the file to edit is the script "spiral" inside the installation dir.

If step 6 works I love you.

Stele
Legacy Username
Steam Version?

Any way to do any of these tweaks on the Steam version? On Win 7 x64, and I have the 64-bit JRE installed, but don't see any way to make Steam see that.

ScareCrow18
Legacy Username
On a Mac?

Does anyone know if you can make similar changes like this on a Mac running OS X? It would be awesome if I could do something similar to reduce the occurences of lag and stutter when I activate a danger room full of monsters

Katmint's picture
Katmint
hi

Never mind, I got it working. :P

Haven't had time to go into clockworks, but I do notice the mineral deposit comes up instantly instead of taking 5 seconds. :P

I'm not running with the increased GB parameters though, seeing as I have less the 1 GB RAM on my system, there's barely enough memory to run SK as it is. :x

Craziplaya21
Legacy Username
So is there any way to do

So is there any way to do this with the Steam version?

viper901
Legacy Username
Is there anything like this

Is there anything like this available for playing through steam on a mac?

OnmyojiOmn
Legacy Username
I tried out the command line

I tried out the command line from reply #15, and it works great. Noticeably better fps than when I run the game through the 32-bit JRE, and I don't get that predictable pause whenever new artwork is loaded. The screen did freeze a few times over the course of a run, for a just a second, but I'm not sure whether that's a network issue.

Tipiak's picture
Tipiak
@ScareCrow18 see my answer

@ScareCrow18 see my answer and Trouserman's answer...

All the macs I've installed the game on have the Info.plist call java and thus can set VMOptions, but it appears to depend on the way you installed the game...

Starlinvf's picture
Starlinvf
To apply the tweks to Steam,

To apply the tweks to Steam, you need to do 2 things different. The steam version uses an included java package instead of the system one. So you need to install java into the system and then move them into the steam version of Spiral Knights.

Java: C:\Program Files\Java\jre6 (default for 64-bit Windows)
SK java: C:\Program Files (x86)\Steam\steamapps\common\spiral knights\java_vm

Secondly, you add the switches to the launch options though the steam library on the Spiral Knights shortcut.
- Right click, Properties, General Tab, Set Launch options
- exclude "-jar getdown-pro.jar" since its already coded into the shortcut

I can't find the description for XX:+UseParNewGC or is it supposed to be -XX:+UseParallelGC ?

zomgbeez
Legacy Username
@starlinvf

I tried to copy the bin folder from C:\Program Files\Java\jre6 to C:\Program Files (x86)\Steam\steamapps\common\spiral knights\java_vm of steam on to get an error.

How would i properly install the java in to the steam folder? also would i be including " -Xverify:none -Dsun.java2d.accthreshold=0 -XX:LargePageSizeInBytes=8m -XX:+AggressiveOpts -XX:ReservedCodeCacheSize=128m -XX:CompileThreshold=1800 -server -Xincgc -XX:+UseParNewGC -Xms1g -Xmx4g" to the launch options as well?

thanks in advance!

Starlinvf's picture
Starlinvf
The binaries in the 64-bit

The binaries in the 64-bit java don't seem to work with the Steam install of spiral knights. I've been tooling around, but I can't figure out whats wrong.

Starlinvf's picture
Starlinvf
Need Dev feedback

This issue with Steam is going to need dev feedback. I'm able to get 64-bit binaries to launch the game using the resource files from a steam install using a batch file ("C:\Program Files (x86)\Steam\steamapps\common\spiral knights\java_vm\bin\javaw.exe" -jar getdown-pro.jar .) The game launches, but lacks the Steam login options.

If I try to launch it through steam, the javaw.exe never appears to execute (or terminates so fast resource monitor never sees it). Same thing happens if I add an improper switch to the batch file I made. I suspect steam is handing additional switches at launch, and something isn't compatible, leading it to quit before doing anything.

zomgbeez
Legacy Username
sigh

shame i cant convert my steam account to a normal account then.

thanks for the input tho!

Stardrinker
Legacy Username
6. Change the way the java

    6. Change the way the java garbage collector works and minimize the small random lockups the game had while playing (incremental garbage collector).
    "C:\Program Files\Java\jre6\bin\javaw.exe" -server -Xincgc -Xms1024m -Xmx2048m -jar getdown-pro.jar .

Upon further testing, this doesn't seem to have any effect on the stuttering.

tleilaxu
Legacy Username
@starlinvf

@starlinvf:
Have you tried putting the switches in Steam's
Right-click the game in your library-->Properties-->Set Launch Options?

prjdgmr
Legacy Username
@starlinvf

@starlinvf

If I try to launch it through steam, the javaw.exe never appears to execute (or terminates so fast resource monitor never sees it). Same thing happens if I add an improper switch to the batch file I made. I suspect steam is handing additional switches at launch, and something isn't compatible, leading it to quit before doing anything.

Indeed it does. They're in the getdown.txt file, and thus processed before any launch options you had on (though for me, I only had one option, -Xmx, which conflicted...and I simply had a message when I logged onto a character saying "Unknown command -Xmx1024m" or something like that for me). For convenience, though, here's the main one you might have wanted different options for:

-Xmx256M

And, if you edit getdown.txt or digester.txt, they'll get redownloaded as they fail validification....so, yeah, I'm not seeing a way to change that right now. However, I'm not sure what was causing it to not load for you.

Edit: Also, forgot to mention, that even running it with all the command line stuff from the getdown.txt (the command line options are also in the launcher.log file), it still doesn't launch via steam, so you can't do steam login that way.

Craziplaya21
Legacy Username
@prjdgmr Wow, it is really

@prjdgmr

Wow, it is really such a shame that this does not work for Steam =/

LobsterHime
Legacy Username
These are Command Lines. I need them to command.

Randomly setting runtime flags based on a poor understanding of the Java VM is a great way to cause unexpected bugs. However, all you've collectively managed to do is figure out how to make the updater run REALLY FAST!!1! (except not really since the updater is most likely network-bound which the memory tweaks suggested will not help). None of the command line changes mentioned will have any effect on how the game itself plays. The only exception is specifying a 64-bit JVM instead of the default 32-bit JVM; the updater seems to use the same JVM it was called by to run the actual game software.

The game can be launched directly with specific VM flags but it's still not a good idea. prjdgmr's post mentions the JVM options in getdown.txt. This is proof that OOO's software engineers made a conscious decision to set runtime flags that they wanted clients to use. Chances are, you are not smarter than OOO's developers. There are better avenues to suggest features and report bugs if you really think the garbage collection stalls need to be addressed.

If you still think you're smarter than OOO then be warned that doing so may get you in trouble. Using a custom command line to run the game with tweaked JVM flags can easily lead to a version mismatch between your local client files and a more recent update. It's not up to my interpretation to decide if this is in violation of the Terms of Service (restriction #13). Again, I would personally advise to err on the side of caution and not attempt it in the first place.

OnmyojiOmn
Legacy Username
@LobsterHime

I'm sorry for being confrontational, but you don't know what you're talking about. I'm not saying anyone else in the thread necessarily does, but what you posted is pretty silly. These are arguments for the VM the client runs in. The updater is the first thing that runs, but the rest of the game does run in the same VM, so the arguments can and do apply to the game itself. It's a performance tradeoff at best, but it's noticeable.

"Using a custom command line to run the game with tweaked JVM flags can easily lead to a version mismatch between your local client files and a more recent update. "

No. These arguments have to do with memory and garbage collection. At worst they'd just make the game run slowly. None of this has anything to do with how files are accessed.

"Again, I would personally advise to err on the side of caution and not attempt it in the first place."

Lulz.

- They tried and failed?
- They tried and DIED.

Stardrinker
Legacy Username
I actually just tested this

I actually just tested this out and it seems like adding the extra arguments don't do anything if the "-jar getdown-pro.jar ." is included.

As of this post, the current command line used is:

    -classpath [InstallDir].\code\config.jar;[InstallDir].\code\projectx-config.jar;[InstallDir].\code\projectx-pcode.jar;[InstallDir].\code\lwjgl.jar;[InstallDir].\code\lwjgl_util.jar;[InstallDir].\code\jinput.jar;[InstallDir].\code\jshortcut.jar;[InstallDir].\code\commons-beanutils.jar;[InstallDir].\code\commons-digester.jar;[InstallDir].\code\commons-logging.jar -Dcom.threerings.getdown=true -Xmx256M -XX:+AggressiveOpts -XX:SoftRefLRUPolicyMSPerMB=10 -Djava.library.path=[InstallDir]./native -Dorg.lwjgl.util.NoChecks=true -Dsun.java2d.d3d=false -Dappdir=[InstallDir]. -Dresource_dir=[InstallDir]./rsrc com.threerings.projectx.client.ProjectXApp

[InstallDir] is where you installed the game, naturally. If you make a batch file (too long to use in a shortcut) and add these arguments (e.g. -server, -Xincgc) then it will work.

Example Batch:

    @echo off
    CD /d "[JavaDir]"
    start javaw.exe -server -Xincgc -classpath [InstallDir].\code\config.jar;[InstallDir].\code\projectx-config.jar;[InstallDir].\code\projectx-pcode.jar;[InstallDir].\code\lwjgl.jar;[InstallDir].\code\lwjgl_util.jar;[InstallDir].\code\jinput.jar;[InstallDir].\code\jshortcut.jar;[InstallDir].\code\commons-beanutils.jar;[InstallDir].\code\commons-digester.jar;[InstallDir].\code\commons-logging.jar -Dcom.threerings.getdown=true -Xmx256M -XX:+AggressiveOpts -XX:SoftRefLRUPolicyMSPerMB=10 -Djava.library.path=[InstallDir]./native -Dorg.lwjgl.util.NoChecks=true -Dsun.java2d.d3d=false -Dappdir=[InstallDir]. -Dresource_dir=[InstallDir]./rsrc com.threerings.projectx.client.ProjectXApp

[JavaDir] is where your java executables are.

prjdgmr
Legacy Username
~

It does run, Stardrinker, it just wasn't launched by Steam....meaning that you can't login if you use your Steam account to login. Using the "Set Launch Options" as tleilaxu pointed out, you can add the options like -server and -Xincgc, you just can't change/replace the -Xmx256. That was the point I was trying to make.

@LobsterHime: I'm sorry, but it's hard not to come off as confrontational with the way you were saying things there. Perhaps try using a less condescending tone next time...I tend to run into the same problem myself when posting.

Firstly, as OnmyojiOmn said, they do affect the game, not just the updater. Otherwise, when I had the -Xmx1024m in the launch options that was treated as unknown due to the -Xmx256M earlier in the launch line, it wouldn't have given me an error message below my characters after the steam login, and said "Unknown command -Xmx1024" or something close to that in the chat after I chose my character.

Secondly, no, I'm not nearly as well versed in Java as the OOO software engineers. However, from what I can tell, it seems to me that the -Xmx256M option was based off the minimal system requirements...and I think I know my system's specs fairly well. Also note that my observations are based the Steam version only; I haven't downloaded SK seperately, but I'm pretty sure there isn't something identical setting these flags for players not running the Steam version. Feel free to prove me wrong on this, though.

Last thing that I want to point out is that I doubt the -Xverify=none or anything else shown in the first post is going to somehow disable the verification/updating of local files, so I don't see any properly grounded fears of a version mismatch. Even if there was a version mismatch somehow, it's likely that you wouldn't even be able to log on. Furthermore, the only action in this thread that came anywhere close to violating 6.13 of the ToS that I've seen was when I tried to alter getdown.txt and digester.txt trying to circumvent the preset flag of -Xmx256--which were both caught by the validation process and replaced by the updater. (Unless trying to use a more appropriate jre than the java vm that came with the steam download is an issue for some reason)

Shoebox's picture
Shoebox
I heard there was a nasal

I heard there was a nasal spray to help increase performance.

Kaybol
Legacy Username
Setting the

Setting the -XX:CompileThreshold=1800 option made the game nearly unplayable for me. It was freezing about every 10 seconds, unlike only when a batch of monsters spawns.

YMMV with these performance tweaks.

edit: it was actually the switch to 64-bit Java, no matter that I'm on a 64-bit laptop.

Stardrinker
Legacy Username
It does run, Stardrinker, it

    It does run, Stardrinker, it just wasn't launched by Steam....meaning that you can't login if you use your Steam account to login. Using the "Set Launch Options" as tleilaxu pointed out, you can add the options like -server and -Xincgc, you just can't change/replace the -Xmx256. That was the point I was trying to make.

The thing I wanted to point out was that just setting things like -server and -Xincgc won't stick if you don't launch it the long way, as per my above post. If the "-jar getdown-pro.jar ." is there then any other arguments are ignored. This info is from testing the stand-alone version of the game, I assume the same problem would exist with the steam version as well.

And you can actually replace the -Xmx256m but it means you have to use the batch method. If you look at the arguments in the long version in my post, you'll see that it's been manually set there.

prjdgmr
Legacy Username
~

Ah, sorry, my bad then. I was focused on trying to get Steam to launch it, since I converted my account to login via Steam, and hadn't taken a look at the stand alone version of the game yet.

If you login to your Spiral Knights account via Steam login, then the batch as you have in your post doesn't work, is what I meant. Spaced out, this is what I had tested with, and it looks the exact same as the batch you put (also the same as how it's shown as launcher.log, except that launcher.log replaces . with [InstallDir].):

C:\Program Files (x86)\Steam\steamapps\common\spiral knights>.\java_vm\bin\javaw.exe
-classpath .\code\config.jar;.\code\projectx-config.jar;.\code\projectx-pcode.jar;.\code\lwjgl.jar;.\code\lwjgl_util.jar;.\code\jinput.jar;.\code\jshortcut.jar;.\code\commons-beanutils.jar;.\code\commons-digester.jar;.\code\commons-logging.jar
-Dcom.threerings.getdown=true
-Xmx256m
-XX:+AggressiveOpts
-XX:SoftRefLRUPolicyMSPerMB=10
-Djava.library.path=./native
-Dorg.lwjgl.util.NoChecks=true
-Dsun.java2d.d3d=false
-Dappdir=.
-Dresource_dir=./rsrc
com.threerings.projectx.client.ProjectXApp

The game will load up, but because it wasn't launched via Steam, there is no Steam overlay or ability to login with a steam account. If you launch it via Steam, you can login with your Steam account, but the -Xm256m will still have gone through because it was in the getdown.txt file, and arguments in that file are considered first.

Options like -server and -Xincgc should work via the "Set Launch Options" in Steam; with them set in steam, they are added to the launcher.log line showing all the launch options...however, I don't consider my internet connection here to be good enough to reliably play the game, so I haven't noticed any difference from those options yet.

Lufte's picture
Lufte
Stardrinker's method doesn't

Stardrinker's method doesn't work for me under linux. I correctly repaced [InstallDir] but it returns permissions error.

Nevermind, I got it working.

Reactbank
64-bit Java would be really

64-bit Java would be really good but I guess we Steam users just have to wait for a further solution to that.

LobsterHime
Legacy Username
Round 2

@OnmyoujiOmn
Thanks for your excellent post based on careful research, as always.

Your argument is strongly supported by the contents of getdown.txt, launcher.log, and comments of other posters in this thread such as Stardrinker. Oh wait, all of those disagree?! How does it feel to be wrong?

My interpretation of the contents of getdown.txt and launcher.log taken in the context of digest.txt goes something like this:

  • standard Spiral Knights shortcut executes getdown-pro.jar which downloads the latest getdown.txt from the Spiral Knights servers
  • some code in getdown-pro.jar compares md5 hashes of locally stored content with the server's versions of the files (crossreferencing digest.txt)
  • if necessary, getdown-pro.jar downloads new versions of those files (including a new getdown-pro.jar)
  • ~filesystem magic~
  • getdown-pro.jar reads the JVM arguments for the game client and executes a new JVM instance

By using Stardrinker's method of adding JVM flags to the game client, you are bypassing the automatic update process which can very easily lead to version mismatch. If you really want to be right, then sure, "these arguments" you were referencing do not affect what files are used because I chose not to divulge the full command line required to modify JVM's memory management settings for the game client. You win!

@prjdgmr
I could be wrong about the command line arguments passed to getdown-pro.jar having no effect on the game client, but you're gonna have to give better evidence than a half-remembered anecdote (which you may or may not be able to replicate). The evidence from the launcher itself does not agree with your story.

I believe that you know your system specs well, I really do, but you seem to have the idea that since you have 4 gigabytes of memory (maybe, I don't know your specs), a program using only 500MB is not at Max Performance. So you've figured out a huge command line with Performance settings you copy/pasted from the Internet and now your game has taken the full 4 gigabytes of memory. High Performance Computing at its finest! You win too! (btw, i'm posting this from Firefox 2; just thought i'd mention that)

-Xverify=none deals with how the JVM loads class files, not with how the update or game client deals with their data files. Why would you use a command line flag posted on a public forum of non-experts without double-checking what it does? That sounds pretty dangerous to me. Maybe I'll elaborate on that in another post if this thread continues to entertain me.

OnmyojiOmn
Legacy Username
:X

Just going to admit I was wrong and back quietly out of this thread.

Stardrinker
Legacy Username
I believe that you know your

    I believe that you know your system specs well, I really do, but you seem to have the idea that since you have 4 gigabytes of memory (maybe, I don't know your specs), a program using only 500MB is not at Max Performance. So you've figured out a huge command line with Performance settings you copy/pasted from the Internet and now your game has taken the full 4 gigabytes of memory. High Performance Computing at its finest! You win too! (btw, i'm posting this from Firefox 2; just thought i'd mention that)

Increasing the limit past 500 MB will improve performance (meaning it wasn't at max performance to begin with), provided that the game can utilise it, which it can.

    Oh wait, all of those disagree?! How does it feel to be wrong? Maybe I'll elaborate on that in another post if this thread continues to entertain me. You win!

You should get out of this habit of responding with snide remarks. You want to assert your opinion that you are superior to the people on this forum with your snobbish undertones but then you stoop to such low levels to express it.

prjdgmr
Legacy Username
~

tl;dr: I see I was wrong. Thanks for pointing out the areas I was wrong, but again, please try to watch the condenscending attitude.

@LobsterHime

Ah, thank you for posting examples that demonstrate to me what you're saying. I will admit that you knew what how things worked better than I did; in part due to the fact that I never went farther than "Did that command line work? Yup, it brought the game up, but I can't login via Steam, so now I'll close it." I will of course concede the point on the version mismatch.

On the command line arguments working: I have to say that you were right, and while I did have evidence, it wasn't appropriate to be used in that argument. My evidence was based on using the "Set Launch Options" in Steam (any options added there are added to the end of the line which, as you have enlightened me to, getdown-pro.jar uses to launch the game with, as logged in launcher.log).

On -Xverify: You have a good point, and I wouldn't use an option like that without double checking it. However, I never intended on using it, so I never looked it up. And, as above, I had less of an understanding in what you were referring to, so that was the only thing I could think of that you may have been referring to. The only options listed in this thread which I ever intended on using were -Xinc, -Xmx/ms, and -server.

In regards to performance: As much as I have gotten used to some games giving me performance troubles if I try to run them with high settings, because I'm on a laptop with only 2 gigs of ram...I do at least know that I shouldn't be getting client-side lag that constantly with the graphics settings as low as I can get them. Even if -Xmx512m isn't a huge increase, I do feel it would at least be better than lagging every time a wave of more than 10 monsters spawns (Danger rooms and Arenas especially), and then at least 1 more time before I even finish the wave.

On entertainment: I have a deck of cards, would you like to play some poker? I don't really have a good poker face, though.

Lufte's picture
Lufte
I got it running under linux.

I got it running under linux. Now I am effectively running the game with the incremental GC and a cap of 900mb of memory (I can confirm this by using Sun's VisualVM). I will post my results after some further testing.

Starlinvf's picture
Starlinvf
Ok mystery solved on the

Ok mystery solved on the Steam 64-bit issue. The problem is a conflict with the Steam overlay causing it to crash on launch. Apparently its already well known, and disabling Steam overlay lets you run the game perfectly (minus the UI)

Dogrock's picture
Dogrock
Good find starlinvf.

Good find starlinvf. I just copied in my Java 64-bit in my steam account and Spiral Knights fired right up once the overlay was disabled.

zerkenos
Legacy Username
I dont get it :(

@Stardrinker, I dont get how to use your example batch, could you kindly explain?

Example Batch:

@echo off
CD /d "[JavaDir]"
start javaw.exe -server -Xincgc -classpath [InstallDir].\code\config.jar;[InstallDir].\code\projectx-config.jar;[InstallDir].\code\projectx-pcode.jar;[InstallDir].\code\lwjgl.jar;[InstallDir].\code\lwjgl_util.jar;[InstallDir].\code\jinput.jar;[InstallDir].\code\jshortcut.jar;[InstallDir].\code\commons-beanutils.jar;[InstallDir].\code\commons-digester.jar;[InstallDir].\code\commons-logging.jar -Dcom.threerings.getdown=true -Xmx256M -XX:+AggressiveOpts -XX:SoftRefLRUPolicyMSPerMB=10 -Djava.library.path=[InstallDir]./native -Dorg.lwjgl.util.NoChecks=true -Dsun.java2d.d3d=false -Dappdir=[InstallDir]. -Dresource_dir=[InstallDir]./rsrc com.threerings.projectx.client.ProjectXApp

I get the [JavaDir], but I dont get how find the [InstallDir]. Is it like -jar getdown-pro.jar , C:\Program Files\Spiral Knights, C:\Program Files\Spiral Knights\getdown-pro.jar, C:\Documents and Settings\Administrator\Application Data\spiral or C:\Documents and Settings\Administrator\Application Data\spiral\getdown-pro.jar?