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

New UI : Add buffered rendering(2x) #3035

Closed
wants to merge 3 commits into from
Closed

New UI : Add buffered rendering(2x) #3035

wants to merge 3 commits into from

Conversation

raven02
Copy link
Contributor

@raven02 raven02 commented Aug 1, 2013

This is same as ant-aliasing option enabled , just bind it to buffered rendering option . Original buffered rendering will be renamed to buffered rendering(native)

I'm not going to do it for old UI , only for new one

screen00033

@adriandennis17
Copy link

On my DROID 3, i set the rendering mode to: None-Buffered

So the graphics looks crisp and clean, will the 2x mode achieve

the crisp and clean look.

@raven02
Copy link
Contributor Author

raven02 commented Aug 2, 2013

Yes , should be the same as non-buffered mode .

@unknownbrackets
Copy link
Collaborator

Isn't this the same as the Windows 2xSSAA feature? Why use a separate option and UI for Android? Shouldn't they be the same?

@adriandennis17, well, it entirely depends on your device's resolution, really.

Non-buffered means this:

  1. Draw at native resolution (if that means 1080p, 4x the dimensions of the PSP, so be it.)
  2. When the game says "Swap to a new buffer" for double/triple buffering, ignore it. Draw the same place, always.
  3. When the game says, "I need a temporary buffer to draw an effect", ignore it. Draw the same place, always.
  4. At the end of the frame, do nothing else, the display is what everything was drawn to directly.

Buffered with 2x the dimensions means this:

  1. Draw at 480_2 x 272_2, or 544p, regardless of the device resolution.
  2. When the game says "Swap to a new buffer" for double/triple buffering, do so. Use additional VRAM compared to buffered rendering for the larger size.
  3. When the game says, "I need a temporary buffer to draw an effect", give it one. Use additional VRAM compared to buffered rendering for the larger size.
  4. Every frame, copy the current buffer to the display (slower than regular buffered rendering because of the larger size.)

They won't be exactly the same.

-[Unknown]

@raven02
Copy link
Contributor Author

raven02 commented Aug 2, 2013

@unknownbrackets , just want to simplify it , so user selects one single option buffered rendering(2x) will do the job (Instead of selecting 'buffered rendering' and then select 'Anti-aliasing' ) .

@raven02
Copy link
Contributor Author

raven02 commented Aug 2, 2013

I always think they are the same :) In my case ,my mobile device is native 1920x1080 which is 4x of real PSP one However the speed of buffered rendering with anti-aliasing ON which is 960x544 is slower than the non-buffered one which is native , 1920x1080 .

@adriandennis17
Copy link

@unknownbrackets Ok i see,

So is it possible to add an option for Android to select their native resolution

I thought ppssp could autodetect it ?

@unknownbrackets
Copy link
Collaborator

Drawing to 1920x1080 is not all that slow. However, having buffers of that size and copying that many pixels in addition to drawing is much slower. Of course, I'm sure an option could be implemented.

-[Unknown]

@hrydgard
Copy link
Owner

hrydgard commented Aug 2, 2013

The resolution stuff needs a rethinking, on Windows we need to decouple window size and resolution, and on Android we need to offer more choices. Maybe can combine these two into one neat design.

@adriandennis17
Copy link

@hrydgard " more choices " for android,

You can also throw in the option to change ratio and orientation

i know changing from landscape to portrait has been disabled for now on android.

@SteveGuo
Copy link

SteveGuo commented Aug 2, 2013

About resolution, why don't make it more simple? e.g. Just render it in psp original resolution on a texture, then simply stretch it to fit any resolution of screen with bi-linear filterring and an option "Keep aspect", this approach losts the Hi-res feature, but makes things simple. Actually, not everyone like the Hi-res feature, since it has many graphic glitches and disunion.

@unknownbrackets
Copy link
Collaborator

@SteveGuo that's exactly what we do in buffered rendering normally. Filtering is a separate option, it causes artifacts in some games of course.

I was just comaring 2x vs. disabled.

-[Unknown]

@SteveGuo
Copy link

SteveGuo commented Aug 2, 2013

@unknownbrackets ppsspp now filters on intermediate image other than the FINAL image, this causes artifacts.

@unknownbrackets
Copy link
Collaborator

Well, the game can ask for filtering on a particular texture or etc. and we respect that when "linear filtering" is set to auto.

Well, it does render to immediate larger buffers if you're using a larger resolution, that's true (not really filtering, just higher sampling/etc.) I always use 1x. You can force "linear filtering" to nearest to ignore what the game says.

-[Unknown]

@SteveGuo
Copy link

SteveGuo commented Aug 2, 2013

Sorry for my unclear expression,
e.g. textureA is chosen to be filtered, other things are not to be filtered.
Approach 1: textureA filtered and other things not filter then forms the final image(1X) (this is the real PSP does).Then we stretch this final image to 2X.
Approach 2: other things directly draws in 2X without filtering, and textureA draws in 2X with filtering.(I think this is PPSSPP does which cause those artifacts and disunion)

@raven02
Copy link
Contributor Author

raven02 commented Aug 5, 2013

I integrated the 'Button Scaling' in this single pull request to avoid less hassle.

@arg274
Copy link

arg274 commented Aug 9, 2013

if we decouple those two,then wouldn't it b like pcsx2?

@adriandennis17
Copy link

@raven02 i don't see the rendering 2x or native rendering mode,

Did the commits got merge.....

@raven02
Copy link
Contributor Author

raven02 commented Aug 13, 2013

I'm closing this one and will rewrite it bit better :)

@raven02 raven02 closed this Aug 13, 2013
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

Successfully merging this pull request may close these issues.

None yet

6 participants