Page 1 of 2

Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 6:16 pm
by Aradar
If I click on dxNothing, the Video FX are there but as soon as I click on a different window, they disappear. In addition, the viewer is showing the whole right side of the source window instead of just the map in the top corner which is the only thing covered by the source box.

This is a clean install on Diablo 3 with 4 characters and 2 dxNothings. I scrapped my previous setup with the intention of putting the maps across the bottom instead of on a separate monitor in my peripheral vision but then this happened.

Any suggestions?

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 6:23 pm
by bob
Aradar wrote:If I click on dxNothing, the Video FX are there but as soon as I click on a different window, they disappear.
They disappear if you have not selected the option "Video fx viewers stay in background (Blocks VideoFX Sources)" option on the character you want the viewer to always be present on. As the name of this option suggests, if you select this option, then that character window (slot) cannot also be used as a source for other videofx viewers. It is usually applicable to DXnothing windows rather than game windows. You need to restart the DXNothing after setting this option for it to take effect.

Aradar wrote:In addition, the viewer is showing the whole right side of the source window instead of just the map in the top corner which is the only thing covered by the source box.
Several possible options on this.
1. The viewer and the source are not the same size
2. You have Windows display scaling enabled
3. You have Windows App Compatibility options set which is setting HIGHDPIAWARE on the diabloiii.exe
4. You have another program which is accessing the Windows DWM and is interfering with the videofx. Things like screenshot grabbers, some streaming software (specific configurations of it anyway), etc.

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 6:45 pm
by Aradar
I've never had these issues before with D3 so I'm not sure what is different this time around.

I figured out the first part but thank you for pointing it out.

As to the second part, let me clarify a little. I can get it to only show what I want but as I play with the borders and the picture expands and contracts, I can see more than is in the viewer box.
1. I made them the same size and it still does it.
2. Best I can tell, everything is set to 100.
3. I went to the D3.exe and under the compatibility tab, nothing is checked off including "Disable display scaling on high DPI settings". If this isn't what you were referring to, please advise.
4. I don't have any of these running that I'm aware of.

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 6:57 pm
by bob
Aradar wrote: I can get it to only show what I want but as I play with the borders and the picture expands and contracts, I can see more than is in the viewer box.
Actually the viewer will only show what the source box is feeding it (although there are a few oddities in that windows will force the aspect ration of the source/viewer to be the same).
A videofx source is a fixed sized section of the source window, specified in pixels. If you change the size of the source window, but not the size of the videofx source section, then yep, the viewer will show more, because you are changing what the source is grabbing.

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 7:20 pm
by Aradar
bob wrote:
Aradar wrote: I can get it to only show what I want but as I play with the borders and the picture expands and contracts, I can see more than is in the viewer box.
Actually the viewer will only show what the source box is feeding it (although there are a few oddities in that windows will force the aspect ration of the source/viewer to be the same).
A videofx source is a fixed sized section of the source window, specified in pixels. If you change the size of the source window, but not the size of the videofx source section, then yep, the viewer will show more, because you are changing what the source is grabbing.



Sorry, I was referring to the viewer box. As you probably know, the source video will only fill so much of the viewer box no matter how large the viewer box is but as you shrink the viewer box below that max amount, the picture begins to adjust to the new size of the viewer. In this case, it is shrinking and displaying more than is actually in the source box.

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 7:32 pm
by bob
This is where the oddities of the Windows API come into play. The viewer needs to be the same aspect ratio as the source, otherwise the Windows API (DWM) will adjust the source dynamically.

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 8:57 pm
by Aradar
bob wrote:This is where the oddities of the Windows API come into play. The viewer needs to be the same aspect ratio as the source, otherwise the Windows API (DWM) will adjust the source dynamically.


Previously I had all the regions maxed though they were on different size monitors. Now the game regions are 2560, 1200 across the top and the dxNothing is 2560, 400 across the bottom. Are you saying this is the cause of the issue and if so am I stuck with it? I can live with it since I can just adjust the viewer to make it go away but I want to make sure I'm understanding you correctly.

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 9:21 pm
by bob
idk really understand what your issue is anymore (or at least I thought I did, now I don't). Sometimes a picture is worth a thousand words, as the saying goes.

That said, I can only re-iterate what I've already said.
The source and the viewer box should be the same aspect ratio, i.e. 16:9 or 4:3 or 27:3 or whatever. Whatever aspect ratio your source is, your viewer should be the same. Whether the viewer is smaller or bigger (in pixels) than the source does not matter, as the view should be scaled to fit. It is the aspect ratio of the sizes of the source and the viewer which matter. i.e. your source could be 2560x1200 and the viewer could be 853x400, which is the same aspect ratio of 32:15 for both windows. The viewer should display the source quite nicely within this, and it would be a scaled down view.

The only other thing that jumps to my mind that might be causing you grief is perhaps your window layout is forcing the dxnothing to display incorrectly, because your dxnothing is in a swap group which has a reset region of a different size to the dxnothing window ? DXnothing usually needs to be in a swap group with no reset region specified (whether its own group or a communal one).

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 10:42 pm
by Aradar
Game Region.jpg
Game Region.jpg (192.43 KiB) Viewed 21908 times


In this photo it clearly shows the Source only covers the minimap.

dxNothing Region - 1.jpg
dxNothing Region - 1.jpg (43.84 KiB) Viewed 21908 times


This is what the Viewer looks like in the dxNothing window. It looks correct because I've sized it to look correct.

dxNothing Region - 2.jpg
dxNothing Region - 2.jpg (14.18 KiB) Viewed 21908 times


This is what the Viewer looks like as I decrease the width. As you can see, it is showing all the way to the bottom of the game region instead of just to the bottom of the Source box.

Re: Video FX disappearing when dxNothing isn't Main Window

PostPosted: Tue Aug 09, 2016 10:54 pm
by bob
Because you have decreased only one dimension, so the Windows API that VideoFX is using dynamically resizes the source (without updating the ISBoxer display to indicate that it is happening - this requires a bunch of callback routines which aren't exposed by the API), so that the viewer and the source have the same aspect ratio. This is something that the Windows API is doing. It is not something that can be changed in ISBoxer or Inner Space. You need to change both dimensions if you don't want to see the extra bits.

To reiterate what I have previously said. Your viewer and your source should be using the same aspect ratio, regardless of the actual pixel dimensions. You can use this handy site to help you calculate the pixel dimensions while keeping the same aspect ratio.