Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Bugged" Background with 4xBRZ Texture Shader #15094

Closed
4 of 5 tasks
bajolzas opened this issue Nov 3, 2021 · 4 comments
Closed
4 of 5 tasks

"Bugged" Background with 4xBRZ Texture Shader #15094

bajolzas opened this issue Nov 3, 2021 · 4 comments
Milestone

Comments

@bajolzas
Copy link

bajolzas commented Nov 3, 2021

Game or games this happens in

ULES00176 : Tales of Eternia

What area of the game

Initial screen, basically on every screen outside battle or world map (the background screen must be composed of various textures "blocks")

What happens

When using 4xBRZ Texture Shader, the background texture grid gets filled with black dots.

ULES00176_00000

The same does not happen when using the similar Upscale type xBRZ (the old one with delay). No black dots and the grid effect is much less noticeable.

ULES00176_00001

What should happen

4xBRZ Texture Shader should work more like how xBRZ Upscale type work (minus upscale delay), i.e. without creating artifacts or obvious texture banding.

GE frame capture

No response

Platform

Windows

Mobile phone model or graphics card

NVIDIA GeForce RTX 2060

PPSSPP version affected

v1.12.3-146-gd917204da

Last working version

No response

Graphics backend (3D API)

Vulkan

Checklist

  • Test in the latest git build in case it's already fixed.
  • Search for other reports of the same issue.
  • Try resetting settings or older versions and include if the issue is related.
  • Try changing graphics settings to determine if one causes the glitch (especially speed hacks or enhancements/replacements.)
  • Include logs or screenshots of issue.
@LunaMoo
Copy link
Collaborator

LunaMoo commented Nov 4, 2021

Both are actually "bugged".
This is just a slight difference in the corners since BR family of algorithms has tons of various versions with minor differences and CPU & GPU ones were based on different variants, you could get different upscaling algorithms for vulkan GPU based texture scaling, but the one we have is not worse in objective way, it just look worse in this example.

The CPU based algorithm also causes very nasty glitches here, just doesn't bleed black in some corners which makes it less obvious at first glance, but once you see the glitches, you can't unsee them, it's worse than just looking at native res pixel art.

Basically some 2D games have large textures made out of smaller ones and all texture upscaling algorithms treat those just like any other texture and bleed between those tiles trying to blend sharp edges into more natural looking image, but this is creating artifacts when the game starts treating pieces of such large texture again as separate tiles to create an image.

The only way currently to have upscaling in such games and have it glitch free is using post process based upscaling, as long as it's fully 2D game the difference is minimal and if it's not using native PSP res, I posted a special version of xBRZ which can be used at high res and have user selectable scalling, you can find it in PPSSPP custom shader's thread, but really if the game is using native PSP res, xBR included in PPSSPP is enough.
Edit: forgot to mention, but texture replacement if viable can give way better results and is pretty easy with AI upscaling, ie ESRGAN models like lollypop, fatal anime, ultra yandere or superscale looks great in most games graphics and offer superior quality while matching orginal art better at the same time, in games using such tiled textures they unfortunately still could bleed or have seams and would need manual tweaks after upscaling, such algorithms can't be used anywhere close to real time through as it takes a few seconds to process just one texture.

@ghost
Copy link

ghost commented Nov 4, 2021

This game also stutter a lot during intro using vulkan compare to opengl.

OpenGL

OpenGL_Screenrecorder.mp4

Vulkan

Vulkan_Screenrecorder.mp4

@hrydgard
Copy link
Owner

hrydgard commented Nov 7, 2021

This is actually a bug in the texture shader. Fixing in an upcoming PR.

@unknownbrackets
Copy link
Collaborator

Closing since that's merged. Wish GitHub would detect "Fixes #1 and #2."

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants