Can you please SQUISH the numbers to reduce lag?

Then… What has squishing numbers has anything to do with amount of calculations? Why you opened this thread? Where do we miss your “smart insight”?

I didn’t open this thread.

Just because I use the same avatar picture, I’m not Bravata.

4 Likes

That guy has so many alts, I can’t keep track anymore. My bad. I was expecting some witty comeback from him, I haven’t even read your name to process it.

2 Likes

No harm done. Keeping up with his alts is a chore for sure.

3 Likes

Let me see if I can answer this question a bit more specifically. Back in the old days of programming, memory was a big issue, so when you wrote a program, you’d specify the size of the number you expected that variable to handle in bits. There were different types and bigger numbers, such as billions or trillions required a bigger allocation of memory. These calculations, also took slightly longer if you had bigger variables.

Modern computers… really anything newer than 1995ish really, and certainly anything you’d buy today, have so much memory and their CPUs are so fast that this is no longer a consideration. There’s more than that, but suffice it to say, even very large numbers being calculated make no effective difference at all in CPU performance.

You spoke about “lag.” It’s a term that often gets used for hangs or other interruptions. It’s true meaning refers only to latency on your network connection between your computer and the server. However, the term often gets used to refer to any slowdown in game performance, which could include CPU or GPU bottlenecking. Since most of D3’s calculations are done client-side on your own computer, there is concern that large numbers slow down your performance. As I explained in my first two paragraphs, they don’t. As I have been informed below, the damage calculations are done server-side to avoid cheating. Your computer and mine do the graphics.

What may affect your performance (and this is seen with Firebird set and Area Damage bonuses right now), is the volume of calculations. Area damage requires MANY calculations to be done with each attack: range, then damage for each mob in range. This may indeed slow down your CPU which can only do so many calculations per second.

That said, to answer your question in the thread title:
Squishing the size of the numbers will make no difference whatsoever in reducing CPU strain. Reducing the number of calculations per second could do so, but only in certain situations like Area Damage being applied rapidly, many times over to a full screen of enemies.

Edited: to hopefully improve clarity;
2nd edit: TIL damage calculations are done by Blizz’s servers, not by the game client.

7 Likes

Modern chipsets work at 64 bit, which means that calculations can be done on INT64 values just as quickly as any other smaller integer size. For reference…

INT64
A 64-bit signed integer. It has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807 (inclusive).

Pay attention to the orders of magnitude difference between the maximum value the variable can hold and the number you’re saying is large…
9,223,372,036,854,775,807
0,000,241,000,000,000,000

May I attempt to demonstrate…

The answer’s 625 by the way.

12 Likes

I would expect the calculations are done with floating point numbers which are just as fasts as int operations with half modern chip sets.
You have a fixed length mantissa and an exponent and the size of the number has no influence on the speed of the calculation.

2 Likes

I am no expert, but the way I see it, what causes the lag is a sound bug.
People literally suggested replacing one of the game’s files with a HotS file with the same name, effectively removing your sound.

All of a sudden, there are no more stutters.

I didn’t found that, it was recommended to me from a friend. Try and google it.

The sound .DLL file is what’s causing the 5-10 seconds lag spikes at the client.

However, huge amounts of Area Damage calculations are done at the server end and that’s what causes lots of problems in high-end GR pushes because the server can’t do the calculations fast enough to supply the results back to the client. That’s got nothing to do with client-side DLLs.

3 Likes

This is exactly what i’m talking about. Why are you the only person other then me that understands how it works. Now if the devs would just understand and squish some of these numbers, maybe we could play some builds without lag.

:rofl:

Apparently, it was a thing that many posters here identified a poster thru an avatar picture and not the forum name here.

1 Like

You don’t understand how it works.
Maybe it’s time for you to claim you also have a Computer Science degree?

3 Likes

Joat contradicted you and pointed out that squishing numbers would not help on modern computers. He said you were wrong.

We just had the Solstice, not April fools.

8 Likes

no you absolutely do not understand how it works.

if they squish the bloated numbers the calculations needed to be process is fewer and thus creates less of a bottleneck and the server can process it in time to not have any lag. this is simple logic. it’s why there’s no lag at GR 25.

Did you even read what Joat said? The computer does not have more calculations based on number size.

Certain mechanics can result in more calculations, but number size is not a factor.

Either you really don’t understand or you just want to argue with people who feel they “need” to prove you wrong - which you already have done yourself quite well.

7 Likes

Reading comprehension is apparently one master’s degree Bravata didn’t receive.

9 Likes

i dont think you guys are following me here. we have a lag problem due to humongous calculations resulting in Giga trillion damage numbers. To solve the lag issue i’m okay with them reducing that down to simple quadruple digits.

i feel like some of you dont even care about the quality of this game.

It has nothing to do with calculation amount. If I’m hitting 100 damage to 10 monsters with 2000 health each, reducing my damage to 50 won’t do anything on the calculation amount as long as combat is going. I’m still hitting 10 monsters and server has to supply the results with each return.
However, dealing them 2000 damage in a snap to signal server to play their death animation right away, will not cause any stagger. In a number crunch scenery, engine limitations for cutting down decimals will stop you if you’re looking for character growth with increased combat pace.

Because they die early to low damage, you can’t replicate the same thing on a 150 scale system. Longer the server-client interaction has to check if an entity is dead or not, or in collateral damage range or not at every tick will cause desynchronization. Even if you crunch everything by certain ratios, the monster density and health scale will result the same lag issues with area damage and damage over time at high GR tiers.
Your limited example is irrelevant in a system where required damage output grows exponentially each tier due monster health and as a result game uses that to heat up combat pace.

If you still insist on your idea then you’re not looking for a balanced crunch but a senseless crush of numbers where combat pace will suffer and increasing stakes will be gone. Something like removing 150 tiers of GRs, the entire end game to limit it down to 40-50 or something. Else, you’re not looking for a crunch for damage output at all but this ignores the filter of developers. At this case, the changes will be silently gloated by botters which their linear scripts can automate everything without any complexity required.

1 Like

OMFG!!! LOOOOL! I nearly choked on my beer. :laughing:

2 Likes

That’s not how computers handle numbers. Most computers calculate things with 64-bit floats which consist of 52-bit fraction, 11-bit exponent and 1-bit sign. It doesn’t matter if the damage is done in thousands or quadrillions, the length of the numbers will still be the same.

edit:

Even if the calculations were done with integers, the number lengths would not change. Different size numbers will have the same length in binary form for calculations.

7 Likes