I wonder what kind of impact points 1, 2 and 4 will have on performance.
1 will improve performance. It means they will be using shaders and a modern graphic pipelines with less API overhead than the D3D7 level fixed function pipeline Warcraft III currently uses.
2 will have mixed results. Upgrading to x86-64 will improve performance with some operations due to improvements to the instruction set such as the addition of RISC style general purpose registers. However it will decrease performance with regard to cache efficiency and memory bandwidth due to the use of 8 byte pointers rather than the current 4 byte pointers and possible memory alignment and density implications of that.
4 will likely only have much overhead if those features are used. Similar to LUA and JASS virtual machines which will only really generate overhead if a developer uses them.
Multicore support? I wonder if it means that modding can allow us to also take advantage of parallel actions.
Nowhere does that mention multicore support... Although I can guess some multi threading might possibly be used for graphics the game will almost certainly remain single threaded.
Maybe you misread "Metal support". Metal is Apple's graphics API, support for it is needed so the Mac build will keep running once Apple drops native support for OpenGL completely.
*Please please please give us multi-threaded jass*
Very exiting
You do not want multithreaded JASS... It would add entirely new ways to create OoS errors, bugs, and stuff like that except this time with the added problems of multithreaded errors such as not being reliable recreatable.
I hope this implies that Lua is meant to be an alternative to JASS. And I hope this implies LuaJIT.
I don't think there'd be much benefit in having multi-thread support in the scripting language itself, especially if they go with LuaJIT, as it has excellent perfromance as-is. Most maps simply aren't that demanding algorithmically that it should warrant moving to multithreading, not to mention the inherent pool of opportunities to shoot yourself in the foot that comes with multithreading.
Yes both JASS and LUA virtual machines will work in parallel. This gives people the flexibility to use both, or slowly port from JASS to LUA as needed. The only limitation is that there is limited interoperation between JASS and LUA, at least back when they announced it.
To me, multi-treadding is such a core feature of programming that i use in everyday programming, it feels limiting not to have access to it. I know this reflects the fact that i work more with data, than game programming, but hey, i want to do 'data-heavy' stuff in my maps.
It does not work very well for games since race conditions become a big problem. Certainly >99.99% of triggers people write cannot benefit from multi threading.
Metal means basic reflections? That's pretty awesome. I wonder if that in combination with DX11 means we'll get finally water that doesn't look like, well, Warcraft III water.
No it does not mean that...
It means
this...
Windows 7, 8 and 10 will use Direct3D 11, Mac OS will use Metal.
No... Metal.is Apples API for games
Metal is Apples API for graphics acceleration. It is their only API for graphic acceleration of anything. OpenGL support will soon be gone and they refuse to add native Vulkan support.
But I guess DX11 means reflection support anyway.
Raytracing is a Direct3D 12 feature.
Sure one can use shaders to kind of hackily simulate some sorts of reflections but still...