[GH-ISSUE #4348] Persona 3 Portable - Map lines dissapear when internernal res is set to 1 #1768

Open
opened 2026-03-18 03:34:42 +03:00 by kerem · 13 comments
Owner

Originally created by @internetakias on GitHub (Oct 28, 2013).
Original GitHub issue: https://github.com/hrydgard/ppsspp/issues/4348

Pretty self explanatory I guess
1x Res
screen00462
2x Res
screen00463

Originally created by @internetakias on GitHub (Oct 28, 2013). Original GitHub issue: https://github.com/hrydgard/ppsspp/issues/4348 Pretty self explanatory I guess 1x Res ![screen00462](https://f.cloud.github.com/assets/5077063/1419944/e6b03d76-3fd6-11e3-9aec-db07c48dd756.jpg) 2x Res ![screen00463](https://f.cloud.github.com/assets/5077063/1419946/ebd8e10e-3fd6-11e3-9b4f-5b610f30cf1d.jpg)
Author
Owner

@unknownbrackets commented on GitHub (Dec 8, 2013):

I know there were some tweaks here, I assume this still happens?

I wonder if the line width should be 1.5 or something...

-[Unknown]

<!-- gh-comment-id:30078533 --> @unknownbrackets commented on GitHub (Dec 8, 2013): I know there were some tweaks here, I assume this still happens? I wonder if the line width should be 1.5 or something... -[Unknown]
Author
Owner

@internetakias commented on GitHub (Dec 12, 2013):

Yes, it still happens with build v0.9.6-3-g551ba17

<!-- gh-comment-id:30431512 --> @internetakias commented on GitHub (Dec 12, 2013): Yes, it still happens with build v0.9.6-3-g551ba17
Author
Owner

@dbz400 commented on GitHub (Dec 14, 2013):

Can you take a savestate for me to reproduce it ?

<!-- gh-comment-id:30575487 --> @dbz400 commented on GitHub (Dec 14, 2013): Can you take a savestate for me to reproduce it ?
Author
Owner

@internetakias commented on GitHub (Dec 15, 2013):

Here https://mega.co.nz/#!IBEBmBKA!EysEzU4CCb0ZHMPaD02EsFUIAwZ-ub4-Va_z2lQ_JoE

<!-- gh-comment-id:30624258 --> @internetakias commented on GitHub (Dec 15, 2013): Here https://mega.co.nz/#!IBEBmBKA!EysEzU4CCb0ZHMPaD02EsFUIAwZ-ub4-Va_z2lQ_JoE
Author
Owner

@dbz400 commented on GitHub (Dec 16, 2013):

Many thanks. Testing out

<!-- gh-comment-id:30627953 --> @dbz400 commented on GitHub (Dec 16, 2013): Many thanks. Testing out
Author
Owner

@dbz400 commented on GitHub (Dec 16, 2013):

Alright .At 1x , softgpu renders the lines okay but not GLES .At >=2x , both render the lines okay

GLES
screen00167

SoftGPU
screen00166

<!-- gh-comment-id:30628316 --> @dbz400 commented on GitHub (Dec 16, 2013): Alright .At 1x , softgpu renders the lines okay but not GLES .At >=2x , both render the lines okay GLES ![screen00167](https://f.cloud.github.com/assets/3000282/1751597/a35f2382-65f3-11e3-9a83-d4172a278a52.jpg) SoftGPU ![screen00166](https://f.cloud.github.com/assets/3000282/1751598/aa05353c-65f3-11e3-8baf-50c030f7f8b6.jpg)
Author
Owner

@dbz400 commented on GitHub (Dec 16, 2013):

I viewed at another scene , looks like the line is there but only very fade in color at 1x

screen00168

<!-- gh-comment-id:30628452 --> @dbz400 commented on GitHub (Dec 16, 2013): I viewed at another scene , looks like the line is there but only very fade in color at 1x ![screen00168](https://f.cloud.github.com/assets/3000282/1751616/9bb97438-65f4-11e3-84e9-28f35a3b661a.jpg)
Author
Owner

@dbz400 commented on GitHub (Apr 23, 2014):

@internetakias , did latest buildbot look better for those lines?. Not too sure if it is relating to 2x alpha blending mode which makes those lines darker it should be.

<!-- gh-comment-id:41140812 --> @dbz400 commented on GitHub (Apr 23, 2014): @internetakias , did latest buildbot look better for those lines?. Not too sure if it is relating to 2x alpha blending mode which makes those lines darker it should be.
Author
Owner

@internetakias commented on GitHub (Apr 25, 2014):

Yep, bug's fixed it seems. So, time to close this, I guess
1X res
ules01523_00000
EDIT: Nevermind, it seems that the inner squares still disappear in 1x res
2X res
ules01523_00001

<!-- gh-comment-id:41371312 --> @internetakias commented on GitHub (Apr 25, 2014): Yep, bug's fixed it seems. So, time to close this, I guess 1X res ![ules01523_00000](https://cloud.githubusercontent.com/assets/5077063/2798804/249cf5d2-cc56-11e3-839e-c796b105680a.jpg) EDIT: Nevermind, it seems that the inner squares still disappear in 1x res 2X res ![ules01523_00001](https://cloud.githubusercontent.com/assets/5077063/2798888/5fe46502-cc57-11e3-9a6f-cb29596d03de.jpg)
Author
Owner

@unknownbrackets commented on GitHub (May 15, 2017):

This (at least the first pair of screenshots) is caused by texture scaling. When you set texture scaling high but have render resolution at 1x, this happens.

It's not really a bug per se - although perhaps we could avoid the issue by providing mipmap levels for scaled textures (which would just make the texture scaling waste time when drawn as small as the texture already was.)

As for the inner squares - I'm not certain if they are supposed to be there or not. The way it's drawing makes me think they are (they are part of the texture it uses to draw each grid cell), but they appear very faint for me.

-[Unknown]

<!-- gh-comment-id:301362647 --> @unknownbrackets commented on GitHub (May 15, 2017): This (at least the first pair of screenshots) is caused by texture scaling. When you set texture scaling high but have render resolution at 1x, this happens. It's not really a bug per se - although perhaps we could avoid the issue by providing mipmap levels for scaled textures (which would just make the texture scaling waste time when drawn as small as the texture already was.) As for the inner squares - I'm not certain if they are supposed to be there or not. The way it's drawing makes me think they are (they are part of the texture it uses to draw each grid cell), but they appear very faint for me. -[Unknown]
Author
Owner

@internetakias commented on GitHub (May 15, 2017):

It also happens with texture filtering set to "Nearest"

<!-- gh-comment-id:301368562 --> @internetakias commented on GitHub (May 15, 2017): It also happens with texture filtering set to "Nearest"
Author
Owner

@unknownbrackets commented on GitHub (May 15, 2017):

That's pretty expected. "Auto" means "do what the game says." The game is asking for linear filtering here - forcing it to use nearest instead will change how it looks. It's even for the same reason.

It's drawing a 14x14 square using a 20x20 texture. And the 20x20 texture has a tiny gray line in it.

12345678901234568790
                  |  <-- that's the line
 ^^ ^^ ^^ ^^ ^^ ^^ ^
 nearest pixels

So nearest just "jumps over it". In linear filtering, it finds the two pixels next to each other, and splits the difference. So you get half a line with linear on.

It gets worse with texture scaling, though.

1234567890123456879012345678901234568790
                                     ||  <-- that's the line
^  ^  ^  ^  ^  ^  ^  ^  ^  ^  ^  ^  ^  ^
   nearest pixels

Even though the line is twice as wide, it's also picking less things from the texture to draw. And now, when it "splits the difference", it sees even less of the line to split. By the time you get to 3x, the line is invisible to those 14 arrows. It just slips right into a gap between them, like a ninja.

The general solution is "mipmapping". Mipmapping is basically the reverse of texture scaling. It's like 0.5x or 0.25x texture scaling. It makes it so the line won't get skipped - but it's "smart", so it uses 1x or 0.5x etc. based on how the texture is being used.

There's also anisotropic filtering (on by default.) The PSP just looks at two pixels, but anisotropic makes it look at more (i.e. maybe 16 pixels.) But it still averages them together - which means the line gets "diluted" still, and blurred out of existence.

So that's why I said we could workaround this by providing mipmaps - which would essentially mean using 1x texture scaling for this texture, since it's already larger (20x20 > 14x14) what is being drawn.

When you increase render resolution, it increases the 14x14 number, so 2x would be 28x28. That's a lot more arrows, so it finds the line.

-[Unknown]

<!-- gh-comment-id:301376131 --> @unknownbrackets commented on GitHub (May 15, 2017): That's pretty expected. "Auto" means "do what the game says." The game is asking for linear filtering here - forcing it to use nearest instead will change how it looks. It's even for the same reason. It's drawing a 14x14 square using a 20x20 texture. And the 20x20 texture has a tiny gray line in it. ``` 12345678901234568790 | <-- that's the line ^^ ^^ ^^ ^^ ^^ ^^ ^ nearest pixels ``` So nearest just "jumps over it". In linear filtering, it finds the two pixels next to each other, and splits the difference. So you get half a line with linear on. It gets worse with texture scaling, though. ``` 1234567890123456879012345678901234568790 || <-- that's the line ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ nearest pixels ``` Even though the line is twice as wide, it's also picking less things from the texture to draw. And now, when it "splits the difference", it sees even less of the line to split. By the time you get to 3x, the line is invisible to those 14 arrows. It just slips right into a gap between them, like a ninja. The general solution is "mipmapping". Mipmapping is basically the reverse of texture scaling. It's like 0.5x or 0.25x texture scaling. It makes it so the line won't get skipped - but it's "smart", so it uses 1x or 0.5x etc. based on how the texture is being used. There's also anisotropic filtering (on by default.) The PSP just looks at two pixels, but anisotropic makes it look at more (i.e. maybe 16 pixels.) But it still averages them together - which means the line gets "diluted" still, and blurred out of existence. So that's why I said we could workaround this by providing mipmaps - which would essentially mean using 1x texture scaling for this texture, since it's already larger (20x20 > 14x14) what is being drawn. When you increase render resolution, it increases the 14x14 number, so 2x would be 28x28. That's a lot more arrows, so it finds the line. -[Unknown]
Author
Owner

@hrydgard commented on GitHub (Sep 3, 2022):

I think this is fixed with the new line drawing, right?

<!-- gh-comment-id:1236167109 --> @hrydgard commented on GitHub (Sep 3, 2022): I think this is fixed with the new line drawing, right?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ppsspp#1768
No description provided.