Duke4.net Forums: PolymerD3D12 - Duke4.net Forums

Jump to content

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

PolymerD3D12

#1

Hey,

I spent yesterday getting Direct3D 12 working in eduke32. This isn't a huge code refactor, in fact I tried to put Direct3D 12 along side the OpenGL bits. Obviously there are huge pipeline differences between OpenGL and Direct3D 12, but I didn't need to refactor the entire codebase like I've done in the past. I plan on getting this close enough to regular Polymer, I need this for a test bed for some other stuff I'm working on. Here's a video so far, to prove its running in Direct3D 12, I start the game from PIX, and do a PIX capture at the end and walk through some of pipeline.



Github:
https://github.com/j...l23/PolymerDX12
7

User is offline   Danukem 

  • Duke Plus Developer

#2

Seeing as that polymer has been neglected for many years now, I think it's fair to say that if you don't finish this then no one else will -- at least for the foreseeable future.
0

User is offline   Mark 

#3

ICD. If you ever get bored could you take a look at this? If its not too much work to activate. Supposedly the code for reflective water is already in there. No idea how ready for prime time it is. Plagman was vague.
https://forums.duke4...dpost__p__31341

This post has been edited by Mark: 17 May 2020 - 01:39 PM

0

#4

It is always interesting to see things like this. I wish though it was Vulkan and not D3D12.
2

#5

With the latest bits checked in clcoast rendering everything, including sprites runs at 50fps, were as regular polymer runs at 32fps.

Posted Image

This post has been edited by icecoldduke: 18 May 2020 - 08:55 AM

1

User is offline   Mark 

#6

Just for fun you should try an older version of eduke32, say 4593 64 bit. Polymer had better framerates back then compared to now.

This post has been edited by Mark: 18 May 2020 - 11:08 AM

0

#7

View PostKristian Joensen, on 17 May 2020 - 01:14 PM, said:

It is always interesting to see things like this. I wish though it was Vulkan and not D3D12.

I just committed Vulkan support, I'll make a video shortly.
0

#8

Here's a video showing Vulkan support. It works just as well as the D3D12 version, it has bugs, but it works.


1

User is offline   Micky C 

  • Honored Donor

#9

What kind of frame rate is the Vulcan implementation getting?

Also, is there any reason it shouldn’t be getting polymost-like frame rates when there are no fancy effects? You made a polymer comparison earlier yet polymer is extremely unoptimised.
0

#10

View PostMicky C, on 18 May 2020 - 04:17 PM, said:

What kind of frame rate is the Vulcan implementation getting?

Also, is there any reason it shouldn’t be getting polymost-like frame rates when there are no fancy effects? You made a polymer comparison earlier yet polymer is extremely unoptimised.


In this area, PolymerVulkan and PolymerD3D12 is 2.8ms. Polymer Regular(OpenGL) is 10ms. Polymost is 1ms. This is without any multithreading stuff though, so performance will get tighter to Polymost when I get multithreading working.
Posted Image

This post has been edited by icecoldduke: 18 May 2020 - 08:12 PM

0

User is offline   supergoofy 

#11

Will this ever been included in eduke32 ?
0

#12

First Alpha Release for the PolymerVulkan.



Download:
https://github.com/j...ases/tag/Alpha1

BuildNotes:
PolymerVulkan - Alpha Release 1

What is this?
This is a Vulkan renderer for eduke32.

Source Code:
https://github.com/j...l23/PolymerDX12

How to run:
* Bring over the Duke3D.grp file from the Atomic edition.
* Make sure Polymer is checked and fullscreen is NOT checked on the startup dialog. You can use any resolution you want.

Known Issues:
* Opening the console causes the game to crash.
* Switching the hud to different hud types can cause the game to crash.
* Floor aligned sprites don't render properly.
4

User is offline   Danukem 

  • Duke Plus Developer

#13

If it's still in alpha and there are known serious bugs, I'm not sure what kind of feedback to give. I feel like anything we report is probably already known to not be implemented yet.
0

User is offline   MusicallyInspired 

  • The Sarien Encounter

#14

Nice to see Vulkan support. ;)
1

#15

View PostTrooper Dan, on 19 May 2020 - 05:39 PM, said:

If it's still in alpha and there are known serious bugs, I'm not sure what kind of feedback to give. I feel like anything we report is probably already known to not be implemented yet.

I'm looking for a couple things right now. Any big sorts of issues(crashes, non progs, etc), and big graphical issues(like the missing triangle stuff you found). Along with performance metrics along with hardware specs. Since with Vulkan and D3D12 the renderer has to manage lots of stuff that the driver would normally take care of, I just want to ensure there aren't any class A bugs.
0

#16

I've had a few people ask me about Shadow Warrior. I have Vulkan working locally in Shadow Warrior, I have some non rendering related bugs(e.g. broken controls, looks like the code hasn't been touched in awhile) once I fix those bugs I'll release a Shadow Warrior build for testing as well.

Posted Image
3

#17

Please ignore the above post, I started PolymerDX12 from a OLD REVISION, that I somehow got through the synthesis builds download. I'm going to upgrading my repository shortly.
2

#18

I fixed my depot and now I'm at actual head revision ;)


2

#19

Got Floor above Floor working today in VoidSW PolymerVulkan. Also I modified Polymost to work as a occlusion system(rather then for rendering). CLCoast in Duke3D PolymerVulkan renders at 7.8ms, polymost OpenGL renders at 7ms.
Posted Image

This post has been edited by icecoldduke: 22 May 2020 - 06:59 PM

4

#20

Here's a performance comparison on my PC(Nvidia RTX 2080) Vulkan vs OpenGL Polymost. Got some huge performance increases today and got transparent water working.



This post has been edited by icecoldduke: 23 May 2020 - 08:22 PM

2

User is offline   Radar 

  • King of SOVL

#21

Maybe there's some obvious caveat I don't understand, but how are you getting roughly 300 fps in polymost on an RTX 2080? You should be getting 3000.
0

#22

View PostRADAЯ, on 23 May 2020 - 08:28 PM, said:

Maybe there's some obvious caveat I don't understand, but how are you getting roughly 300 fps in polymost on an RTX 2080? You should be getting 3000.

What fps are you getting? Have you tried using a external tool rather then the built in fps counter?
0

User is offline   Radar 

  • King of SOVL

#23

Something is bottle-necking your machine if 300 fps is normal for you. I have an RTX 2070. r_showfps doesn't seem to work in voidsw, so I used the windows game bar to test my frame rate. But either way, I can tell the FPS is too high because I hear coil whine from my GPU. This basically makes polymost unusable for me until a frame limiter is implemented in voidsw.


Posted Image

This post has been edited by RADAЯ: 23 May 2020 - 08:56 PM

0

#24

I rebooted and ensured r_maxfps is 0 and checked the fps again, and even on a 2080 ti on my second pc, same fps in Polymost. The delta between 300fps and 3000fps is like 1.2ms its not much time.

However the more important thing I noticed in Polymost was more performance spikes, probably related to how opengl is building command buffers behind the scenes. I can repo this in eduke32 were performance is closer to 3000fps(0.8ms), however I saw the same spikes(0.5 to 1.2ms in length), only for a few frames, on both my pcs.

These spikes don't happen in Vulkan. Input also seems smoother in vulkan compared to opengl not sure why.

This post has been edited by icecoldduke: 23 May 2020 - 09:10 PM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #25

Ice, what are you using to measure FPS?
0

#26

View PostHendricks266, on 24 May 2020 - 10:22 AM, said:

Ice, what are you using to measure FPS?

Nvidia Nsight. I can use another piece of software if you want, just let me know.

Also just got the invalidate texture pipeline working, so you can now progress through the first level(the camera screen needed that system working).

Posted Image

This post has been edited by icecoldduke: 24 May 2020 - 11:49 AM

0

#27

I've posted a alpha build for PolymerVulkan for VoidSW, for anyone that's wants to try it out. Please read the build notes, I'm looking for performance and stability feedback if possible.
Download:
https://github.com/j...ag/VoidSWAlpha1
Video:


This post has been edited by icecoldduke: 25 May 2020 - 03:06 PM

3

#28

Please before trying PolymerVK, update your drivers to the latest version. There is a known soft lock issue with the March 2020 Nvidia drivers, that is fixed with the latest nvidia driver.
0

User is offline   Micky C 

  • Honored Donor

#29

Any progress on this?
0

User is offline   Tea Monster 

  • Polymancer

#30

Check his YouTube channel.
0

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options