Technical : Why not Vulkan API instead of DX11 ?

DX11 is already outdated as it doesn't allow "close to metal" functionalities. If we add the fact it's Micro$oft proprietary and then Windows/Xbox only, is this really a good choice?

On the other hand, Vulkan is a new gen API with close to metal capabilities, cross platform and promoted by lots of IT companies.

I understand it's probably easier for GGG to switch from DX9/DX10 to DX11 but is this technically pertinent for the future of the graphic engine? I don't think so.
fkxLegacySpectral : lvl 97 Raider ST HowA [Legacy]
fkxBreachSlayer : lvl 95 Slayer Blade Flurry [Breach]
fkxCrockett : lvl 94 Saboteur Ice Trap [Perendus]
fkxRampage : lvl 94 Witch Fireball [Rampage]
fkxShadow : lvl 95 Shadow FP/CI [open beta]
Last edited by fkxShadow#6629 on Oct 16, 2016, 3:54:44 PM
Last bumped on Oct 20, 2016, 11:02:00 PM
This thread has been automatically archived. Replies are disabled.
DX will continue to be supported on windows for years to come. Microsoft took well over a decade to discontinue Windows XP support and DX is something they're still actively making updates to. It may be outdated but their code will still work and it will still work for a while. Switching to a completely different graphics API is a massive amount of work and isn't exactly a winning proposition from a business perspective. The best case scenario is that it makes porting the game to mac easier, which is another losing business proposition. I'm guessing from the $ sign in Microsoft you're just being an anti-microsoft crank on this one.

Now if they were talking about developing a new engine for a PoE2, it might be a different story...
Look at this simple tutorial for drawing a single triangle to the screen in openGL:
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/

Notice how the tutorial (minus framework) fits nicely on a single page.


Now look at this simple tutorial for drawing a single triangle to the screen in vulkan:
https://vulkan-tutorial.com/Drawing_a_triangle

Notice how the tutorial goes over multiple pages and is much more convoluted.


That's because vulkan is much more low level than directX or openGL. It gives the developer more control over the graphics pipeline, but also requires them to handle a lot of stuff which other 'batteries included' APIs take care of for the dev.


Switching to vulkan would require a lot of thought and time to be put into refactoring the renderer. Although, it would make a port to linux/mac os much easier later on.
PoE has a beautiful, rich, detailed world - you can really feel the skill which went into crafting it.
The game mechanics on the other hand leave much room for improvement.
I'm not touching Win10 because it's not even trying to be subtle about sending all your data to Microsoft anymore, so I don't really care for DX12. It's just another hype train, too, and I've learned to stay off those soon to be trainwrecks.
I highly doubt DX11 will make this game run much better. In most situations, it already runs "fine", much better than before my last rage quit, but the things dragging it down can only be fixed by optimization.
Here's one: If you run a map with enemies gaining charges every 20 seconds, the engine tanks every time the charges are gained and presumably every tie they are lost. Why?
Because the entire map gains them. Every single mob gains a power charge at the same engine tick.
How do you fix that? Well, why not just have mobs in a certain radius around you gain them? Why not mobs you've damaged? The charges gained every 20 seconds mod could be exchanged to monsters have x% chance to gain x charges on hit.
Many large devs go down the brute force path, nowadays.
"Oh, you can't run our unoptimized game? Buy better hardware! DXy+1 will fix it! 30fps looks better than 60fps, you entitled brat!"
Granted, GGG never said any of these things as far as I know, but this game has ample room for optimization.
We are going to shut down Beyond immigration into our maps until we find out what the Hell is going on!
Last edited by Obliviongamer91#6336 on Oct 16, 2016, 4:54:10 PM
Keep it short, it's cost prohibitive since the game is DirectX, they would need to port everything over to whatever, it's way to costly and takes to much time and developer man power which would mean the game sits stagnant while they deal with this which could kill the game before they even get it out.
Ancestral Bond. It's a thing that does stuff. -Vipermagi

He who controls the pants controls the galaxy. - Rick & Morty S3E1
Last edited by lagwin1980#2224 on Oct 16, 2016, 5:20:10 PM
"
Obliviongamer91 wrote:

I highly doubt DX11 will make this game run much better.


Based on what?

DX11 is much more efficient than DX9 is. Eye-candy aside, it has much better support for multithreading and enables multithreaded GPU calls, which just isn't possible in DX9. DX11 spends substantially less time talking to the GPU, freeing up CPU resources for more useful things. Modern graphics cards and their drivers tend to love DX11 a whole lot more than DX9 too. It is also a well-proven and mature product, from the dominant player in the business so it's safe to assume that it will be supported for many, many years to come.

Performance and stability should improve noticeably for most people on Win 7 or newer systems. Don't forget that DX9 debuted already in 2002. It's really old. ;)
"
Exilyth wrote:
Look at this simple tutorial for drawing a single triangle to the screen in openGL:
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/

Notice how the tutorial (minus framework) fits nicely on a single page.


Now look at this simple tutorial for drawing a single triangle to the screen in vulkan:
https://vulkan-tutorial.com/Drawing_a_triangle

Notice how the tutorial goes over multiple pages and is much more convoluted.


That's because vulkan is much more low level than directX or openGL. It gives the developer more control over the graphics pipeline, but also requires them to handle a lot of stuff which other 'batteries included' APIs take care of for the dev.


Switching to vulkan would require a lot of thought and time to be put into refactoring the renderer. Although, it would make a port to linux/mac os much easier later on.
from someone who writes code for a living (not in graphics department, however), they dont look that different. openGL just goes straight into the API calls, vulkan goes more in-depth in their setup/bootstrap procedure that holds the pipeline together (and offers more fine control) and needs to be managed by dev rather than behind the scene.

and tbh, Ive yet to meet a good c++ developer that would have any problems with fine control and a complex code structure and having to manage enough rope to hang himself... I mean, thats why we program backends/engines in c++...

(note - this is not an endorsement of vulkan or anything, just my 2 cents ;))
"
Ceri wrote:
"
Obliviongamer91 wrote:

I highly doubt DX11 will make this game run much better.


Based on what?

Read my comment on optimization, you silly goose.
We are going to shut down Beyond immigration into our maps until we find out what the Hell is going on!
"
fkxShadow wrote:
DX11 is already outdated as it doesn't allow "close to metal" functionalities. If we add the fact it's Micro$oft...


Stoped reading there. If you really want a serious discussion don't start bullcrap like M$.
"
Obliviongamer91 wrote:
"
Ceri wrote:
"
Obliviongamer91 wrote:

I highly doubt DX11 will make this game run much better.


Based on what?

Read my comment on optimization, you silly goose.


Like you did, you mean? ;)

I know what you mean, but you're missing key points - hence my post. On DX11 you'll simply have more CPU _and_ GPU available thanks to the multithreading optimizations (assuming GGG utilizes them, of course, but I'm sure they will)

In any case, we'll see soon. Sounds like it's not that far away.

Report Forum Post

Report Account:

Report Type

Additional Info