lllyasviel / lllyasviel/stable-diffusion-webui-forge
[Bug]: Details / saturation / quality loss with hypertiling and default values
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:




- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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