• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Patch 1.30.1 PTR Update

Status
Not open for further replies.
Level 16
Joined
Mar 27, 2011
Messages
1,349
Large address aware has been enabled allowing the client to use up to 3GB of memory on some machines

This is an interesting change. I remember some versions of Legion TD use to fill up the 2GB of RAM so this change could offer some performance increases. I hear 32 bit apps can use 4GB RAM on a 64 bit OS. Why did they stop at 3GB?

Source: Chat Question: Memory Limits for 32-bit and 64-bit processes
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
so this change could offer some performance increases
No it will not increase performance at all. It will prevent Warcraft III from crashing when it hits 2GB of virtual memory allocated when running on 64bit Windows OS by deferring the crash until around 4GB of virtual memory space is used. Warcraft III might still crash when it hits 2GB of virtual memory allocated when running on 32bit OS but it might also run until at most 3GB when it will certainly crash.
Memory Limits for Windows and Windows Server Releases

If 32bit OS allow this to happen by default is not clear, and certainly was not the case for older server OS that needed 4GT enabled. In 64bit OS this is a non concern and Warcraft III should be able to allocate virtual memory up to 4GB unless some other limit exists on using 1GB of the virtual memory space.
I hear 32 bit apps can use 4GB RAM on a 64 bit OS.
When built with large address aware they can use up to 4GB of RAM as described in the above link.
Why did they stop at 3GB?
The above link explains. Technically on 32bit OS, which Warcraft III still supports, it will be limited up to (but possibly less) 3GB. On 64bit OS it should be limited to 4GB unless something reserves part of that range.

This is pretty much slapping a bandage on running into the memory limits. The correct solution would be to drop 32bit support entirely and only support 64bit like all modern Blizzard games. 64bit applications are by default large address aware (yes this is a thing for them as well!) and will support a virtual memory space so large this is no longer of concern. Diablo III, for example, can easily run past 6GB of virtual memory space allocated thanks to being 64bit.
 

~El

Level 17
Joined
Jun 13, 2016
Messages
551
upload_2018-8-30_10-26-52.png

REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
JUST WHY
fucking hell this is my breaking point
 
Level 16
Joined
Mar 27, 2011
Messages
1,349
No it will not increase performance at all. It will prevent Warcraft III from crashing when it hits 2GB...

Makes sense. I can't comment if the Legion TD I played hit 2GB because of memory leaks or if it simply needed lots of memory to function. It never crashed though, interestingly enough. Maybe it was "just" sitting under the crash limit? Off memory, my games need roughly about 150-300MB to run but then again, they're not overly large in size, object or variable counts.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
Because such a feature is not useful at the moment. It is also annoying because one may accidently start two clients when not intending to.
Makes sense. I can't comment if the Legion TD I played hit 2GB because of memory leaks or if it simply needed lots of memory to function. It never crashed though, interestingly enough. Maybe it was "just" sitting under the crash limit? Off memory, my games need roughly about 150-300MB to run but then again, they're not overly large in size, object or variable counts.
Game state uses very little memory, a couple of megabytes at most. That is if there are no leaks...

Warcraft III would pass 1GB if you literally loaded every single model and texture that it has. Many TDs and RPGs do this because they try to add as much variation to the gameplay as possible so use most models available in Warcraft III.

I suspect the main reason it is now a problem is because of CASC. I would not be surprised if CASC works by memory mapping files. This is no problem for modern Blizzard games as they are only available, or at least will be very soon, in 64bit builds. They could literally memory map the entire StarCraft II CASC data files using ~40GB of virtual memory space and the game still would not crash. Warcraft III however is still 32bit, so the extra virtual memory space being used by the CASC system might have caused some maps to pass the 2GB threshold and so crash. By building with large address aware this should be less of a problem as it gives up to an extra 1GB for 32bit OS and 2GB for 64bit OS.

The reason Blizzard dropped 32bit support for their modern games was because they were literally unstable. HotS and StarCraft II were prone to crashing with out of memory errors.
Don't recall ever seeing the FPS counter go above 64.0.
Be aware that such high frame rate does nothing more than waste power. I strongly recommend capping it around your display refresh rate.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
>> calling a feature not useful
must be JAVA dev right here
Actually to quote what Kam wrote on discord when responding to TriggerHappy...
That feature will come in time

Basically it is a useful feature if implemented properly. However it was not implemented properly in 1.30 hence was removed. One of the main use cases for multiple Warcraft III clients being open at once is multiplayer testing, however the 1.30 implementation of it did not support that as one could not get the different application instances to join the same lobby. Keeping it would likely confuse more people who accidently double start Warcraft III than those who find it useful.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
At long last, no longer 2 gb limit thanks blizzard that now players can enjoy our mod with custom maps! (yeah still they might crash but still this is something I was crying for alot)
I suggest testing if that is the case on the PTR. It might be that Warcraft III is inherently using more virtual memory space now so all this does is slap a bandage on it until a 64bit build is ready.
 
I suggest testing if that is the case on the PTR. It might be that Warcraft III is inherently using more virtual memory space now so all this does is slap a bandage on it until a 64bit build is ready.
It worked on lordaeron: the foremath for quite abit it was laggy and crashed at a point but I tried at a bad pc so that is something, ram usage was 2.8 gb so I can kinda say mod is 'safe' now
 
Basically it is a useful feature if implemented properly. However it was not implemented properly in 1.30 hence was removed. One of the main use cases for multiple Warcraft III clients being open at once is multiplayer testing, however the 1.30 implementation of it did not support that as one could not get the different application instances to join the same lobby. Keeping it would likely confuse more people who accidently double start Warcraft III than those who find it useful.

There was a workaround to test multiple clients in LAN on 1.30.

[Misc] - Lan hosting multiple players single PC

Unless they plan to add a special way to launch multiple clients which won't interfere with normal players, then they probably should have just kept it.
 
Level 18
Joined
Jan 12, 2011
Messages
1,512
No it will not increase performance at all. It will prevent Warcraft III from crashing when it hits 2GB of virtual memory allocated when running on 64bit Windows OS by deferring the crash until around 4GB of virtual memory space is used. Warcraft III might still crash when it hits 2GB of virtual memory allocated when running on 32bit OS but it might also run until at most 3GB when it will certainly crash.
Memory Limits for Windows and Windows Server Releases

If 32bit OS allow this to happen by default is not clear, and certainly was not the case for older server OS that needed 4GT enabled. In 64bit OS this is a non concern and Warcraft III should be able to allocate virtual memory up to 4GB unless some other limit exists on using 1GB of the virtual memory space.
When built with large address aware they can use up to 4GB of RAM as described in the above link.
The above link explains. Technically on 32bit OS, which Warcraft III still supports, it will be limited up to (but possibly less) 3GB. On 64bit OS it should be limited to 4GB unless something reserves part of that range.

This is pretty much slapping a bandage on running into the memory limits. The correct solution would be to drop 32bit support entirely and only support 64bit like all modern Blizzard games. 64bit applications are by default large address aware (yes this is a thing for them as well!) and will support a virtual memory space so large this is no longer of concern. Diablo III, for example, can easily run past 6GB of virtual memory space allocated thanks to being 64bit.

Yes, I fully support this, drop the 32 bit support already, you already dropped the XP support... why not just go all the way, whatever I guess.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
It worked on lordaeron: the foremath for quite abit it was laggy and crashed at a point but I tried at a bad pc so that is something, ram usage was 2.8 gb so I can kinda say mod is 'safe' now
The game will crash on 32bit systems at latest at 3GB. It will crash on 64bit systems at 4GB, unless other limits are in place. Sounds safe on 64bit OS but will still be very unstable on 32bit OS as 2.8GB is far too close to the maximum possible limit.
Unless they plan to add a special way to launch multiple clients which won't interfere with normal players, then they probably should have just kept it.
Maybe a good compromise would be a command line flag that allows Warcraft III to ignore other instances of the application? That way the linked bat file approach would still work simply by appending the appropriate flag.
Yes, I fully support this, drop the 32 bit support already, you already dropped the XP support... why not just go all the way, whatever I guess.
Being an old game, this might not be so easy. For example it might be relying on hand written 32bit assembly for performance critical parts of the game, or it might be treating types that change size with 64bit builds (eg size_t) in unsafe ways. There is also the risk of performance regression due to changes in memory layout. It certainly is something I want to see in the future, but I do not expect it that soon.

I am pretty sure if it was as simple as building for x86-64 they would already be providing us a 64bit executable like how modern Blizzard games provided both.
 

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
Yes, I fully support this, drop the 32 bit support already, you already dropped the XP support... why not just go all the way, whatever I guess.
@Darklycan51: by going all the way, do you mean also dropping support for Mac and for any Windows OS except the latest build of the 64-bit version of Windows 10, while also dropping support for any GPU with 16 GB of VRAM or less at the same time? Just curious...

:grin:
 
Level 4
Joined
Dec 7, 2013
Messages
44
Multiple instances != being able to multiplayer on the same computer. There are several reasons: you would need more than one IP on the same computer, both on the same subnet, warcraft 3 doesn't allow you to choose which lan adapter uses and warcraft 3 uses the windows registry... sigh, which could lead to issues if two installations try to read/write the registry with different settings.
[Misc] - Lan hosting multiple players single PC
Seems Juvian did find a way to solve some of the above, tho that kills "real" lan too.
If you want to play multiplayer on the same computer use a VM it solves all the above.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
Multiple instances != being able to multiplayer on the same computer. There are several reasons: you would need more than one IP on the same computer, both on the same subnet, warcraft 3 doesn't allow you to choose which lan adapter uses and warcraft 3 uses the windows registry... sigh, which could lead to issues if two installations try to read/write the registry with different settings.
TriggerHappy linked the solution. You force the application to bind to a different feedback address...
If you want to play multiplayer on the same computer use a VM it solves all the above.
And introduces a whole lot more problems while at it. Least of which is the performance reduction caused by the supervisor having to catch OS hardware interactions.
It's worth mentioning that the current patch produces a black screen when running under Wine 3.14. This has been fixed in Wine staging [1]
Please try the PTR.
 

~El

Level 17
Joined
Jun 13, 2016
Messages
551
TriggerHappy linked the solution. You force the application to bind to a different feedback address...

... which is the solution to the LAN problem and the exact thing that made this feature useful in the first place.

And introduces a whole lot more problems while at it. Least of which is the performance reduction caused by the supervisor having to catch OS hardware interactions.

... which is our only option now that multiple WC3 clients have been disabled. Or, maybe, Sandboxie, but that requires a license to launch more than 1 additional instance of WC3.
 
Level 2
Joined
Oct 2, 2013
Messages
19
-opengl work in "wine" up to Patch 1.29 .
then i gone forever huh?
game lag like hell in DirectX :-(

-OpenGL2 in wine in 1.30+ does not work for me :(
 
Last edited:
Level 2
Joined
Sep 2, 2018
Messages
7
Seems to work (both 1.30 and 1.30-PTR) on wine-staging 3.14, not too much lag going on here even without -opengl flag (which they apparently killed for now) on 2012 hardware. World editor has some bugs in the interface but is also working!

Pro tip: don't install windows.
 
Seems to work (both 1.30 and 1.30-PTR) on wine-staging 3.14, not too much lag going on here even without -opengl flag (which they apparently killed for now) on 2012 hardware. World editor has some bugs in the interface but is also working!

Pro tip: don't install windows.

Have you tried the 1.30 editor on wine? I know before 1.30 the toolbar would show up as black in the terrain editor, does it still have that?
 
Level 2
Joined
Sep 2, 2018
Messages
7
Have you tried the 1.30 editor on wine? I know before 1.30 the toolbar would show up as black in the terrain editor, does it still have that?

That's the exact issue I'm talking about. This bar flickers at some points, and the WE is not performing well by any means, but it's running and in a small test I did not manage to make it crash.
Was just assuming that it would not work since it's explicitly excluded from wine (platinum) support.
 
That's the exact issue I'm talking about. This bar flickers at some points, and the WE is not performing well by any means, but it's running and in a small test I did not manage to make it crash.
Was just assuming that it would not work since it's explicitly excluded from wine (platinum) support.

You can even run JNGP under wine, but the terrain window seems to overlap the toolbar making it black. The toolbar looked different in 1.30 so I was hoping it was fixed in wine.
 
Level 5
Joined
Mar 2, 2014
Messages
127
Hey there folks, wanted to ask something very basic.

Custom Maps as I can gather from all the complains are incompatible with the latest release. Now, what I wonder is 2 things:

Will the hive keep the most stable version of a custom campaign and provide information on which Patch-Release it is intended for? (For example, "Icecrown" has not been updated since 2016, and while I didn't test it yet, I can assume that that Campaign will be utterly broken)

And, just in case blizzard continues their inconsiderate patching, will the hive maybe decide on a most stable patch-version and continue using mostly that stable patch-version?

In any case, what I want to mention, and I'm sure that infomation is nothing new, but over at gaming-tools one can get any patch-version (although the version-switching mechanic which was developed is apparently on both methods broken right now) of Wacraft 3, and may or may not be a goto place if things get royaly..... kuddled.

Anyway, greetz and I'm out.
 

Jumbo

Hosted Project GR
Level 19
Joined
Jun 22, 2007
Messages
1,316
Something that I'd really like to see is the implementation of stored whispering information so that when you leave a game, you can still /r to keep whispering to the same nickname you did ingame.

In general, what is archaic about Battlenet 1 is the fact that game lobbies are so separated from the outside. Once you leave a game lobby, everything you or others wrote inside is gone for good.

Also, I have encountered 2 freezes when trying to enter a game lobby, both on current and previous patch release.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
Something that I'd really like to see is the implementation of stored whispering information so that when you leave a game, you can still /r to keep whispering to the same nickname you did ingame.

In general, what is archaic about Battlenet 1 is the fact that game lobbies are so separated from the outside. Once you leave a game lobby, everything you or others wrote inside is gone for good.
This will be fixed by BattleNet 2.0 integration.
Also, I have encountered 2 freezes when trying to enter a game lobby, both on current and previous patch release.
Any steps to reproduce?
 

Jumbo

Hosted Project GR
Level 19
Joined
Jun 22, 2007
Messages
1,316
1. I entered a lobby
2. Was kicked (presumably by bot)
3. Tried to reconnect. Instead got freeze in "trying to join game"-lock mode. I led this go on for 3 minutes then alt+f4'ed.


When will battlenet 2 be implemented for Warcraft 3?
 
Status
Not open for further replies.
Top