Jump to content
  • entries
    945
  • comments
    5,899
  • views
    930,061

Very Low-Level Advancements


Josh

3,802 views

 Share

There are three low-level advancements I would like to make to Leadwerks Game Engine in the future:

  • Move Leadwerks over to the new Vulkan graphics API.
  • Replace Windows API and GTK with our own custom UI. This will closely resemble the Windows GUI but allow new UI features that are presently impossible, and give us more independence from each operating system.
  • Compile the editor with BlitzMaxNG. This is a BMX-to-C++ translator that allows compilation with GCC (or VS, I suppose). This would allow the editor to be built in 64-bit mode.

 

None of these enhancements will result in more or better games, and thus do not support our overarching goal. They also will each involve a significant amount of backtracking. For example, a new Vulkan renderer is pretty much guaranteed to be slower than our existing OpenGL renderer, for the first six months, and it won't even run on a Mac. A new GUI will involve lots of bugs that set us back.

 

This is likely to be stuff that I just explore slowly in the background. I'm not going to take the next three months to replace our renderer with Vulkan. But this is the direction I want to move in.

  • Upvote 14
 Share

11 Comments


Recommended Comments

What's the upsides of moving to Vulkan than if it's "slower". Obviously, the benefits out weighs the costs for you to consider it.

 

Although, these enhancements might not help with the game development, it might attract new users/get more people interested in Leadwerks. People can be weird.

Link to comment

Over time it would have the potential to be faster and provide me with more low-level access to the hardware, although the 1.0 spec doesn't allow anything that OpenGL can't already do.

Link to comment

Make any changes that you feel is the right way to go. But please don't release any of these until they are at least as fast as current solution is. But I guess that was you intention ("slowly in the background")

Link to comment

Why would it be any slower? There are many benchmarks showing substantial improvement speeds (50-90%).

 

Over time it would have the potential to be faster and provide me with more low-level access to the hardware, although the 1.0 spec doesn't allow anything that OpenGL can't already do.

 

That's not true at all. I just looked at the spec. There is a vast amount of new material.

 

Examples:

-You couldn't multithread with OpenGL rendering, but there are ways to do it with commands listed in the current Vulkan spec.

-You can assign things to individual cards. So now you could do VRAM stacking if you wanted in SLI. There should be many other uses for this too.

-Compute shaders. Yes this is in 4.3, but Leadwerks right now is 4.0.

-Precompiled shaders. I imagine this would improve game start-up time.

 

Unless the drivers are magically screwed up to the point that they are functionless, I can't see how you would have worse performance. Are there any specifics as to why you think this would be the case?

Link to comment

I'm hoping Vulkan will make Leadwerks run and behave the same on both brand of cards.

 

Then again, it's up to their drivers so...

Link to comment

Well, at this point all they are offering is a harder-to-use alternative to OpenGL that doesn't work on Mac or iOS. It will be interesting to see what Apple does.

Link to comment

Does this mean that Linux and Windows versions of LE will soon be on the same level?

 

Isn't the linux version stuck around 3.0 or somewhere around there?

Link to comment

No, they both use OpenGL 4.0. I attempted a 3.0 fallback for Intel drivers, but it didn't work.

Link to comment

Hi, At first to have leadwerk running with Vulkan, I assume that Josh will have to translate what he have from OpenGL to Vulkan.

 

So it might be a little slower than openGL, but then he could check how to use the new options he have from Vulkan as multithreaded rendering. Can check here that is taking less CPU:

 

Apple will use its METAL api, for their product. Too bad for them. At least they still support openGL

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...