First post, by Joshhhuaaa
Not sure how familiar everyone here is with early Unreal Engine 2 and its games but just some quick info:
Many early Unreal Engine 2 shipped with a Unreal Level Editor, commonly referred to as UnrealEd. UnrealEd 1.0-2.0 were both for Unreal Engine 1. Unreal Engine 2 games use UnrealEd 3.0, some make the mistake of UnrealEd 3.0 being Unreal Engine 3. There were many public UnrealEd's that shipped alongside their game: Unreal 2, Unreal Tournament 2003/2004, Rainbow Six 3, Postal 2, Thief 3, Splinter Cell: Pandora Tomorrow Versus, Splinter Cell: Chaos Theory Versus, SWAT 4, etc.
All of these games that shipped with UnrealEd have an issue that is widespread with newer Windows 10/11 and using modern graphics cards from Nvidia, AMD, and Intel. This affects many modding communities for these old games that use the level editors and decide to upgrade to newer hardware. It has been an issue since 2015 with the launch of Windows 10 pretty much with no solutions to be found.
The issue: When selecting an actor (basically any object in a level) in any of the 3D viewports, the application hangs for several seconds, and then finally your actor is selected. This hang time can become very frustrating as the more complex your level gets, the longer you must wait. A level that is filled with thousands of actors can take up to 20+ seconds just to select any actor. The GPU usage does spike high in usage as it's trying to select the item and UnrealEd is unresponsive as you wait.
The only workaround I have found is disabling your graphics card in device manager, and running UnrealEd in software mode with your CPU. Actors select nearly instant as it was in the old days, with no longer than half of a second of waiting. I have been experimenting with many solutions as software mode's performance is terrible obviously so it's not practical.
So why am I even posting this as a dgVoodoo2 topic? dgVoodoo2 hasn't been compatible with UnrealEd as long as it existed unfortunately as far as I know. Upon opening it with dgVooodoo2, all of the 3D viewports and browsers are all severely broken.
Picture of dgVooodoo2 running UnrealEd:
Picture of UnrealEd using no wrappers (how it's intended to look):
So the reason why dgVooodoo2 is involved here: I made a little discovery that can greatly reduce this issue while running UnrealEd with a hardware GPU using dgVoodoo2's Fast Video Memory Access feature.
I performed a test where I select a simple actor on a map that is filled with upon thousands of actors. I simply left click and measured the amount of time until the UnrealEd window became responsive again and the actor highlighted green as selected. The results are:
~0.50 seconds selecting (Software CPU)
~3.15 seconds selecting (dgVoodoo2 with fast video memory access enabled)
~12.15 seconds selecting (Hardware Nvidia GPU with on wrapper)
~19.05 seconds selecting (dgVoodoo2 stock settings)
As you can see, this fast video memory access feature is very good at trimming the time down, it's not quite perfect like software mode but it's definitely an improvement. Sadly, this improvement doesn't help much because as shown above dgVoodoo2 doesn't even display the 3D viewports correctly. I assume most likely nobody can help beside Dege with this (Unsure if dgVoodoo2 is open source and if people know of its internal techniques).
This issue is widespread through many games and older communities, so this could make many people happy to see some kind of fix.
So, the questions I got:
- How difficult would it be to make UnrealEd's 3D viewports compatible with dgVoodoo2?
- What exactly does the option "Fast video memory access" do? I know the option is probably self-explanatory, but possibly share more details. It would be great if that the option got so optimized to the point it was on par with software mode's selection speed.
- Even if you don't think you could get dgVoodoo2 and UnrealEd to like each other, is there a way you could make a simple fix that literally just enables "Fast video memory access" with no additional improvements like emulating a old video card, so we could experience this speedup on a modern GPU.
Thanks for anyone who took the time to read and hope we can find a fix for this issue that has been a problem for quite awhile now causing some to give up editing levels on newer PCs. You don't exactly need a retro PC, but Windows 10/11 are completely busted. The last PC I had with a working UnrealEd was Windows 7 with a Nvidia GTX 900 series video card. I've also tried using DX8to9 as well as DXVK and the issue persists even in Vulkan.