Page 1 of 1

Minetest and Vulkan API?

PostPosted: Fri Oct 16, 2015 19:06
by Kevin Tee
Hi, there has been a lot of excitement about Directx 12 and Vulkan. If I am correct, minetest is using opengl, right? I want to know that if minetest will benefit from Vulkan. I saw Vulkan API performance on youtube and it is very efficient. Do we have enough resource to implement Vulkan API?

And one more question, minetest on my system seems not to use my cpu or gpu efficiently, the frame rate drop to 30fps but it still use only 15-20% cpu and 30% gpu. Is it normal? I prefer using more cpu for higher frame rate.

minetest 0.4.13
linux mint 17.2
i7 3770
GTX 650 driver version 346.96
8 gb ram

Re: Minetest and Vulkan API?

PostPosted: Fri Oct 16, 2015 19:09
by Calinou
Minetest uses Irrlicht.

If Irrlicht gets Vulkan support, then we will possibly support it (we need to write shaders for it, I guess). Else, we won't.

Re: Minetest and Vulkan API?

PostPosted: Fri Oct 16, 2015 19:27
by Kevin Tee
Calinou wrote:Minetest uses Irrlicht.

If Irrlicht gets Vulkan support, then we will possibly support it (we need to write shaders for it, I guess). Else, we won't.

I have read some discussion on irrlicht forum and the community would like to have vulkan too, but no official announcement yet. Not until Vulkan is finalize, I think.

Edit: The developer in the Irrlicht forum said that they will implement it in the future.

Re: Minetest and Vulkan API?

PostPosted: Sat Oct 31, 2015 08:24
by philipbenr
MT could get some pretty decent perf boosts using Vulkan in Irrlicht, based on what I have seen.

Re: Minetest and Vulkan API?

PostPosted: Mon Nov 02, 2015 00:42
by Jordach
philipbenr wrote:MT could get some pretty decent perf boosts using Vulkan in Irrlicht, based on what I have seen.

Except for the fact that, MT and Irrlicht, are more CPU driven than GPU driven. Even with my powerful rendering rig, MT runs terribly. Even with lightweight subgames - this is a problem with Irrlicht and how MT interfaces with it. If I knew C a little bit better I might be able to help resolve this, considering how much I complain at the plain graphics. ;)

Re: Minetest and Vulkan API?

PostPosted: Mon Nov 02, 2015 01:47
by benrob0329
C wouldn't help you much, C++ would though.

Re: Minetest and Vulkan API?

PostPosted: Tue Nov 03, 2015 00:23
by rubenwardy
Minetest's code is mostly in C style in terms of methology. If you came from C rather than C++ you'd have more of an idea of the technical details. But any is valid, and you will need c++ knowledge as well.

My impression from reading the irc logs.

Re: Minetest and Vulkan API?

PostPosted: Wed Nov 04, 2015 22:09
by philipbenr
Jordach wrote:
philipbenr wrote:MT could get some pretty decent perf boosts using Vulkan in Irrlicht, based on what I have seen.

Except for the fact that, MT and Irrlicht, are more CPU driven than GPU driven. Even with my powerful rendering rig, MT runs terribly. Even with lightweight subgames - this is a problem with Irrlicht and how MT interfaces with it. If I knew C a little bit better I might be able to help resolve this, considering how much I complain at the plain graphics. ;)


Mmm. Good point. Minetest does need to shift it's weight over to the GPU a bit.

Re: Minetest and Vulkan API?

PostPosted: Mon Nov 23, 2015 17:10
by Hybrid Dog
l agree, but minetest also shouldn't only use the gpu, fogleman craft (if l remember the name correctly) works liquid on pcs with new gpu but very laggy on pcs with old gpu.
Maybe in the future irrlicht decides to use e.g. opencl for calculations if it's installed correctly and works faster than using the processor. BTW: opencl already works with open source drivers (see oibaf)

Re: Minetest and Vulkan API?

PostPosted: Sun Nov 29, 2015 08:37
by Kevin Tee
Minetest is redering on 1 thread from 8 threads of my core i7 cpu. Maybe this problem is on opengl. If vulkan comes out then expect HUGE performance boost.

Re: Minetest and Vulkan API?

PostPosted: Sun Nov 29, 2015 11:28
by Calinou
Kevin Tee wrote:Minetest is redering on 1 thread from 8 threads of my core i7 cpu. Maybe this problem is on opengl. If vulkan comes out then expect HUGE performance boost.


While Vulkan might make it more possible/easier to offload the rendering load to several CPU threads, the main purpose is to be less heavy on low-end CPUs (similar to what Mantle did, if I'm not mistaken). On high-end CPUs, the performance gain will likely be more marginal (20% to 30%).

Re: Minetest and Vulkan API?

PostPosted: Mon Nov 30, 2015 06:25
by Kevin Tee
Calinou wrote:
Kevin Tee wrote:Minetest is redering on 1 thread from 8 threads of my core i7 cpu. Maybe this problem is on opengl. If vulkan comes out then expect HUGE performance boost.


While Vulkan might make it more possible/easier to offload the rendering load to several CPU threads, the main purpose is to be less heavy on low-end CPUs (similar to what Mantle did, if I'm not mistaken). On high-end CPUs, the performance gain will likely be more marginal (20% to 30%).


I have seen video of vulkan api demo on rendering gnomes. https://youtu.be/P_I8an8jXuM
The demo shows that vulkan distribute cpu loads very efficiently compare to opengl. I will be quite dissapoint if minetest did not benefit much from this.

Re: Minetest and Vulkan API?

PostPosted: Mon Nov 30, 2015 13:59
by benrob0329
I would rather see MT get optimised and use OpenCL (which is cross platform) rather than focus development on DX12 or Vulkan.

Re: Minetest and Vulkan API?

PostPosted: Mon Nov 30, 2015 15:00
by Kevin Tee
benrob0329 wrote:I would rather see MT get optimised and use OpenCL (which is cross platform) rather than focus development on DX12 or Vulkan.

Are there anyone working on this? Is this on the road map?
And what is the bottle neck for mt performance? Irrelicht or mt itself?

Re: Minetest and Vulkan API?

PostPosted: Mon Nov 30, 2015 15:37
by Ferk
OpenCL is an entirely different thing, it's not a graphics API, but a language to work across processors and be able to use GPU for operations that do not have to be about graphics.

Vulkan is intended to be cross platform, it's designed as the successor for OpenGL

Re: Minetest and Vulkan API?

PostPosted: Tue Dec 01, 2015 00:54
by benrob0329
Is Vulkan OSS like OpenGL? If so then maybe the MT devs (and other people like me!) could make a new graphics engine! (Sparse Voxel Octrees anyone?)

Re: Minetest and Vulkan API?

PostPosted: Tue Dec 01, 2015 17:51
by Kevin Tee
benrob0329 wrote:Is Vulkan OSS like OpenGL? If so then maybe the MT devs (and other people like me!) could make a new graphics engine! (Sparse Voxel Octrees anyone?)

Yes, it is the successor of opengl, but it is not release yet.

Re: Minetest and Vulkan API?

PostPosted: Tue Dec 01, 2015 20:37
by Calinou
benrob0329 wrote:Is Vulkan OSS like OpenGL? If so then maybe the MT devs (and other people like me!) could make a new graphics engine! (Sparse Voxel Octrees anyone?)


Neither Vulkan nor OpenGL are "open source". They are open-ish* standards, and are not software. Vulkan is expected for release in early 2016 (or, with some luck, in December 2015).

*: both OpenGL and Vulkan are pretty much developed behind closed doors. If you want to join their development, you'll probably have to sign non-disclosure agreements and such. Hence "open-ish".