Reply 420 of 1111, by Dege
Thanks!!
Now I can reproduce it. Since the light issue doesn't happen natively, I'll check it out to see the difference.
Thanks!!
Now I can reproduce it. Since the light issue doesn't happen natively, I'll check it out to see the difference.
it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced"
this is a problem with nglide as well, so its not only dgvoodoo's problem,
Also running the game in normal 640x480, the game turns into widescreen mode.
Maybe there something incorrect with the unforced scaling in this instance for this game , its like its doing the inverted
running unforced as stretched mode, but running 4:3 as, from 4:3 to 16:9 and then back again to 4:3
Or maybe it doesn't render the last pixels at the corners of 2d as transparent?
I think it's a common problem.
Severance get a different text size/position using even a forced resolution == resolution set in the launcher.....
wrote:Also running the game in normal 640x480, the game turns into widescreen mode.
Maybe there something incorrect with the unforced scaling in this instance for this game , its like its doing the inverted
running unforced as stretched mode, but running 4:3 as, from 4:3 to 16:9 and then back again to 4:3
Your English is a bit confusing here, but when running the game in 640x480 I get a 4:3 picture just fine.
Which scaling mode are you using? Remember that the handling of "Unspecified" is entirely up to your GPU drivers. "Centered" and "Stretched" are too, but those two have concrete meanings. Also make sure you're not running windowed.
wrote:it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced" this is a problem with ng […]
it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced"
this is a problem with nglide as well, so its not only dgvoodoo's problem,Also running the game in normal 640x480, the game turns into widescreen mode.
Maybe there something incorrect with the unforced scaling in this instance for this game , its like its doing the inverted
running unforced as stretched mode, but running 4:3 as, from 4:3 to 16:9 and then back again to 4:3Or maybe it doesn't render the last pixels at the corners of 2d as transparent?
Aren't you running Hitman through Glide in (accidental) windowed mode and that's why its window is stretched along the screen?
Unfortunately font and other texturing artifacts is very common with forced resolution/msaa.
BTW, I've released the cumulated fixes as dgVoodoo 2.55.1.
wrote:wrote:it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced" this is a problem with ng […]
it seems Hitman 47, get messed up its 2d scaling and fonts, if any resolution is other than "unforced"
this is a problem with nglide as well, so its not only dgvoodoo's problem,Also running the game in normal 640x480, the game turns into widescreen mode.
Maybe there something incorrect with the unforced scaling in this instance for this game , its like its doing the inverted
running unforced as stretched mode, but running 4:3 as, from 4:3 to 16:9 and then back again to 4:3Or maybe it doesn't render the last pixels at the corners of 2d as transparent?
Aren't you running Hitman through Glide in (accidental) windowed mode and that's why its window is stretched along the screen?
Unfortunately font and other texturing artifacts is very common with forced resolution/msaa.
glide and Direct 3d, and fullscreen its what I tryed, and it might be very possible my gpu doing some stretching, even if the game running in 640x480 unforced.
but for whatever reason, it all streches, even if i explicit force the gpu scaling to preserve aspect ratio.
The artifacts its doing when upscale the resolution , i wouldn't bother if it whas minor, but its bad.. it look almost like its repeating its pixels.
nGlide also gives the same problem, and forcing point filtering in dgvoodoo, does not fix the problem, so it isn't the usual bilinear pixel-mess glitch.
The more i think about it, its almost as the 2d and text won't resize properly. like it got stuck , its kinda hard to explain.
here is a screen shoot : https://1drv.ms/u/s!Agj8jUvjAJjznS7dLWlTGppxCQX4
Also my NVIDIA card did manage to force the game back again to 4:3 when running unforced.
My AMD doesn't do it for some reason
Edit 2 : My Intel GPU can also scale the game to proper aspect ratio, now its just my AMD card left for some stupid reason
I should also mention that I had to select "Override application scaling" in the gpu control panel for NVIDIA and INTEL
wrote:here is a screen shoot : https://1drv.ms/u/s!Agj8jUvjAJjznS7dLWlTGppxCQX4 […]
here is a screen shoot : https://1drv.ms/u/s!Agj8jUvjAJjznS7dLWlTGppxCQX4
Also my NVIDIA card did manage to force the game back again to 4:3 when running unforced.
My AMD doesn't do it for some reasonEdit 2 : My Intel GPU can also scale the game to proper aspect ratio, now its just my AMD card left for some stupid reason
I should also mention that I had to select "Override application scaling" in the gpu control panel for NVIDIA and INTEL
D3D11 which dgVoodoo2 uses has a setting for scaling with three options and it needs to be set. those are the three first modes available in dgVoodoo2:
When any of those modes are selected, that's just a flag that's passed to the driver along with the 640x480 image, dgVoodoo2 has no say in how the image is actually scaled.
So AMD treating "Unspecified" as "Stretched" with no workaround is an AMD issue (that also affects other D3D11 software), not a dgVoodoo2 issue, but dgVoodoo2 has other scaling modes available where dgVoodoo2 tries to resize the image itself. This can work around this specific issue. Those scaling modes are the following:
Use those. There's also some filtered options and advanced options in the config file that will also work.
You can also try disabling GPU scaling and leaving the scaling to your display. This obviously gives inconsistent results across different setups though.
That my AMD doesn't scale low 4:3 resolution properly, isn't a big issue, but good for troubleshooting or testing before applying any features
i'v done some tedious testing, and this is what I discover
Cleanest result, almost perfect.
Game running in 640x480 or 640x400, dgvoodoo running 2x resolution, Stretched, keep Aspect Ratio and ImageScaleFactor 2
Cleanest but incorrect main menu scaling, menu getting cropped
Game running in 320x200 or 300x200, dgvoodoo running 2x resolution, Stretched, keep Aspect Ratio and ImageScaleFactor 2
Any higher resolution gives ugly text back, and some hud elements doesn't render properly.
Any higher than 3x like 4x or max QHD gives the worst result , leading back to how the screenshoot shows.
This is also with no AA, or any filtering enabled.
Edit 2 : I discovered that the text is actual TrueTypeFonts , that is converted to bitmap graphic by the game, since I actually tried to replace one of the game font files from windows, and it did work, but the same issues remained.
and a bold font seems to make it even worse.
I found this information about Converting font to bitmap from the 2000 , since Hitman uses DirectX 7, don't know if its any useful
https://realmike.org/blog/projects/fast-bitma … for-directdraw/
wrote:Various builds of DXVK, including the latest and greatest.
Progress!
wrote:A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.
Whoa!!
Unfortunately testing DXVK is a pain for me because I permanently have my secondary monitor attached to my integrated Intel (for testing purposes) and DXVK hangs in Intel's Vulkan driver at startup.
What about its performance?
wrote:That my AMD doesn't scale low 4:3 resolution properly, isn't a big issue, but good for troubleshooting or testing before applyin […]
That my AMD doesn't scale low 4:3 resolution properly, isn't a big issue, but good for troubleshooting or testing before applying any features
i'v done some tedious testing, and this is what I discover
Cleanest result, almost perfect.
Game running in 640x480 or 640x400, dgvoodoo running 2x resolution, Stretched, keep Aspect Ratio and ImageScaleFactor 2Cleanest but incorrect main menu scaling, menu getting cropped
Game running in 320x200 or 300x200, dgvoodoo running 2x resolution, Stretched, keep Aspect Ratio and ImageScaleFactor 2Any higher resolution gives ugly text back, and some hud elements doesn't render properly.
Any higher than 3x like 4x or max QHD gives the worst result , leading back to how the screenshoot shows.
This is also with no AA, or any filtering enabled.Edit 2 : I discovered that the text is actual TrueTypeFonts , that is converted to bitmap graphic by the game, since I actually tried to replace one of the game font files from windows, and it did work, but the same issues remained.
and a bold font seems to make it even worse.
Hitman's text glitches are because of the incorrect texel->pixel mapping caused by the forced resolution or MSAA. 😖
I see, but I wonder, how is dgvoodoo render 2d and 3d together ?
I was just wondering, could it be possible to do separate rendering for 2d and 3d, so let's say
the 2d is untouched and then just scaled up , like what you would do normaly on 2d , and render that as a layer on top of the 3d?
and what I mean by scaled up, I don't mean the resolution, but just scaled it up like you would resize an image with nearest neighbor.
I know in that case, the 2d would be pixelated, but not blurry.
I was thinking of all those games that have similar issues like hitman. , so that would require an additional render option.
wrote:Unfortunately testing DXVK is a pain for me because I permanently have my secondary monitor attached to my integrated Intel (for testing purposes) and DXVK hangs in Intel's Vulkan driver at startup.
Intel is not recommended at this time, too shaky drivers I guess.
wrote:What about its performance?
By quick and unprofessional assessment, I'd say it needs 2 - 5 ms more time to produce a frame on my card on Windows. Linux driver is slower for me, so it also adds up there. Forcing MSAA also has noticeable negative impact, which otherwise may not make much of a difference natively.
It also has problems handling multiple monitors when you try fullscreen mode (it tries some odd resolution instead of the selected one).
wrote:A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.
Maybe DXVK eventually will be a workaround for games dgVoodoo2 has driver bugs with? Here's MechCommander 2 running under dgVoodoo2 + DXVK on a Nvidia setup that would otherwise just crash when running only with dgVoodoo2:
Sadly, there's no way of doing antialiasing. dgVoodoo2's antialiasing is not working (and has artifacts with this game anyway), Nvidia forced FXAA is not working and obviously ReShade SMAA is not working since it doesn't support Vulkan. V-sync is also broken.
I've been experimenting with dgVoodoo and DXVK on WINE on Linux. One shouldn't forget about installing d3dcompiler_47.dll and set that DLL override to native. Also had to install comctl32 with winetricks and afterwards delete DLL override settings related to it. Without installing comctl32, drop-down lists in dgVoodooCpl.exe weren't functioning properly; changes to selections in those lists didn't register. And without the final step of removing DLL override setting for comctl32 (or just setting it to builtin), pop-up descriptions of individual options were absent.
wrote:A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.
wrote:I see, but I wonder, how is dgvoodoo render 2d and 3d together ? I was just wondering, could it be possible to do separate rende […]
I see, but I wonder, how is dgvoodoo render 2d and 3d together ?
I was just wondering, could it be possible to do separate rendering for 2d and 3d, so let's say
the 2d is untouched and then just scaled up , like what you would do normaly on 2d , and render that as a layer on top of the 3d?
and what I mean by scaled up, I don't mean the resolution, but just scaled it up like you would resize an image with nearest neighbor.
I know in that case, the 2d would be pixelated, but not blurry.
I was thinking of all those games that have similar issues like hitman. , so that would require an additional render option.
2d and 3d cannot be distingusihed for Hitman. All that dgVoodoo can see when rendering a frame is 'draw-triangles'. Text is composed of 2 small textured triangles per character and dgVoodoo doesn't know what it's actually drawing. 😖
wrote:Maybe DXVK eventually will be a workaround for games dgVoodoo2 has driver bugs with? Here's MechCommander 2 running under dgVoodoo2 + DXVK on a Nvidia setup that would otherwise just crash when running only with dgVoodoo2:
This game is really weird. When I try to run it on nVidia I get the following messages from initializing D3D11: 😕 😕
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
*** WARNING - PE SIGNATURE VERIFICATION FAILED !!!
*** Filename: C:\WINDOWS\System32\DriverStore\FileRepository\nv_ref_pubwu.inf_amd64_708ec8f9a4d134c6\nvwgf2um.dll
*** Error: 0x80092009
I guessed it had to be because of compat settings in the system database but didn't find anything for this game. Works perfectly on AMD though.
Dege, when I set "EnumeratedResolutionBitdepths = 32", I noticed that both 16bit and 32bit gets enumerated to the application. Is this a bug? Is there a way to enumerate only 32bit resolutions to the game?
Some games (such as Star Wars Racer) automatically choose 16bit display mode when both 32bit and 16bit are enumerated. That's how I discovered this issue.
Is it possible to add an option to the INI config file to enumerate 24bit resolutions to the games?
Yes, that's a bug, nice find! Fixed.
As for 24 bit things, I always wanted to avoid them as much as possible. It must be supported at some degree though because 24bit surfaces in system memory are always supported natively and also, I encountered some games assuming 24bit z-buffer is available by default.
But using 24 bit resources are just call for trouble, they are inefficient, dgVoodoo cannot provide fast-access for them, etc., so I omitted supporting 24 bit display modes too. Is there a particular game that want to use such a display mode?