bolrog / d2dx

D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions.
GNU General Public License v3.0
409 stars 49 forks source link

Tile loading issues #176

Open VKatilis opened 2 years ago

VKatilis commented 2 years ago

Noticed that (mostly in act II and Act V) you would have blacked out tiles near the screen edge (or as discovered recently, elements of the interface see image), no matter what the resolution is. Happens when moving towards the respective edge. Much worse in motion as those triangles flicker across the edges. Not sure whether it is motion prediction or D2 multi red causing it

6BF30C6B-71D3-4749-A8FD-33A4BC13AD5C

VKatilis commented 2 years ago

UPDATE:

This is definitely caused by the motion prediction. Turning it off fixes the issue. Which really sucks cause otherwise it works really well

gamedevsam commented 1 year ago

This actually seems to be related to perspective mode for me. Turning off perspective mode fixed the issue.

VKatilis commented 1 year ago

Definitely not perspective mode. If anything, turning it off made it even more noticeable

eleriaqueen commented 1 year ago

Hey, for me the artifacts around the edges of the screen and open inventory/stats panel are acceptable. I'm talking about the "garbage" that appears at the edges of the screen when moving rapidly.

(These artifacts most likely would be hard to fix as you'd need D2DX to render more cells than needed around the screen in order for the prediction to have data to work with thus preventing them)

Now about the black tiles issue...

I'm not able to get tiles to look as jarring as in the picture from VKatillis though.

The most visible artifacts I'm able to reproduce are these :

Undrawn cells

Using freshly compiled D2DX from the original repo with these settings :

[window]
scale=2         # range 1-3
position=[-1,-1]    # if [-1,-1] the window will be centered, otherwise placed at the explicit position given here
frameless=false         # if true, the window frame (caption bar etc) will be removed

[game]
size=[-1,-1]        # if [-1,-1] d2dx will decide a suitable game size, otherwise will use the size given here
filtering=0             # if 0, will use high quality filtering (sharp, more pixelated)
                        #    1, will use bilinear filtering (blurry)
                        #    2, will use catmull-rom filtering (higher quality than bilinear)

#
# Opt-outs from default D2DX behavior
#
[optouts]
noclipcursor=true    # if true, will not lock the mouse cursor to the game window
nofpsfix=false       # if true, will not apply the basic fps fix (precludes high fps support)
noresmod=false       # if true, will not apply the built-in D2HD resolution mod (precludes widescreen support)
nowide=false         # if true, will not choose a widescreen resolution (if noresmod is true, this does nothing)
nologo=false         # if true, will not display the D2DX logo on the title screen
novsync=false        # if true, will not use vertical sync
noaa=false       # if true, will not apply anti-aliasing to jagged edges
nocompatmodefix=true     # if true, will not block the use of "Windows XP compatibility mode"
notitlechange=false  # if true, will not change the window title text
nomotionprediction=false # if true, will not run the game graphics at high fps
VKatilis commented 1 year ago

The “garbage” you’re talking about is the same issue.

eleriaqueen commented 1 year ago

@VKatilis can you test this version with updated external SGD2FreeRes ? I see less culling issues with it. https://github.com/eleriaqueen/d2dx/releases/tag/unofficial-v02

Vahsify commented 1 year ago

@eleriaqueen It works fine with 1.09d, but MapHack for 1.09d don't recognise version of Diablo II with that glide3x.dll. With 0.99.529 MapHack works fine.

eleriaqueen commented 1 year ago

@Vahsify weird... are you sure it's MapHack's error message you're seing ? I would need more detail to maybe know what's going on.

Vahsify commented 1 year ago

@eleriaqueen Yes. Error "Unknown game version" if I click "Install/update" and nothing more. But with Bolrog's 0.99.529 (and other versions) MapHack works fine.

eleriaqueen commented 1 year ago

@Vahsify I enabled issues tracker and added one with the problem you've described

VKatilis commented 1 year ago

@VKatilis can you test this version with updated external SGD2FreeRes ? I see less culling issues with it. https://github.com/eleriaqueen/d2dx/releases/tag/unofficial-v02

Just launched with this - it does seem less noticeable, but it is still there unfortunately

Vahsify commented 1 year ago

@VKatilis can you test this version with updated external SGD2FreeRes ? I see less culling issues with it. https://github.com/eleriaqueen/d2dx/releases/tag/unofficial-v02

Just launched with this - it does seem less noticeable, but it is still there unfortunately

"Extended the tile culling even more, to lessen the tile culling problem in D2DX with motion prediction enabled. Is not guaranteed to fully fix the tile culling problem."

https://github.com/mir-diablo-ii-tools/SlashGaming-Diablo-II-Free-Resolution/releases

CaptainRay1993 commented 1 year ago

You can try my build which is similar to @eleriaqueen build but with the latest SGD2FreeRes update.

wasdwdsa commented 1 year ago

With lastest SGD2FreeRes.dll (3.0.3.1), black triangles don't appear at top or bottom edges, still flicker (less noticeable than before) at left or right edge when character/inventory page is shown. 2