Jump to content
  • Sign Up

DirectX v12 on Win7 for WoW.


Recommended Posts

> @"Ayrilana.1396" said:

>

>

> As stated in the above thread, the issue is with the main thread and not the render thread. All interaction with DX occurs on the render thread so going to DX12 will not do much.

>

> I’ve seen other articles that back this up that the multi thread performance boosts tend to impact only the rendering.

>

> https://software.intel.com/en-us/articles/performance-methods-and-practices-of-directx-11-multithreaded-rendering

>

> and

>

> https://software.intel.com/en-us/articles/tutorial-migrating-your-apps-to-directx-12-part-5

 

Yet d912 proxy proven to improve FPS significantly.

 

Since it was claimed that the main thread is the bottleneck, dx12 is capable of reducing API overhead of dx9 through 11 and by reducing the overhead, the CPU resources can be freed to compute gaming codes.

 

So in the end, it boost the fps.

Link to comment
Share on other sites

> @"8235E844-3CC1-4724-8B86-45063AFE57F3.6259" said:

> "different staff capacities." currently this. The hope is that with the new high level roles advertised and freeing up some coders from creative staffs pursuits (recent firings) this sort of routine and mundane content can make it to the game. If Anet wants more tips they can email me for consult fee free tips ;)

>

 

I doubt it, the firings at blizzard were of mostly non developer jobs with the goal being to hire more developers in their place, the firings in anet's case we firing for the sake of keeping a stable income for ncsoft's standards.

 

There will be a restructuring for sure but i dont think we will see more or better workforce. Plus the wow team and the gw2 team werent all that diff in manpower.

Link to comment
Share on other sites

> @"zealex.9410" said:

> > @"Ayrilana.1396" said:

> > Different game, different graphics, different staff capacities. All assuming that upgrading DX will offer any benefit which Anet has stated that it would be minimal if at all.

>

> And the one dev that emulates dx12 can give 20% pr more increased performance with his tool. But full blow dx12 support will be minimal for sure....

 

Tried it on my system and didn’t see a boost so it’s not applicable to everyone.

 

> @"SkyShroud.2865" said:

> > @"Ayrilana.1396" said:

> >

> >

> > As stated in the above thread, the issue is with the main thread and not the render thread. All interaction with DX occurs on the render thread so going to DX12 will not do much.

> >

> > I’ve seen other articles that back this up that the multi thread performance boosts tend to impact only the rendering.

> >

> > https://software.intel.com/en-us/articles/performance-methods-and-practices-of-directx-11-multithreaded-rendering

> >

> > and

> >

> > https://software.intel.com/en-us/articles/tutorial-migrating-your-apps-to-directx-12-part-5

>

> Yet d912 proxy proven to improve FPS significantly.

>

> Since it was claimed that the main thread is the bottleneck, dx12 is capable of reducing API overhead of dx9 through 11 and by reducing the overhead, the CPU resources can be freed to compute gaming codes.

>

> So in the end, it boost the fps.

 

The API calls are going through the rendering thread(s) and not the main thread.

 

Also, as I stated in my post that you quoted, **all interaction with DX is on the render thread and not the main thread**. Bolder this as it was missed the first time.

Link to comment
Share on other sites

****It is not full DX12 btw.

 

from http://www.tweakguides.com/

Microsoft recently announced that it has added DirectX 12 support to Windows 7, specifically to allow game developers to port certain DX12 optimizations to Windows 7. **It's important to understand that this is not the same as enabling full DirectX 12 support on Windows 7**; it's a subset of DX12 aimed specifically at improving the performance of the very popular World of Warcraft. Some other games will receive the same optimization as their developers work with MS to take advantage of this new capability.

Link to comment
Share on other sites

> @"Ayrilana.1396" said:

> > @"zealex.9410" said:

> > > @"Ayrilana.1396" said:

> > > Different game, different graphics, different staff capacities. All assuming that upgrading DX will offer any benefit which Anet has stated that it would be minimal if at all.

> >

> > And the one dev that emulates dx12 can give 20% pr more increased performance with his tool. But full blow dx12 support will be minimal for sure....

>

> Tried it on my system and didn’t see a boost so it’s not applicable to everyone.

>

> > @"SkyShroud.2865" said:

> > > @"Ayrilana.1396" said:

> > >

> > >

> > > As stated in the above thread, the issue is with the main thread and not the render thread. All interaction with DX occurs on the render thread so going to DX12 will not do much.

> > >

> > > I’ve seen other articles that back this up that the multi thread performance boosts tend to impact only the rendering.

> > >

> > > https://software.intel.com/en-us/articles/performance-methods-and-practices-of-directx-11-multithreaded-rendering

> > >

> > > and

> > >

> > > https://software.intel.com/en-us/articles/tutorial-migrating-your-apps-to-directx-12-part-5

> >

> > Yet d912 proxy proven to improve FPS significantly.

> >

> > Since it was claimed that the main thread is the bottleneck, dx12 is capable of reducing API overhead of dx9 through 11 and by reducing the overhead, the CPU resources can be freed to compute gaming codes.

> >

> > So in the end, it boost the fps.

>

> The API calls are going through the rendering thread(s) and not the main thread.

>

> Also, as I stated in my post that you quoted, **all interaction with DX is on the render thread and not the main thread**. Bolder this as it was missed the first time.

 

Erm. I suddenly remembered that gw2 is dx9 and not dx11, which what you linked.

 

Only dx11 has deferred context but d9 doesn't.

 

D9 is a single threaded api which means the drawcalls should be by normal practice done in the same thread and what we usually called the "main" thread. The only thing you can really MT in Dx9 is simply the things not related to D3D calls like loading, compressing, formatting, scaling etc etc etc. Otherwise, you have to throw everything into that one thread.

 

I always find dev's claim that the "main" thread is not a rendering thread questionable. When d912 was made, the game performance boosted up and the main selling point of dx12 isn't just about the MT rendering but it also about the API reduction which is what benefit mainly the CPU heavy games. So anyway, the performance is boosted, it means the computing resources are freed and this means the D3D related calls. What this really means is that the main thread is actually the rendering thread. That dev is inaccurate in his comment, perhaps the engine is so badly made that D3D calls are all over the place which by normal practice shouldn't be or they simply chunk up everything not related to d3d into the same thread.

 

Anyway, unless you can disprove the performance gain from D912 proxy which means API overhead reduction, which you can't, you cannot disagree that D12 doesn't improve the performance.

Link to comment
Share on other sites

  • 5 months later...

Update:

https://devblogs.microsoft.com/directx/porting-directx-12-games-to-windows-7/

 

> We announced “[World of Warcraft uses DirectX 12 running on Windows 7](https://devblogs.microsoft.com/directx/world-of-warcraft-uses-directx-12-running-on-windows-7/ "World of Warcraft uses DirectX 12 running on Windows 7")” back in March. Since that time, we have received warm welcome from the gaming community, and we continued to work with several game studios to further evaluate this work.

 

> To better support game developers at larger scales, we are publishing the following resources to allow game developers to run their DirectX 12 games on Windows 7. Please post technical question or feedback to our Discord channel at http://discord.gg/directx.

 

> [Development Guidance Document](https://microsoft.github.io/DirectX-Specs/d3d/D3D12onWin7.html "Development Guidance Document") – please read through this document before planning and coding

> [D3D12onWin7 NuGet package](https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 "D3D12onWin7 NuGet package"), which contains header file, binary files, and license terms to unblock coding

> [D3D12 sample](https://github.com/microsoft/DirectX-Graphics-Samples/tree/develop/Samples/Desktop/D3D12On7 "D3D12 sample"), which runs on both Win7 and Win10 with the same binary

 

> We would like to thank the development community for their help in evolving the DirectX 12 technology, and we have been so excited to work with game developers to bring the benefits of DirectX 12 to all their customers. Please keep the feedback coming!

Link to comment
Share on other sites

> @"Zephire.8049" said:

> > @"TheQuickFox.3826" said:

> > The WoW engine is even older than the GW2 one. If it is possible for WoW, then it should be possible here. Hell, WoW is even older than GW1.

>

> Nope. GW2's engine _is_ the GW1 engine, albeit modified heavily. WoW's engine and GW1's engine were both built for their respective games. They were released 5 months apart so given development times, the engines are about the same age, give or take several months.

... you do know that WoW uses the Warcraft 3 engine, right? Warcraft 3 was released 2002. Guild Wars 1 was released 2005. Thats not 5 months.

 

Link to comment
Share on other sites

> @"Dawdler.8521" said:

> > @"Zephire.8049" said:

> > > @"TheQuickFox.3826" said:

> > > The WoW engine is even older than the GW2 one. If it is possible for WoW, then it should be possible here. Hell, WoW is even older than GW1.

> >

> > Nope. GW2's engine _is_ the GW1 engine, albeit modified heavily. WoW's engine and GW1's engine were both built for their respective games. They were released 5 months apart so given development times, the engines are about the same age, give or take several months.

> ... you do know that WoW uses the Warcraft 3 engine, right? Warcraft 3 was released 2002. Guild Wars 1 was released 2005. Thats not 5 months.

>

 

The entire discussion does not make too much sense. Windows 10 is also based on the Windows NT 3.1 /3 .51 code base and will still share some parts in the kernel with the old OS. This is just how many software development projects work. The latest Unreal engine also shares parts with Unreal 1 1998. You start with what you already have, improve it, you add new features, you rewrite parts. And over time, less and less of the old version remains.

Link to comment
Share on other sites

> @"TheQuickFox.3826" said:

> Update:

> https://devblogs.microsoft.com/directx/porting-directx-12-games-to-windows-7/

>

> > We announced “[World of Warcraft uses DirectX 12 running on Windows 7](https://devblogs.microsoft.com/directx/world-of-warcraft-uses-directx-12-running-on-windows-7/ "World of Warcraft uses DirectX 12 running on Windows 7")” back in March. Since that time, we have received warm welcome from the gaming community, and we continued to work with several game studios to further evaluate this work.

>

> > To better support game developers at larger scales, we are publishing the following resources to allow game developers to run their DirectX 12 games on Windows 7. Please post technical question or feedback to our Discord channel at http://discord.gg/directx.

>

> > [Development Guidance Document](https://microsoft.github.io/DirectX-Specs/d3d/D3D12onWin7.html "Development Guidance Document") – please read through this document before planning and coding

> > [D3D12onWin7 NuGet package](https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 "D3D12onWin7 NuGet package"), which contains header file, binary files, and license terms to unblock coding

> > [D3D12 sample](https://github.com/microsoft/DirectX-Graphics-Samples/tree/develop/Samples/Desktop/D3D12On7 "D3D12 sample"), which runs on both Win7 and Win10 with the same binary

>

> > We would like to thank the development community for their help in evolving the DirectX 12 technology, and we have been so excited to work with game developers to bring the benefits of DirectX 12 to all their customers. Please keep the feedback coming!

 

Ah do we sharing good night reads https://devblogs.microsoft.com/cppblog/game-performance-improvements-in-visual-studio-2019-version-16-2/ xD

 

Really technical it is possible to change dX12 its more a question of money and personal. There is also no reason because of old pcs not supporting dx12 because those won't receive patches any more with 2020 and the support end of win 7. I see even on steam old games updating on dx 12 because of this.

 

Like I posted here there is even a longer list of optimization you can do. Well this one isn't doable for everyone because old cpus don't support this but with everything roughly 40-50% performance increase is possible . Behind that are new APIs (like dx12), new instruction sets and new improvements in the compiler optimization.

 

Dx912pxy isn't the solution either besides the is it allowed ? Question its create a lot of stuff you are doing twice and coding wise it has some bad coding errors in it. Which are reported to the author and VS reports the second you want to compile it . I don't know what is up with the author.

 

Anyway it is up to Arena NET

Link to comment
Share on other sites

> @"TheQuickFox.3826" said:

> > @"Infusion.7149" said:

> > Use d9vk instead of expecting the dev team to cater to Windows 10.

>

> Mind to post some idiot-proof instructions for this?

 

 

I don't recommend it, these hacks tend to crash the game, at least mine did every time i got into Lion's Arch Trading area.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...