Wednesday, May 13, 2015

Deserok , Dec 28, 2013


If you're looking for help-related things (for example, the key rebinding tutorial ), please check the FAQ and Q&A forum ! A lot of the stickies from this forum have been moved there to clean up space.
CPUs are really designed for logical operations and integer calculation. ultraslim formula In fact what does most of the math, especially floating point math in CPUs didn't even start out as part of the CPU. You used to have have a chip independent of your CPU to do all that. Now they are all integrated into modern CPUs but keep in mind that CPUs still suck at calculations. That's why there's all these PhysX, CUDA, GPU acceleration stuff. Mostly just because GPUs are MUCH faster at floating point calculations, but usually harder to program for. However as a programmer, it is tempting to just always use floating point. because it can handle negative and positive number with a huge range. And it is easy to tell when a programmer has been lazy just spamming it everywhere and not care about execution performance, all because of this explosion in hardware performance in the past few decades. Player health and energy are in Double precision float, that's a range between PLUS OR MINUS to the POWER of 1000 Yes, one THOUSAND. The same is true for other monsters. Why is this needed? why can't they just be 4 bit integer? is 4 billion not big enough for your lv.10 boss? Well then how about give it multiple health bars like old arcade games? Instead of doing this slow floating point thing for EVERY MONSTER? that same value is then converted multiple times between single and double precision while the game runs and while treating damages and save files. I mean if you're ultraslim formula gonna use single precision at some point, what's the point of having double precision? Wouldn't it just bottleneck? Your ship's fuel is converted into floating point in order to calculate ultraslim formula the length of that bar on the starchart or fuel panel. Do we really need that much precision? Like would anybody be bothered if their fuel is 500.3 and the bar isn't SLIGHTLY longer than half? Oh yea I'm sorry, you CAN'T HAVE decimal fuel values! ultraslim formula NEVER MIND! weapon damage, and fire time are also stored in double precision floating point. But the weapon tool tip shows them in integer, which obviously requires some computation and conversion. ultraslim formula But then the character panel shows the value in what seems to be half precision floating point. yet another separate conversion and computation. Again, is this necessary? the game engine itself is just incredibly serial and not optimized for multi-core CPUs everybody uses today. Most obvious example is when you click connect in Multiplayer and the server doesn't respond, the game will freeze until it times out. Why can't that be on a separate thread? The same can be seen when you have a really big recepie list. The game will freeze when you open your craft menu, and when you do searches. The search algorithm is bad and buggy yes but it should be on a separate thread so it doesn't clog up the game thread while you're doing searches? many of the static ultraslim formula values in game are constantly updated and calculated, like current zoom level, your health and energy even when at max. Your breath and warmth level are ALSO in floating point! PLEASE IT DOESN'T HAVE TO BE THAT PRECISE! many values and information needed by the game appear multiple times as identical copies in the memory. Things like current health/energy, player name, player UUID, item name and their information... etc... ultraslim formula A game like this should not take more than 500mb of memory if properly optimized. Do not reply with the following response: It's in beta and it will be optimized I know it is, and this isn't a problem with optimization . the engine is designed ultraslim formula with these flaws and you cant fix them easily. It runs fine for me It's a bad habit to be wasteful regardless of whether or not you have the performance to run all the junk code. Besides, most people do not, it gets really choppy with just a few thousands sprites on screen.
you just called the programmers lazy and claim to know better than they how the game should be developed. why dont you apply to work for chucklefish then wiseguy? ultraslim formula
It ultraslim formula is still beta. They already said there is much to be optimized. Also, it doesn't really matter to use double or floating or even integer, as todays cpu are more than good enough to handle all this. If you are experiencing high cpu load it is mostly due to graphics being rendered on the cpu (it's common to do this in the early stage of a game). And yes, it IS A BETA - BETA BETA BETA!
I donno, I agree with the guy, regardless of the tone of the post. I don't know much about programming, but he supplies relevant information and the reasons why they're a problem. An A+ in my book, I don't need him to whisper sweet nothings while he does it.
Deserok , Dec 28, 2013


No comments:

Post a Comment