lllyasviel / lllyasviel/stable-diffusion-webui-forge

[Bug]: Details / saturation / quality loss with hypertiling and default values

Open
#544 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
13k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

### Checklist

- [ ] The issue exists after disabling all extensions
- [ ] The issue exists on a clean installation of webui
- [X] The issue is caused by an extension, but I believe it is caused by a bug in the webui
- [X] The issue exists in the current version of the webui
- [X] The issue has not been reported before recently
- [ ] The issue has been reported before but has not been fixed yet

### What happened?

**Firstly, I do not know if this is an issue with hypertiling itself or the forge implementation, and I couldn't find that much info on it, so that's why I decided to open an issue here. Or maybe it behaves as intended and I m just an idiot and need to adjust settings properly.**

So, I noticed my images' quality was bad (less details, less saturation) after enabling hypertiling. The default settings are: Tile size (t) = 256, Swap size (s) = 2, Depth = 0

When enabling hypertiling, with the default settings, the image seems to suffer quite the quality loss, issue more apparent with hires.fix enabled.

So here's what I did. I generated an image at 768x512 and another one at 640x640. I then generated another set, with hires.fix enabled and then proceeded to enable Hypertiling and increase the tile size (and for the first gen swap size too).

Here is what I noticed:

- With the default settings, hypertile enabled with t=256, s=2, hires.fix enabled or disabled still presented a noticeable loss in quality. (examples 1 and 2)

- _Without hires fix,_ increasing the tile size resulted in a good image, e.g. from 256 to 384 the issue was not an issue anymore. Going higher did not seem to matter.

- _With hires.fix_, increasing tile size a bit helped, e.g. from 256 to 384 to 512, 768 (quality increases with tile size, up to a point and increasing it so much defeats the point of using hypertiling in the first place).

- Quality / details seem to increase slightly with swap size.

- Depth did not seem to affect anything, although I have not tested it much, I believe I changed it to 2,3,4 at one point, but did not notice anything.

Here's a few examples:

![image](https://github.com/lllyasviel/stable-diffusion-webui-forge/assets/92233600/a216d2f5-f9be-49da-a1b1-e88160726d6f)
![image](https://github.com/lllyasviel/stable-diffusion-webui-forge/assets/92233600/4683f9e9-902c-4d9e-994e-f8820968a9ab)
![image](https://github.com/lllyasviel/stable-diffusion-webui-forge/assets/92233600/2ddf00ef-4482-42ab-b36b-8b7490587624)
![image](https://github.com/lllyasviel/stable-diffusion-webui-forge/assets/92233600/75d5e2bb-743f-47fe-bee1-5f4ac3c990cf)

- I messed up the name on 2nd gen (last example) - 2nd item in the dropdown should be NO Hypertiling, WITH HiRES - image on the left side

In the 2nd image for example, you can see how hypertiling enabled, with the default values, produces a worse image than no hypertiling (no hires fix used in either)

Using other resolutions or checkpoints doesn't seem to yield different results.

You can see all examples below.

https://imgsli.com/MjQ2ODcw/1/10
https://imgsli.com/MjQ2ODcy/1/4

### Steps to reproduce the problem

1. Generate an image

2. Generate the same image with hypertiling default values

At this point, a slightly different image is expected, but of the same quality - more or less.

3. Generate the same image with hires.fix, **no** hypertiling this time - I used 4x-Ultrasharp

4. Generate the same image with hires.fix, **with** hypertiling

### What should have happened?

Did not expect such a loss of image quality with the default settings.

### What browsers do you use to access the UI ?

Brave

### Sysinfo

[sysinfo-2024-03-12-19-56.json](https://github.com/lllyasviel/stable-diffusion-webui-forge/files/14577970/sysinfo-2024-03-12-19-56.json)

### Console logs

```Shell
Not sure where the console log is saved, but it looked normal, there's no errors.
```

### Additional information

_No response_

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file, test, or entry point is named in the issue. Start by reproducing the four image-generation comparisons with default hypertiling values, hires.fix, and the listed resolutions; inspect the hypertiling and hires.fix integration to determine whether the observed quality loss is expected, then add a regression check if a defect is isolated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.