Would it? :3
Would spiral knights run better if OOO switched to using Directx or OpenGL?
I found this guide on tuning openGL..http://developer.apple.com/library/mac/#technotes/tn2093/_index.html
would following this guide increase the performance when running SK?? MY main problem with SK is that I get graphical spikes and choppy game play.
That's a really more complex question that it appears, I'll try to summarize that from different point of view.
TL;DR is : no it won't
First, from the theoric point of view, would switching to Directx or OpenGL improve performance, all the rest being equals ? There is already 2 factors here :
* first is that you'll probably change language. SK is written in Java, you would probably choose C++ (that's what big games are made with to enable cross-platform and code reuse). Here is a stackoverflow thread talking about it Note that changing language is a BIG time investment, especially if the code was not written considering that (which it was not for sure). That alone would probably improve the performance, all the rest being equals (there is a catch here, read on).
* switching from LWJGL (thanks Dogrock, I didn't know that SK was running on that) to OpenGL would probably not change a lot (a little sure, but hardly noticeable), the reason being LWJGL is a lightweight framework. If that means what I think it means, it does nothing more than binding Java calls to native OpenGL calls (I use a similar framework on another platform to call native functions through managed code, I assume that's the same).
So, in theory, that could improve. Now let's see what it does in practice.
Obviously, the big rewrite would take time. Time not spent optimizing or adding new cools things. But let's pretend they went for that from the beginning :
- they would still have spent more time writing the code. Non-managed code (C++) is takes longer to write than managed code (Java), because it's lower level, in general
- as said Dogrock, you probably wouldn't have Mac/Linux support. Just because OpenGL is cross-platform doesn't mean that everything is (especially mouse/keyboard and network code). I don't know for sure but I bet there are several things that would have required specific OS attention, making it either more complex/costly/time-consuming or Windows-only
- in practice, even in C++, performance is not that easy. There are many many ways to have some C++ code run slower than the Java equivalent. And C++ can crash way more badly than Java, making it harder to debug and potentially dangerous. Again, a stackoverflow thread, the first answer is the relevant one.
So in conclusion, would it ? If they had more time for performance, perhaps. Fact is performance is a trade-off, and as it is, SK performance is good enough for most people, so there is no point trying to improve it, as it would cost too much.
Edit : they don't use OpenGL directly but rather a framework sitting between, that could change some things. Plus, we have no way to know if they develop on Mac (that article demonstrates optimization using Mac-only software). Also, I would bet they already did the most obvious optimizations. As for your problem, either your pc is a little old or you have some other trouble. As I said, it's good enough for most people as it is. Most does not inclue everyone, especially not people with pcs not powerful enough
Thanks for the detailed thread, Fradow.
I'm actually on Mac lion:
Processor 2.4 GHz Intel Core 2 Duo
Memory 4 GB 1067 MHz DDR3
Graphics NVIDIA GeForce 320M 256 MB
I'm trying to do anything I can to improve my Lockdown experience.. Everything is on low settings but the game play is still choppy and spikes happen when Bombers and polaris are spammed :[
I use Mac Lion too. It's really annoying when I am playing, I start getting these lag spikes going fro 3-4 to 1 bars... I really wish OOO could improve the performance. >.< I'm tired of lagging really bad and I can't dodge the enemies, then I die.
"I start getting these lag spikes going fro 3-4 to 1 bars"
Unless I'm mistaken, those bars measure the latency of your connection to the SK servers. So it's not really about your computer, or how optimized the software is. It's more about the quality of your Internet connection, and your proximity to the SK servers.
No problem Tmdals.
First on Macs, I'm pretty sure the JVM (Java Virtual Machine) is slower than on Windows. I can't find any relevant link there, so you'll have to trust me or run tests yourself (that doesn't mean you would have better results using Bootcamp : I tried and I think the graphics drivers are somewhat bad, as I didn't have better performance).
Second, your Mac is not really geared for games : the GeForce 320M is a low-end graphic card (that's what is the most important for games, by far) : it has shared video memory (which is bad). More infos here.
@Orngeblu Bopp is true, you are confusing lag and graphics performance
Graphics performance are tied to your computer and exprimed in FPS (frame per second) : it is how many frames your graphic card is able to render per second (in games, unless you have a really unbalanced computer, the graphic card is going to be the bottleneck most of the time). OOO can improve that by optimizing SK performance.
Lag is tied to your internet connection and exprimed in ms (milli-seconds) : it's the time it takes for information to go from your computer to the server and come back. There is no way OOO can improve that except adding a server closer to your house. There are already 2 locations, in Europe and in the US, so unless you are on another continent, it's not going to happen.
I think his video is not the issue, this game runs good enough even on my old Radeon x1050 which is significantly slower then Gf 320M. In my experience everything that runs on java code doesn't have a satisfying performance, no matter the computers power... One of the good things though is that java based games are very hard to hack, thats why there is almost no hackers here.
Short answer. SK already using OpenGL, so the answer is "no".
Long answer. On Windows, GPU manufacturers may have their own bias to favour D3D over OpenGL in their driver development. As a result, D3D may perform better but it is a YMMV (Your Mileage May Vary).
I've had problems too, if anyone can tweek the java on macs, I would love to hear from you. Also, high five mac-bro/sis.
direct x runs only on windows its not multiplatform, i think it die soon.
to your question:
with direct x the game dont run faster.. it dont run at all..
edit:
i'm on linux and i run sk on 1920x1080 high details with no problems. i have low end geforce 550ti and my other computer parts are 6 years old (intel dual core lol;) my loading times are fastest ewer:)
mac is like linux, (u pay for eycandy, but ewerything else is same;) so i bet u can make run sk on mac without problem.
one importnant think: u need nvidia gpu, cause intel and ati gpu drivers on mac/linux/opengl is crap.
"direct x runs only on windows its not multiplatform, i think it die soon."
You sir, made my day. No, Direct X isn't going to die. Game industry invested so much time building on top of it that it isn't going to disappear any time soon.
"with direct x the game dont run faster.. it dont run at all.."
Duh. Obvisouly, he was talking about a rewrite of the game using DirectX....
SK already uses OpenGL. There's no guarantee DirectX would be better. Though it would come at the cost of no Mac/Linux support or the increased development workload of working in tow different APIs at once.
The point is kinda moot though since it appears that the LWJGL (pretty big staple of SK's guts) doesn't have any real support for DirectX anyway.