Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
hobomaster22

Helion - C# (0.9.2.9 4/24 - Goodbye BSP tree rendering)

Recommended Posts

22 hours ago, Blzut3 said:

There was indeed Athlon II X2 as well, but the ones I'm referring to are the FX based ones (Athlon X2 340, 350, 370K, and 450).  There were also Phenom (original) based Athlon X2s in 2008 which don't have the "II" in their name.

True enough, I guess. I suppose I'm just used to calling those chips the FX series without remembering that they had the Athlon name public-facing.

 

Though at that point, it's no longer Athlon 64, but I digress.

Share this post


Link to post

Well I tried the new version of Helion and it's indeed better performance and gameplay wise.

Chaingunner now don't fire each shot like with a sniper precision and accuracy and finally behaves closer to doom. Barells are a bit strange at this point, seems like their height (z) damage blast radius is way larger than x and y. It's still like those barells don't kill mancubus at map23 when in the original game they do, also there's another area to test it - map23's second room where even though the barells sequential explosion may not kill barons of hell, it might damage them so severe that they die instantly out of one pistol shot.

I also tested nuts and omg, I couldn't stand playing it the framerate dropped to 100 fps at worst and yeah, in comparison to having 900 fps when they all wake up is a crime... lol!

 

Good job!

Share this post


Link to post

So Helion was installed on a really old PC with a clear copy of Windows 10 so it could work without additional hussle... I thought.

 

Apparently it needed to install some MS Visual C++ redists but all of them starting from 2002 to 2022 were installed, because even after NET Desktop Runtime 6 was installed the game would exit with an error that it couldn't load a dll from the runtime folder. I have installed Microsoft's official pack of legacy DirectX runtimes for sake of testing Quake MarkV engine as well.

 

Back to specs it's a really old platform: AMD Athlon x2 64 5000+, 2gb 667Hz RAM (1+1) and super awful ATI Radeon HD 2400 PRO, the driver of which was a real struggle to install. It's a graphics card that was actually made to withstand OpenGL 2 and DirectX9 but as time went on they added OpenGL 3.3 and DirectX 10 support and it was a real disaster because in this mode it becomes extremely slow.

 

The results for Helion on this system are 9-15fps on big maps like nuts and planisphere which is completely unplayable. Apparently Helion was also slowing down the game speed in a timedemo fashion if framerate was less than 35FPS? I've got to admit that on vanilla maps made the framerate goes from 40 to 45 fps.

 

GZDoom would also kill that card so I used LZDoom v3.85b to find out that it's only playble on vanilla maps in 640x480 resolution. As a side note, some early pretty big maps of mine worked faster with this card under GZDoom v2.3.2 - it's like when they have already added full support for 3D floors, stacked sectors and line portals and even OpenGL3.3 shaders but without postprocessing effects.

It also hates all games of 2000s era like Battlefield 2, Half-Life 2 and Counter-Strike Source, the playable framerates can be achieved by using 640x480 resolution on lowest graphical settings.

 

My verdict is that for gaming this card is an absolute garbage and Helion not to be blamed. Even software rendering of crispy doom handles nuts without slowdowns on such a slow CPU.

 

https://imgur.com/a/sqtps4b

Edited by Darkcrafter07

Share this post


Link to post

Stunning stuff. My laptop with its dinky CPU can run Sunder's absolutely CPU-thrashing Map 15 at hundreds of frames per second.

 

My only real complaint is that my main desktop PC for some reason refuses to run Helion, and I can't figure any reason why. It says it needs to install the .Net components, I download them, install, run and... it says it needs me to install .Net.

 

Edit: I uninstalled all .Net stuff from my machine, rebooted in safe mode, installed the one Helion requires, rebooted, and NOW it works.

 

My only future wish is for this to eventually support all of GZDoom's features and standards. There's some really fancy high-end mods that absolutely slaughter even top tier machines and I'd love to see them find a new, more efficient home that doesn't enable texture filtering by default.

 

Keep on keeping on. I'd love to see more people working on this. It feels like the big rewrite the Doom engine has needed for yeaaaaaaars.

Edited by Dominic Tarason : Fixed a problem

Share this post


Link to post
On 1/24/2023 at 10:32 PM, Darkcrafter07 said:

So Helion was installed on a really old PC with a clear copy of Windows 10 so it could work without additional hussle... I thought.

 

Apparently it needed to install some MS Visual C++ redists but all of them starting from 2002 to 2022 were installed, because even after NET Desktop Runtime 6 was installed the game would exit with an error that it couldn't load a dll from the runtime folder. I have installed Microsoft's official pack of legacy DirectX runtimes for sake of testing Quake MarkV engine as well.

 

Back to specs it's a really old platform: AMD Athlon x2 64 5000+, 2gb 667Hz RAM (1+1) and super awful ATI Radeon HD 2400 PRO, the driver of which was a real struggle to install. It's a graphics card that was actually made to withstand OpenGL 2 and DirectX9 but as time went on they added OpenGL 3.3 and DirectX 10 support and it was a real disaster because in this mode it becomes extremely slow.

 

The results for Helion on this system are 9-15fps on big maps like nuts and planisphere which is completely unplayable. Apparently Helion was also slowing down the game speed in a timedemo fashion if framerate was less than 35FPS? I've got to admit that on vanilla maps made the framerate goes from 40 to 45 fps.

 

GZDoom would also kill that card so I used LZDoom v3.85b to find out that it's only playble on vanilla maps in 640x480 resolution. As a side note, some early pretty big maps of mine worked faster with this card under GZDoom v2.3.2 - it's like when they have already added full support for 3D floors, stacked sectors and line portals and even OpenGL3.3 shaders but without postprocessing effects.

It also hates all games of 2000s era like Battlefield 2, Half-Life 2 and Counter-Strike Source, the playable framerates can be achieved by using 640x480 resolution on lowest graphical settings.

 

My verdict is that for gaming this card is an absolute garbage and Helion not to be blamed. Even software rendering of crispy doom handles nuts without slowdowns on such a slow CPU.

 

https://imgur.com/a/sqtps4b

Wow, that is some old stuff. I remember my PC from that time period that ran Half Life 2 was a Pentium 4 with a Sapphire 9800 Pro, probably late 2004. Something that slow might be better turning off render.staticmode and using the BSP for vanilla maps. Obviously this won't help with wide open maps, and it's assuming this slow card is just extremely bad at taking the map geometry and dealing with the discards on all the data.

Share this post


Link to post
14 hours ago, Dominic Tarason said:

Stunning stuff. My laptop with its dinky CPU can run Sunder's absolutely CPU-thrashing Map 15 at hundreds of frames per second.

 

My only real complaint is that my main desktop PC for some reason refuses to run Helion, and I can't figure any reason why. It says it needs to install the .Net components, I download them, install, run and... it says it needs me to install .Net.

 

Edit: I uninstalled all .Net stuff from my machine, rebooted in safe mode, installed the one Helion requires, rebooted, and NOW it works. 

 

My only future wish is for this to eventually support all of GZDoom's features and standards. There's some really fancy high-end mods that absolutely slaughter even top tier machines and I'd love to see them find a new, more efficient home that doesn't enable texture filtering by default. 

 

Keep on keeping on. I'd love to see more people working on this. It feels like the big rewrite the Doom engine has needed for yeaaaaaaars.

That is awesome. What is the CPU and GPU by the way?

Share this post


Link to post
24 minutes ago, hobomaster22 said:

That is awesome. What is the CPU and GPU by the way?

It might be worthwhile to test low-end performance more - And i am not talking about Intel HD4600, which yes, is low-end, but i can manage over 60 FPS on relatively demanding maps.

So we are talking about even lower end stuff:

  • Nvidia ION (8 to 16 CUDA cores, OpenGL 3.3)
  • Radeon HD2xxx range (So Radeon HD2400, but also the IGP based stuff, So Radeon HD3000/3200/4000/4200)
  • Geforce x10 range (So Geforce 210, 220, 610, etc)
  • Intel GMA 500 (PowerVR based)

My guesstimate based on absolutely nothing is that these GPU's see little benefit in all the optimizations due to their slowness. And ION is usually paired with Intel Atom, which is horrible anyway.

Share this post


Link to post

I don't think there is much of a point in optimizing for such old and weak hardware that slowly but certainly will vanish from the market.

 

I once had the misfortune of dealing with a Geforce 210 equipped laptop for a few months and it is no fun whatsoever trying to get stuff working on it. If it cannot even handle a vanilla-size map at more than 640x480 it is a clear sign that the hardware is mainly limited by pixel fill rate and the only chance you got on such hardware is to draw less (i.e. clip away whatever you can.)

 

Share this post


Link to post

Hello, so this is the first time I'm running Helion. Where can I look for arguments for the commands? I'd like to change the window.state to Windowed (as opposite to Fullscreen), but it looks like Helion has another argument for that, which I'm not aware of.

Share this post


Link to post
4 minutes ago, taufan99 said:

Hello, so this is the first time I'm running Helion. Where can I look for arguments for the commands? I'd like to change the window.state to Windowed (as opposite to Fullscreen), but it looks like Helion has another argument for that, which I'm not aware of.

 

In the config.ini you can set window.state to normal. You can do it in the console as well if you enter window.state and press tab it will show you valid arguments. In this case it would be window.state 0, and then a restart is required.

Share this post


Link to post
6 minutes ago, hobomaster22 said:

 

In the config.ini you can set window.state to normal. You can do it in the console as well if you enter window.state and press tab it will show you valid arguments. In this case it would be window.state 0, and then a restart is required.

Ah, my bad! The console is far more intuitive than I encountered it at first. Thanks for the simple but helpful reply!

Share this post


Link to post
1 hour ago, Professor Hastig said:

I don't think there is much of a point in optimizing for such old and weak hardware that slowly but certainly will vanish from the market.

 

I once had the misfortune of dealing with a Geforce 210 equipped laptop for a few months and it is no fun whatsoever trying to get stuff working on it. If it cannot even handle a vanilla-size map at more than 640x480 it is a clear sign that the hardware is mainly limited by pixel fill rate and the only chance you got on such hardware is to draw less (i.e. clip away whatever you can.)

 

I agree here. These things are incredibly old at this point. Helion can push pretty high framerates on hardware from 2013/2014 (possibly earlier depending on the GPU) which at this point is a decade old. I don't see a lot of value with going older than that. An old integrated AMD card I have from 2014 can run Eviternity quite easily and stays above 100fps on even the stressful maps such as MAP26. I also have my old GTX 970 Desktop that can stay above 700fps with Sunlust MAP28 on my 4k TV with exactly decade old hardware. A lot of today's cheap integrated GPUs are fast enough to handle pretty much any map. The integrated AMD Radeon (what a nice generic name...) in my laptop stays right at 150fps for Sunlust MAP28 running at 1440.

Share this post


Link to post
1 hour ago, hobomaster22 said:

I agree here. These things are incredibly old at this point. Helion can push pretty high framerates on hardware from 2013/2014 (possibly earlier depending on the GPU) which at this point is a decade old. I don't see a lot of value with going older than that. An old integrated AMD card I have from 2014 can run Eviternity quite easily and stays above 100fps on even the stressful maps such as MAP26. I also have my old GTX 970 Desktop that can stay above 700fps with Sunlust MAP28 on my 4k TV with exactly decade old hardware. A lot of today's cheap integrated GPUs are fast enough to handle pretty much any map. The integrated AMD Radeon (what a nice generic name...) in my laptop stays right at 150fps for Sunlust MAP28 running at 1440.

Depending on the processor, it can be told which AMD Radeon this is. Just for completeness, what is the APU (processor) you are running here?

Share this post


Link to post
1 hour ago, Redneckerz said:

Depending on the processor, it can be told which AMD Radeon this is. Just for completeness, what is the APU (processor) you are running here?


It's a Ryzen 5900HS. Not sure why but older APUs give some sort of model designation if you look at it in the device manager.

Share this post


Link to post

I remember running some performance tests on comparable AMD hardware several years ago with GZDoom. Back then I changed the sector renderer to handle an entire sector in one go instead of doing a separate draw call per subsector.

 

The result was that this brought a nice improvement on modern hardware but these old AMD clunkers totally broke down as a result - they are so strongly limited by their pixel processing abilities that virtually anything you might try to get better performance out of something more modern is doomed to fail on them. Fortunately they have become a mostly irrelevant part of the user share by now.

 

3 hours ago, hobomaster22 said:

The integrated AMD Radeon (what a nice generic name...) in my laptop stays right at 150fps for Sunlust MAP28 running at 1440.

 

It is really annoying. While it is easy to group NVidia and Intel hardware by model, it is always a shitfight with AMD, their model strings are all over the place, and a lot don't say anything at all. In the end I just assumed that if no usable model string is given it is low end hardware that wants to remain anonymous. Your statement seems to confirm that suspicion...

 

Share this post


Link to post
43 minutes ago, hobomaster22 said:


It's a Ryzen 5900HS. Not sure why but older APUs give some sort of model designation if you look at it in the device manager.

Pretty badass APU. That's a Vega 8, with 512 Shaders (Similar to an RX550).

 

That should have decent IGP performance.

Share this post


Link to post
1 minute ago, Graf Zahl said:

In the end I just assumed that if no usable model string is given it is low end hardware that wants to remain anonymous. Your statement seems to confirm that suspicion...

GPU-Z says it all. But this iteration of Vega 8 is pretty decent stuff. Not a RDNA2 based APU, but its quite good in terms of perf relatively.

Share this post


Link to post

How "complete" is MBF21 support in Helion? I can get some maps to load, some weapons to work and etc but no MBF21 Wads I have tried appear to work completely. I wasn't sure if I was doing something wrong haha

 

Edit: Also had a few crashes to desktop in Sunder, fwiw

Edited by nickxcom

Share this post


Link to post

 

51 minutes ago, Redneckerz said:

Pretty badass APU. That's a Vega 8, with 512 Shaders (Similar to an RX550).

 

That should have decent IGP performance.

 

For an APU that's not bad, which makes it even more annoying that AMD gives only a generic model string.

 

Share this post


Link to post
15 minutes ago, Graf Zahl said:

 

 

For an APU that's not bad, which makes it even more annoying that AMD gives only a generic model string.

 

Yeah, I'm not sure why they do that. GPU-Z is able to look it up through the website, but I'm guessing this is pulling the info from the device id in their database. The only thing reported to Windows is AMD Radeon(TM) Graphics. This laptop was manufactured in 2021 with an RTX 3070 that has 5,120 cores and the AMD is exactly 10% of that at 512. The funny thing is even at 1440 I can easily run pretty much any map at my 144hz refresh rate with the AMD, while the RTX is just unnecessary. To get large enough map geometry to stress out an RTX card is going to take a map that pushes way past the 65k side limit, but currently we are limited by the original map format.

Share this post


Link to post
42 minutes ago, nickxcom said:

How "complete" is MBF21 support in Helion? I can get some maps to load, some weapons to work and etc but no MBF21 Wads I have tried appear to work completely. I wasn't sure if I was doing something wrong haha

 

Edit: Also had a few crashes to desktop in Sunder, fwiw

MBF21 is complete, what wads currently do not work?

I suspect I know what the sunder crashes are. There is a hard crash fix for the next release but I have been really busy on top of being sick the past few days so it will probably get released this weekend. If you could post the exception of the crash so I can be sure it's fixed for the next release that would be helpful.

Share this post


Link to post
16 minutes ago, hobomaster22 said:

MBF21 is complete, what wads currently do not work?

I suspect I know what the sunder crashes are. There is a hard crash fix for the next release but I have been really busy on top of being sick the past few days so it will probably get released this weekend. If you could post the exception of the crash so I can be sure it's fixed for the next release that would be helpful.

I'm sorry you are sick!!

 

I tried a few WADS. Ad Mortem loads, but music doesn't and plays stock Doom 2 music. Axolotl loads but the teleporter in the first room doesn't work. Corruption loads but can't select a difficulty level to start. I can certainly try others! :)

 

Edit: Just thought of something: do I need to manually set the comp level, or does Helion pick it automatically like Doom Retro?

 

Attached screenshot is the crash in Sunder, map 1. Appears to have something to do with the Cyberdemon?

 

Screenshot_20230126_122749.png

Edited by nickxcom

Share this post


Link to post
1 minute ago, nickxcom said:

Ad Mortem loads, but music doesn't and plays stock Doom 2 music. Axolotl loads and does play the new music, but the teleporter in the first room doesn't work. I can certainly try others! :)

 

Attached screenshot is the crash in Sunder, map 1. Appears to have something to do with the Cyberdemon?

 

Screenshot_20230126_122749.png

Thanks, that is the crash that will be fixed for the next release. The bounds check was incorrect for line of sight checks. Coincidentally, the Axolotl issue is fixed as well. I stumbled on another wad that used tag 0 for the teleport special. Did not know this worked in the original game, fun bit of information. I will check out what is going on in Ad Mortem as well.

Share this post


Link to post
1 minute ago, hobomaster22 said:

Thanks, that is the crash that will be fixed for the next release. The bounds check was incorrect for line of sight checks. Coincidentally, the Axolotl issue is fixed as well. I stumbled on another wad that used tag 0 for the teleport special. Did not know this worked in the original game, fun bit of information. I will check out what is going on in Ad Mortem as well.

That's great! I will keep my eyes peeled for the new build. Funny timing, I JUST edited the post. I tried "Corruption" too and the custom difficulty levels can't be selected. Sorry for the extra work, no idea why I am on such a MBF21 kick right now lol

Share this post


Link to post
12 minutes ago, nickxcom said:

That's great! I will keep my eyes peeled for the new build. Funny timing, I JUST edited the post. I tried "Corruption" too and the custom difficulty levels can't be selected. Sorry for the extra work, no idea why I am on such a MBF21 kick right now lol 

It's no problem, could be a feature I missed in the original spec. We need to get these things working so the reports are very useful, thanks!

Share this post


Link to post
2 hours ago, Graf Zahl said:

 

 

For an APU that's not bad, which makes it even more annoying that AMD gives only a generic model string.

 

The laptop has a Discrete GPU. It may very well be that in the BIOS this is noted and thus the IGP gets a generic string.

This is as much annoying as calling GZDoom an engine instead of a source port. Sure, it would be great if it actually listed the id-name - Whether this is on purpose or not i can't say - But looking up the Processor tells all you need to know and you only have to do this once, so the annoyance is at best incredibly mild i'd hope.

 

The bigger annoyance is how older AMD IGP's were called the same way despite being different generations or even core counts. A Radeon R7 first gen (Excavator, i believe) could have 384 cores, but a later gen had 512. You couldn't tell.

 

With the current scheme (660M, 610M, 680M) it is atleast clear)

1 hour ago, hobomaster22 said:

This laptop was manufactured in 2021 with an RTX 3070 that has 5,120 cores and the AMD is exactly 10% of that at 512.

Not all cores are created equal. A 128 core RDNA2 part (Radeon 610M) delivers better performance than a Nvidia Maxwell based GPU with 256 cores. Besides technical iteration, it just does not compare.

Vega 8 at 144HZ is good stuff for AMD. It means any pre-Vega GPU (But more so the latest Radeon R7, from 2016 or so) can have a safe bet running Helion.

 

Share this post


Link to post

0.9.1.3 release

More focused on stability now, with some smaller features. Next on the list is likely UMAPINFO. As @nickxcompoint out, Ad Mortem isn't fully functional because it only implements UMAPINFO. This has largely gone unnoticed because most wads also provide a ZMAPINFO that Helion supports.
 

Spoiler

Implemented quick save (F6).
Implemented texture clamping for middle textures. (Previously some middle textures could have stray pixel rows)
Fixed crash for reject index check.
Fixed teleport specials to search tag zero.
Fixed menu offsets.
Resolved issue where things were loaded in reverse order from saves (probably only affected boss brain targets).
Added PD_ANY, PD_ALL3, and PD_ALL6 dehacked strings.
Added check for no ammo type. Fixes dehacked weapons that should have no ammo checks or 'infinite' ammo.
Finished implementation of ZDoom skill definitions to be used in game.
Falls back on IWAD filename if not found in MD5 list.
IWAD now works with drag and drop.
Fixed stalagmite lookup for dehacked.
No longer rejects monster closets with plane scrollers.
Empty monster closets no longer show in monsterclosets command.

 

Share this post


Link to post

Awesome stuff! I am pretty blown away with how well this runs just about everything. Performance is bonkers and compatibility is equally impressive lol.

 

Came across another potential visual oddity/bug. Wad is Fallen Leaves, Map 1. When I flip this purple switch, the area where the switch descends becomes transparent. The ground where the switch descended should be flat and match the surrounding textures, as far as I am aware, and behaves correctly in Nugget and GZDoom (I wanted to test software and Vulkan). I can certainly try different settings if you need me to trouble shoot anything!

helion_20230129_04.06.50.2452.png

helion_20230129_04.08.21.2016.png

Share this post


Link to post
1 hour ago, nickxcom said:

Awesome stuff! I am pretty blown away with how well this runs just about everything. Performance is bonkers and compatibility is equally impressive lol. 

 

Came across another potential visual oddity/bug. Wad is Fallen Leaves, Map 1. When I flip this purple switch, the area where the switch descends becomes transparent. The ground where the switch descended should be flat and match the surrounding textures, as far as I am aware, and behaves correctly in Nugget and GZDoom (I wanted to test software and Vulkan). I can certainly try different settings if you need me to trouble shoot anything! 

 

 

Thanks!

I checked out that map. This happens because the floor lowers below the surrounding floor and it's supposed to flood fill. Helion currently only supports flood filling that exists on map start. Some future work is required to get flood filling to be calculated at runtime.

Share this post


Link to post

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
×