pcsx2 icon indicating copy to clipboard operation
pcsx2 copied to clipboard

[BUG]: The Cat in the Hat – a few minor graphical bugs

Open TheTechnician27 opened this issue 3 years ago • 10 comments

###Update: It looks like Bug 3 was actually a problem with Software mipmapping. Hardware mode correctly emulates the intended behavior. Moreover, Software mipmapping causes blurry background textures, e.g. a large sock in Wishy Washy.

Describe the Bug

Bug 1: What should be solid grass textures have conspicuous tears in them on the level Venus Cat Trap. This is present in all hardware renderers, but it's more pronounced if you upscale it.

Bug 2: What should be dithering on grass is instead a solid, flickering texture. In the screenshot below, look at the very upper right patch of grass and look for yellow-ish pixels in software mode. That's the dithering.

Bug 3: This one actually seems like it should be the other way around. Water droplets in certain areas (namely ones that cross white fog) create these black streaks across the screen in software mode but fail to do so in hardware mode.

Bug 4: ~~Sun doesn't show up in the background of Musical Madness.~~ Issue fixed; tested on the latest 1.7.4118.

~~Bug 5: Heat shimmer doesn't render in the furnace on Boiler Bonanza.~~ Not technically a bug; this is fixed by enabling Auto Flush.

Reproduction Steps

Bugs 1 and 2: Enter Venus Cat Trap. Get to where the Cat is in the screenshots (it's right at the beginning) and move around a bit until you hit the right spot with the hardware renderer active. It's easier to see with upscaling, but it's still present at native resolution.

Bug 3: This is most pronounced near the end of Venus Cat Trap near the goldfish statues (see below).

Bug 4: ~~Go where I am near the end of the Musical Madness stage with hardware renderer active. That, or go to the first area of the level Freezer Burn.~~ Issue fixed; tested on 1.7.4118.

~~Bug 5: Look at the in-level furnace on hardware renderer and without Auto Flush enabled.~~ Not technically a bug; this is fixed by enabling Auto Flush.

Expected Behavior

Bug 1: The grass texture should be solid.

Bug 2: The grass in the upper right corner should have some sort of dithering effect. Instead, the texture flickers every couple seconds.

Bug 3: Certain water droplets should create ugly, black lines over white fog.

Bug 4: The Sun should show up and have a glare as well. This same glitch occurs in the level Freezer Burn. The glare can be re-added by using the 'Preload Frame Data' hack, but the Sun itself remains absent.

~~Bug 5: There should be a wavy heat shimmer effect.~~ Not technically a bug; this is fixed by enabling Auto Flush.

PCSX2 Revision

1.7.2351

Operating System

Windows 10 (64bit)

CPU

Ryzen 1700

GPU

GTX 1070

GS Settings

Default settings. Tried on all hardware renderers.

Emulation Settings

  • MTVU enabled

GS Window Screenshots

Bug 1:

##Software mode Software

##Hardware mode (native) OpenGL native

##Hardware mode (4x native) Vulkan 4x

Bug 2:

##Software mode gs_20220209115401

##Hardware mode gs_20220209115349

Bug 3:

##Software mode Black lines software

##Hardware mode (upscaled, but still present in native) Hardware no lines

Bug 4:

##Software mode Musical Madness software

##Hardware mode Musical Madness hardware

###Bug 5: (Note: not technically a bug; this is fixed by enabling Auto Flush.) The differences are pretty small when viewed in an image; it's in motion where it becomes most apparent something's wrong.

##Software Mode Heat Shimmer

##Hardware mode No Heat Shimmer

Logs & Dumps

Bug 1 and 2: gs_20220209115349.gs.zip

Both bugs were present in the area where these GS dumps were made, so it should contain information for both.

Bug 3: gs_20220209134000.gs.zip

Bug 4: gs_20220209140832.gs.zip

Bug 5: gs_20220209191559.gs.zip (Note: not technically a bug; this is fixed by enabling Auto Flush.)

TheTechnician27 avatar Feb 09 '22 18:02 TheTechnician27

how to make gs dump

tee4341 avatar Feb 09 '22 18:02 tee4341

You can use Shift + F8 for a single-frame dump or Ctrl + Shift + F8 for multiple frames, but you should be fine with Shift + F8 in most cases.

TheTechnician27 avatar Feb 09 '22 18:02 TheTechnician27

Can this be re tested on latest dev, unable to reproduce issues 1,2,3. For issue 4 Preload Frame Data hack helps a bit so it should be added in gamedb.

lightningterror avatar May 20 '22 22:05 lightningterror

Can this be re tested on latest dev, unable to reproduce issues 1,2,3. For issue 4 Preload Frame Data hack helps a bit so it should be added in gamedb.

I'm going to be retesting soon, so hopefully some of these will have worked themselves out or already be in the gameDB.

TheTechnician27 avatar Feb 20 '23 23:02 TheTechnician27

Hopefully you don't need the preload hack anymore, it should be automatic if it's actually needed.

refractionpcsx2 avatar Feb 20 '23 23:02 refractionpcsx2

The game does indeed now render the Sun correctly on that level! I wonder if that issue with the heat shimmer is fixed automatically as well! If it is, then not only is this game 100% definitively better on default hardware settings than it is on software, but in fact there shouldn't exist any perceptible issues on hardware mode, and the game could be categorized as Perfect on hardware renderer. I seriously scoured this entire game from top to bottom last year looking for issues (I probably switched between hardware and software mode a minimum 100 times in every level and in the hub), and these five were all I could find. The first three seem to actually be issues with software rendering, the fourth one is fixed, and then we'll see about the fifth one!

TheTechnician27 avatar Feb 21 '23 00:02 TheTechnician27

Bad news: the heat shimmer works correctly now, which would've made this game literally flawless on hardware mode. However, #6784 (release 3176) introduces a graphical regression.

TheTechnician27 avatar Feb 21 '23 01:02 TheTechnician27

Bad news: the heat shimmer works correctly now, which would've made this game literally flawless on hardware mode. However, #6784 (release 3176) introduces a graphical regression.

You can set blending to Full in the meantime.

lightningterror avatar Feb 21 '23 01:02 lightningterror

@TheTechnician27 any other remaining issues here?

lightningterror avatar Mar 06 '23 20:03 lightningterror

@lightningterror Yes, I've found that (for example, see bug 1) software's mipmapping dramatically decreases the quality of textures in this game compared to hardware renderer (default settings). I was able to show this last year, and I could get back to that level and show it again once I have some spare time. It's visible in other levels too, but there's one part where it's so undeniably obvious that it's the best place for a screenshot.

TheTechnician27 avatar Mar 06 '23 22:03 TheTechnician27

If the quality of textures is decreased in SW, then mipmapping should be set in the GameDB to match SW behavior (hardware accuracy).

MrCK1 avatar Aug 05 '23 16:08 MrCK1

@MrCK1 I went ahead and checked, and the issue is still there. Here is a single-frame GS dump showing the issue for context (look specifically at the sock in the back left). Dr. Seuss' The Cat in the Hat_SLUS-20797_20230806172342.zip

TheTechnician27 avatar Aug 06 '23 22:08 TheTechnician27

image mipmapping basic matches SW

im gonna bet SW matches real hardware

Mrlinkwii avatar Aug 06 '23 22:08 Mrlinkwii

This is how it looks on real hardware, looks pretty identical to me.

Screenshot 2023-08-07 11-46-43

refractionpcsx2 avatar Aug 07 '23 10:08 refractionpcsx2

Thanks for confirming, @refractionpcsx2. I'll cross out Bug 1 and Bug 2. I wonder if this is a LoD thing, since I've noticed HW mode often has a very slightly higher LoD than SW, maybe owing to some sort of floating point issue where the camera is just slightly closer in HW(?). For Bug 3, I'll go ahead and get a GS dump so I can hopefully close out this issue. Otherwise, having tested it pretty extensively on and off over the last couple years, I can say with a good deal of confidence that the game is emulated essentially perfectly (barring that HW LoD/mipmapping thing).

TheTechnician27 avatar Aug 07 '23 10:08 TheTechnician27

It's possible it's a mipmap bug in software, as it isn't without problems, but yeah I would need a GS dump which does show this to confirm it.

refractionpcsx2 avatar Aug 07 '23 10:08 refractionpcsx2

Happy coincidence @refractionpcsx2: I'm no longer seeing this issue, and in fact the rain on SW looks fuller than HW Dr. Seuss' The Cat in the Hat_SLUS-20797_202308070.zip (in a good way) and no longer creates those weird black lines seen in the screenshot. I'll leave a few single-frame GS dumps to show this. At the very least, I'm convinced SW mode runs this game 100% perfectly now, and HW mode is so close to perfect that it may as well be (the only issues I can see are: a select few textures are slightly better on HW mode, and the rain might be slightly different, but I might be seeing it wrong).

TheTechnician27 avatar Aug 07 '23 11:08 TheTechnician27

@TheTechnician27 i/you can add mipmapp though the gamedb for HW mode to fix some/all of the remining HW issues

Mrlinkwii avatar Aug 07 '23 11:08 Mrlinkwii

@Mrlinkwii Once that happens and I scour it for one more playthrough, do you think the game could be put on the list of perfect compatability? The game is: very short (taking maybe 6 hours to 100% complete and way less otherwise), very linear (2.5D with fixed camera angles), and pretty well-known to me, so if visual bugs exist, I should have no problem finding them through generous usage of the F9 key throughout my playthrough.

Also, man, I know it's done for the sake of accuracy which is more important for an emulator at the end of the day, but that severely decreased LoD for SW is going to be painful. For instance, the wall in the background here becomes a blurry mess on SW compared to HW. Oh well, though; I can always change it back manually in my own settings.

Dr. Seuss' The Cat in the Hat_SLUS-20797_20230807062619.zip

TheTechnician27 avatar Aug 07 '23 11:08 TheTechnician27

@TheTechnician27 any compat is done though the forums , your free to make a compat report on the forum and it will be updated then in the gamedb/website

Mrlinkwii avatar Aug 07 '23 11:08 Mrlinkwii

Interestingly, I just noticed a specific case where the SW renderer does considerably better with long-distance texture rendering compared to HW.

If you take a look at the house farthest in the background (near the hat in the hand), the siding is much cleaner with SW mode than HW.

Dr. Seuss' The Cat in the Hat_SLUS-20797_20230807064043.zip

TheTechnician27 avatar Aug 07 '23 11:08 TheTechnician27

@refractionpcsx2 I think the SW renderer and HW renderer might actually be rendering the background polygons at slightly different distances (ironically, though, I think HW is simultaneously rendering them farther and in greater detail). If you look at the top left sign with the striped hat (as well as the "GAS" sign), you can see the polygons clipping differently depending on which renderer is used.

Dr. Seuss' The Cat in the Hat_SLUS-20797_20230807065024.zip

TheTechnician27 avatar Aug 07 '23 11:08 TheTechnician27

the last two dumps look identical in hw and sw with mipmaps full + trilinear (which is what SW uses) the slight differences in geometry is just the difference in how the GPU renders polys

refractionpcsx2 avatar Aug 07 '23 12:08 refractionpcsx2