• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

GeDoSaTo - Downsampling from Infinity and Beyond!

Alo81

Low Poly Gynecologist
what is screen size supposed to be? float2(width, height) ?

I sort of assume it must be. It's used in stuff like the dither and CRT shaders.

Example of it being used

Code:
 /*------------------------.
  | :: Ordered Dithering :: |
  '------------------------*/
   #if dither_method == 1 // Ordered dithering
     //Calculate grid position
     float grid_position = frac( dot(tex, (screen_size * float2(1.0/16.0,10.0/36.0)  )+(0.25) ) );

Film grain would be pretty neat and I think some of the SweetFX suites have it.

I'll give it a shot, but it seems to be one of the unique shaders that I think boulotaur made.

Basically, it doesn't seem to follow the same formatting as the other SweetFx shaders, so I've just gotta figure that out first to see if I can implement it.

Edit: Also, it seems like Film grain in particular has a copyright notice that it requires you to include in the documentation and source code, so I'm not sure if Durante is comfortable with adding that in so that GeDo can have the one feature.
 

Alo81

Low Poly Gynecologist
There's now a SCREEN_SIZE macro definition.

Thanks. Totally works. Dither is implemented now. I'm gonna mess around with more shaders and see what seems useful and doable by me, then whatever commit whatever works out later.
 

Parsnip

Member
I see that the chromatic aberration shader is from the boulotaur injector package, there's also a second ca shader that CeeJay.dk posted in the SweetFX thread a while back.

Code:
/*
ColorShift
*/

#define ColorShift_distance float2(0.0,3.5)

float4 ChromaticPass( float4 colorInput, float2 tex )
{
float3 color = float3(0.0,0.0,0.0);

color.r = myTex2D(s0, tex + (pixel * ColorShift_distance)).r;
color.g = myTex2D(s0, tex).g;
color.b = myTex2D(s0, tex - (pixel * ColorShift_distance)).b;

colorInput.rgb = lerp(colorInput.rgb, color, chromatic_strength); //Adjust the strength of the effect

return saturate(colorInput);
}

Personally I have no idea if one is better/more accurate/more super duper chromatic than the other, but I figured I should mention it. If I recall correctly he wrote the shader to replace the other one, so maybe it's better? I dunno.


EDIT: Had a sudden Steam crash, and have been testing a bit after that and it seems I can semi reliably crash Steam silently, without an error message and without an windows event viewer event.
Basically what I do is I launch Steam, launch GeDoSaTo, and then deactivate Gedo, activate Gedo, click on Steam. If it doesn't crash the first time, I deactivate/activate cycle again, click Steam. Rinse and repeat, and it will more often than not crash after couple of cycles, regardless of whether I have whitelist or blacklist selected.
 

MrLampost

Neo Member
Divinity should be working, I play it all the time. Are you using real fullscreen or borderless?.

It's real fullscreen, although forcing borderless has the same result. It's the GOG version of Divinity Ego Draconis if that makes any difference.
Like I said, it downsamples beautifully, the mouse is just trapped in a 1920x1080 section of whatever resolution I downsample from. I'm running dual monitors, but I've tried diabling my secondary just to test.

Wouldn't be so bad if the game responded to the keyboard in menus and inventory, and even the menus and inventory are almost workable at 1440P. It's just the right 5th or so of the screen I can't get to.
 

Stallion Free

Cock Encumbered
Edit: Also, it seems like Film grain in particular has a copyright notice that it requires you to include in the documentation and source code, so I'm not sure if Durante is comfortable with adding that in so that GeDo can have the one feature.

Aww that sucks.
 

knitoe

Member
I just upgraded to Version 0.12.1194 from beta 9 (?) and can't seem to downsample with Dark Souls 2 anymore. There's no longer an option to selection resolution > monitor.
 
The Witcher 2's tutorial area was really bothering me. The in-game HUD toggle wasn't working. So GeDoSaTo to the rescue.

14745627169_1b56410a78_o.jpg

AHHH. Stops working after a while. The game throws more HUD at you. Crazy.

I'll try and find a better hash then.
 

Alo81

Low Poly Gynecologist
Aww that sucks.

For what it's worth, I did just submit a pull request for the dither shader, and the CRT shader if that's worth anything to you~

I added an option to customize what color the scanlines will be as well, so you can decide if you want it to have that green/magenta alternating tint, or just have pure scanlines on your image.
 
I'm having trouble with Divnity: Original Sin. I'd like to downsample and use borderless windowed mode but I can't seem to get the two settings to play nicely together.

If I use the in-game Fake Fullscreen and combine that with gedosato's downsampling it all looks fine, only the mouse click is off (interceptWindowProc is set to 'true' in the game's config). Using gedosato's borderless mode works fine on its own but when I select the downsampling resolution in-game it stops responding and hangs indefinitely. Regular fullscreen + downsampling works perfectly.

Also, I don't know if this means anything but the options menu is listing the added downsampling resolutions twice:
eocapp_2014_08_16_21_28_26_716_by_realghostvids-d7vdmiy.jpg


Should it be doing that? I don't have any additional resolutions set up in the drivers and they don't appear twice in other games.
 

Durante

Member
The listing is just related to how Divinity: OS retrieves resolutions. Don't worry about it.

As for playing in borderless windowed mode with downsampling, look in the Divinity configuration file.
 

Lain

Member
First time using GeDoSaTo since I wanted to try it with Risen 3 and something weird happens for me after ALT-TABing out of the game:
Also, when pulling up menus (be it options or the inventory, the mouse can only move in the reduced window.

In-game I set AA and DoF off.
For GeDoSaTo I set 2 more downsampling resolutions (2560x1440@60 and 2880x1620@60) because 3200 is too high for my GPU, I changed the AA to SMAA and the quality to 4 and I set bicubic instead of bilinear as scaling type.

I'm surely missing the obvious but what else should I set to avoid Risen 3 to... reduce the window resolution for the mouse/UI?
 

wilflare

Member
GeDoSaTo either prevents Steam to start or crashes Steam if it is started after Steam is opened.

using the latest GeDoSaTo (just updated it via the updater moments ago)

any suggestions? :/

EDIT:
okay it seems like it has something to do with using the Task Scheduler
I used the Task Scheduler to run GeDoSaTo as admin on Windows 8.1

Is there any other way to make GeDoSaTo run as admin on Windows 8.1 (on boot) without disabling UAC?
 
The full-size screenshot function is extremely unstable in my version of Witcher 2. Crashes galore at pretty much any resolution. Might it be connected to the screenshots saving as PNG rather than BMP?
 
Right now, my #1 unrealistic feature wish would be for GeDoSaTo to force a game to run at a certain resolution. Particularly for those games that require you to restart the game to change it.... (I'm look at you, Witcher 2)
 

Durante

Member
There's now a new plugin, the GenericDepthPlugin. It allows adding AO to some games, but still requires per-game tweaking of distances/Fov etc in the AO shader. It's based on the work of Boulotaur. In the future, it might also be possible to generically inject DoF with the same plugin.

GeDoSaTo either prevents Steam to start or crashes Steam if it is started after Steam is opened.

using the latest GeDoSaTo (just updated it via the updater moments ago)

any suggestions? :/

EDIT:
okay it seems like it has something to do with using the Task Scheduler
I used the Task Scheduler to run GeDoSaTo as admin on Windows 8.1

Is there any other way to make GeDoSaTo run as admin on Windows 8.1 (on boot) without disabling UAC?
I really really don't know. And I almost don't want to know. Microsoft's "security" shenanigans are really getting on my nerves, so many issues related to that. Obviously what GeDoSaTo does isn't secure, so by all means ask the user once if he wants it to. But that's not at all how it works.

If you want my advice: for the best GeDoSaTo experience, disable UAC.

And don't run untrusted executables off the internet.
 
Why do you suspect this?

No good reason. Anecdotal evidence from other games/grabbers that saving as BMPs is quicker and more reliable than PNGs. That, and I don't know enough about these things to know why else TW2 would be crashing so much. I don't use GeDoSaTo very often so can't say how reliable it would be with other games.
 

Durante

Member
What resolution are you trying to capture? I can grab 5k screenshots off WItcher 2 all day without any crashes.

Really, the only reason I can see why screenshots could cause a crash is a process running out of memory.
 

Durante

Member
First time using GeDoSaTo since I wanted to try it with Risen 3 and something weird happens for me after ALT-TABing out of the game:

Also, when pulling up menus (be it options or the inventory, the mouse can only move in the reduced window.

In-game I set AA and DoF off.
For GeDoSaTo I set 2 more downsampling resolutions (2560x1440@60 and 2880x1620@60) because 3200 is too high for my GPU, I changed the AA to SMAA and the quality to 4 and I set bicubic instead of bilinear as scaling type.

I'm surely missing the obvious but what else should I set to avoid Risen 3 to... reduce the window resolution for the mouse/UI?
I just pushed an update to the Risen 3 profile which should fix the mouse behaviour. As for the rendering... well, don't alt-tab for now :p
 
What resolution are you trying to capture? I can grab 5k screenshots off WItcher 2 all day without any crashes.

Really, the only reason I can see why screenshots could cause a crash is a process running out of memory.

I've dialled it down to 5760x3240. It still crashes at 4K, though, and this is pretty much the only game/grabber combo where I experience crashes at these resolutions.
 
I can only say that I can capture 8K PNGs of Witcher 2 all day long. I suspect it might have something to do with the debug version you're using.

Also, to my surprise, I didn't have to do anything to make GeDo capture ENB+SweetFX in The Witcher 2 as well. Which is cool.
 

wilflare

Member
There's now a new plugin, the GenericDepthPlugin. It allows adding AO to some games, but still requires per-game tweaking of distances/Fov etc in the AO shader. It's based on the work of Boulotaur. In the future, it might also be possible to generically inject DoF with the same plugin.

I really really don't know. And I almost don't want to know. Microsoft's "security" shenanigans are really getting on my nerves, so many issues related to that. Obviously what GeDoSaTo does isn't secure, so by all means ask the user once if he wants it to. But that's not at all how it works.

If you want my advice: for the best GeDoSaTo experience, disable UAC.

And don't run untrusted executables off the internet.

thanks! I thought I always had UAC disabled... turns out I missed out that Regedit step. now everything works - and I guess it's time to uninstall those Metro apps nonsense too
 
I can only say that I can capture 8K PNGs of Witcher 2 all day long. I suspect it might have something to do with the debug version you're using.

Tell me about it. This build is just horrible from a stability standpoint. It's v2.0 effectively, and you'd think it enjoyed crashing. Refuses to run with ENB at all.
 
Tell me about it. This build is just horrible from a stability standpoint. It's v2.0 effectively, and you'd think it enjoyed crashing. Refuses to run with ENB at all.

Hate to be a problem, but I would more carefully choose your adjevctives. This program is made available with no costs to the user, it need not be perfect and a grateful attitude seems more appropriate.
 
This build is just horrible from a stability standpoint when run at high resolutions in conjunction with certain mods. Other builds are less horrible under those conditions.

That's as good as you're going to get. I've spoken to CDP at great length about this build and devoted over a hundred hours to getting it up and running. I've expressed my gratitude to them so often it was becoming quite embarrassing.

Do you work at CDP?
 
Hate to be a problem, but I would more carefully choose your adjevctives. This program is made available with no costs to the user, it need not be perfect and a grateful attitude seems more appropriate.

I think he means the build of The Witcher that he's using. Not GeDoSaTo.
 

knitoe

Member
I just tried this, can't reproduce it. Anyone else?

I went back to Beta 10 and it's working again.

Settings that I have changed:
renderWidth 3840
renderHeight 2160

presentWidth 2560
presentHeight 1440

presentInterval 1

scalingType lanczos

aaType smaa

ssaoStrength 3

ssaoBlurType sharp
 
Durante, do you have a few generic fixes/tips that might work in my case? I've tried enabling LAA on this build on the off-chance it wasn't, but beyond that I'm out of ideas. Could it be an issue with system setup or purely this particular build of the game?

Something I forgot to add. It doesn't always crash, but after a while it'll say it's grabbed the shot but not actually write anything to the folder.
 

Durante

Member
As I said, I just don't see how screenshot taking could make anything crash :/
It's some of the most simple code in the whole program. The only thing "special" about it is that it's parallel, but the asynchronous part is even more trivial and doesn't even have any interactions with the DirectX API. So basically, I don't understand how the host application could have any impact on its stability.
 

Durante

Member
Part of that code was actually slightly fishy, but more of a performance than correctness issue.

Anyway, I've just pushed a built which fixes that, adds an option to change the degree of parallelism when taking screenshots (or makes it completely sequential), and adds an index to screenshot names in the end so that you can take more than one per second.

If you still have issues, try setting maxScreenshotParallelism to 0 (at the bottom of the ini).
 
I set maxScreenshotParallelism to 0 and, hmm, it didn't output anything to the folder at all. It said it did, but nothing. On the plus side, it didn't crash.

I'll try with the default option.
 

Irobot82

Member
IT seems like most games I have tried all have UI issues when downsampling? Is there a fix for this in the setting or is this something we just have to deal with?
 
IT seems like most games I have tried all have UI issues when downsampling? Is there a fix for this in the setting or is this something we just have to deal with?

This is covered in depth in the past several pages of this thread; for the UI to be handled independently of downscaling the portion of the particular game's rendering thread that handles the UI must be known. There are instructions further up thread for you to do this work on your own, and you can provide a hash here or do a pull request on Github to have your pshash findings added to the default profile.
 

wilflare

Member
Code:
# The actual rendering resolutions you want to use,
# and how many Hz you want the game to think they work at.
# format: renderResolution [width]x[height]@[hz]
renderResolution 3200x1800@60
renderResolution 3840x2160@60
renderResolution 3840x2400@60
renderResolution 5120x2880@60
renderResolution 7680x4320@60

@Durante, any chance we can have 16:10 4K resos such as 3840x2400@60 added as default? it's just me being lazy I confess - but that would also mean one less thing to edit per update :X

Code:
# The type of scaling you want to use.
# bilinear: what GPUs generally do, cheap performance-wise
# bicubic: higher quality, more expensive performance-wise
# lanczos: higher quality and sharp, most expensive performance-wise
# nearest: extremely cheap, generally ugly, but useful to upsample retro games
scalingType lanczos

what's everyone using for this setting usually?
 

Durante

Member
If anyone here can reproduce the "Dark Souls 2 not launching" problem with recent versions, please try what I've written here and tell me the results.

@Durante, any chance we can have 16:10 4K resos such as 3840x2400@60 added as default? it's just me being lazy I confess - but that would also mean one less thing to edit per update :X
No, but I have an idea in mind which should make updating less effort for everyone. Basically, there will be a .user config file which won't be overwritten by any update.

what's everyone using for this setting usually?
For me it depends on the game. If a game is a bit soft I use lanczos, otherwise mostly bilinear.
 
okay it seems like it has something to do with using the Task Scheduler
I used the Task Scheduler to run GeDoSaTo as admin on Windows 8.1

Is there any other way to make GeDoSaTo run as admin on Windows 8.1 (on boot) without disabling UAC?

I really really don't know. And I almost don't want to know. Microsoft's "security" shenanigans are really getting on my nerves, so many issues related to that. Obviously what GeDoSaTo does isn't secure, so by all means ask the user once if he wants it to. But that's not at all how it works.
There are ways to run a program as NT AUTHORITY/SYSTEM and bypass UAC (the equivalent to Linux "root" user)
As wilflare said before Windows 7 you could simply use the task sheduler and run something like
Code:
at 01:23 /interactive cmd.exe
Which was depreciated for security reasons.

Now it's still possible to start a interactive service console on a special desktop. (via Windows Service control, sc create ...)
clipboard03fmd35.png

Or simpler, using Sysinternal PsTools.
Code:
psexec -sid <yourapp.exe>
clipboard07a9bvg.png

(use with caution, obviously)

Edit: Virus-scanners will probably flag this, even though it's an official Microsoft program.
 

Irobot82

Member
This is covered in depth in the past several pages of this thread; for the UI to be handled independently of downscaling the portion of the particular game's rendering thread that handles the UI must be known. There are instructions further up thread for you to do this work on your own, and you can provide a hash here or do a pull request on Github to have your pshash findings added to the default profile.

Sweet thanks, I'll start diving into this and see what I can find.
 
My stability with Witcher 2 and saving screenshots has not improved with this latest build. I can set the parallelism to 0 and it 'saves' but doesn't actually write anything, or I can stick with the default and it crashes after a few shots, as before.

Durante, is there any chance of getting a screenshot format option, as is the norm for these kinds of things? PNG, BMP and TGA are the de facto standard, but BMP would at least satisfy my curiosity.
 

Alo81

Low Poly Gynecologist
Sweet thanks, I'll start diving into this and see what I can find.

I'm not sure that will actually resolve the issue you're talking about.

If I'm reading your problem correctly it's an issue of UI scaling, and I don't believe that the PSHash stuff people do in GeDo actually corrects UI scaling. It just prevents post-processing effects from being rendered on top of the HUD and allows for taking HUdless screenshots.
 
Okay, so I think the crashes were because when I run games at zany resolutions, it often doesn't 'catch' the key press first time and I end up holding the key until it does. In this case, I guess that was bombing it with requests and making the game crash. I tried just tapping the key until it registered and didn't get a crash.

However, I still get the issue where nothing is saved to the folder after a few shots, despite GeDoSaTo saying it has been. If I run with parallelism at 0 then I don't get any shots in the folder at all.
 
Top Bottom