Resolution and performance

RetroPie has a new website and forum. Please visit https://retropie.org.uk/ for the new site. The new forum is located at https://retropie.org.uk/forum/. This forum is left here as a read-only archive.

This topic contains 26 replies, has 8 voices, and was last updated by Profile photo of bazola bazola 2 years, 2 months ago.

Viewing 27 posts - 1 through 27 (of 27 total)
  • Author
    Posts
  • #87929
    Profile photo of timewalker
    timewalker
    Participant

    Hi, I’m building myself a tiny all-round emulator station to play on a TV.

    I’ve noticed that depending which system or port you start, the TV mode changes. The issue here is that the Pi sets to mode 16, which is 1920×1080@60hz, I don’t have any overscan in this mode. If I then choose for example Quake, then it changes to 4, which is 1280×720@60hz. This mode however gives me overscan so some stuff gets cut off.

    Now I tried to fix that by forcing to just stay on the original mode, which works fine. But the issue is, if I do this on every emulator and game port, do I get a performance drop? I’m not sure if the game starts to render on a bigger screen and thus go slower or if it just resizes to full screen without losing any performance.
    Also, if there is a performance drop, is there any better way how I can fix the variable overscan on different games?

    #87942
    Profile photo of Roo
    Roo
    Participant

    I have all my emulators set to CEA 16 – 1080p resolution (by pressing x as the emulator loads up from ES) and I don’t notice any performance hit.

    #87955
    Profile photo of gizmo98
    gizmo98
    Participant

    If you use RetroPie >= 2.5.0 you can use hardware upscaling. Open /opt/retropie/configs/all/retroarch.cfg and set:
    video_fullscreen_x = 800
    video_fullscreen_y = 450

    Now you can enable 1920×1080@60hz and your Pi upscales 800×450 to 1920×1080 for free.

    There is also a nice side-effect. You can use shaders with 1920×1080@60hz.

    • This reply was modified 2 years, 2 months ago by Profile photo of gizmo98 gizmo98.
    #88016
    Profile photo of timewalker
    timewalker
    Participant

    Thank you gizmo98 for the solution! I’m using the 2.5 BETA and this actually made my emulators like SNES even go faster than before so I think there really is a performance drop if you set the mode to 1080p.

    A bit less on topic, even though the video_fullscreen solution fixed the lag, I noticed that the xboxdrv makes emulators like the SNES one lag when using the thumb sticks. I’m using the Daemon init.d method and I can’t seem to find the cause of that. I looked if silent mode isn’t used and tried to add them in the script but it didn’t help at all.

    #88022
    Profile photo of Roo
    Roo
    Participant

    I noticed that the xboxdrv makes emulators like the SNES one lag when using the thumb sticks

    There’s a performance hit from using xboxdrv. If it’s too much, the only solution I know of is to just use the default settings (xpad) and deal with the flashing ring 🙂

    #88023
    Profile photo of Roo
    Roo
    Participant

    [removed]

    • This reply was modified 2 years, 2 months ago by Profile photo of Roo Roo.
    #88026
    Profile photo of timewalker
    timewalker
    Participant

    While I could live with the flashing ring, on xpad I had problems with thumb sticks.

    One example: On Quake, the right stick would get ‘stuck’ so that the camera rotates infinitely to the right. When I move the stick to the right again, it stops. This seems to be fixed with xboxdrv. Is there any setting I missed on xpad/Quake?

    #88068
    Profile photo of supernashwan
    supernashwan
    Participant

    this is interesting

    If you use RetroPie >= 2.5.0 you can use hardware upscaling. Open /opt/retropie/configs/all/retroarch.cfg and set:
    video_fullscreen_x = 800
    video_fullscreen_y = 450
    Now you can enable 1920×1080@60hz and your Pi upscales 800×450 to 1920×1080 for free.

    is 800×450 the best resolution to run everything? is there a magic resolution that works for all emulators?

    #88071
    Profile photo of neighbourhoodnerd
    neighbourhoodnerd
    Participant

    Basically just consider the fact that all these old consoles were designed to output to old TVs. The resolution output doesn’t need to be very high at all. I’d suggest using that setting on the ALL retroarch config. It’s very unlikely to make anything look worse 🙂

    #88072
    Profile photo of gizmo98
    gizmo98
    Participant

    You can use “any” resolution. You can also set 320×240 or 640×480. 720p and 1080p are 16:9 resolutions. So try to set a 16:9 resolution like 800×450. Otherwise a 4:3 render resolution will be streched to your 16:9 screen resolution

    • This reply was modified 2 years, 2 months ago by Profile photo of gizmo98 gizmo98.
    #88100
    Profile photo of buzz
    buzz
    Keymaster

    gizmo – not possible to use this and keep aspect ratio ? perhaps that could be changed and we could use this by default then.

    #88102
    Profile photo of gizmo98
    gizmo98
    Participant

    I have already a modified retroarch videocore context driver in the pipeline. I had no time to test it because of n64 stuff

    #88111
    Profile photo of Roo
    Roo
    Participant

    I won’t be the default will it? Just pointing out that I don’t think everyone would want that. Hardware upscaling screws up shaders and overlays. I’d rather use those than hardware upscaling. Especially when the emulators seem to run fine at full speed at 1080p

    #88115
    Profile photo of buzz
    buzz
    Keymaster

    well, it’s impossible to please everyone – we try to make the most common set up the default. as can be read, not everyone appreciates us switching the screenmode by default, which was done to try and sort out performance issues – many of the shaders do not perform well at high resolution.

    default does not mean you can’t change the behaviour. I have spent a lot of time trying to make stuff more easily configurable.

    #88120
    Profile photo of timewalker
    timewalker
    Participant

    I just want to say, after my RetroPie corrupted yet again, I’m now using 2.6. I’m staying at xpad now as I noticed that the Quake problem could be of my sticks being a bit loose.

    Anyway, I’m not sure if 1080p gives full performance. I have my Pi overclocked at Turbo and having it on 1080p makes SNES lag at some games. For example, Tetris Attack SNES doesn’t run in full speed when playing – especially on VS. Mode.

    Well I can see the reason of changing the TV mode, it doesn’t seem to work perfectly fine. On 1080p, I have no overscan whatsoever but as soon as I change to a different screen, the screen gets cut off. The full screen 800×450 setting seems to do the trick with performance issues however you can see at specific games that there are stretched pixels. My goal isn’t to use any shaders and have everything pixel perfect without the CRT TV designed choices (like green/pink pixels, scanlines, etc).

    #88121
    Profile photo of Roo
    Roo
    Participant

    well, it’s impossible to please everyone – we try to make the most common set up the default. as can be read, not everyone appreciates us switching the screenmode by default, which was done to try and sort out performance issues – many of the shaders do not perform well at high resolution.

    default does not mean you can’t change the behaviour. I have spent a lot of time trying to make stuff more easily configurable.

    Sure, processor intensive shaders are never going to work well, but I’ve had a lot of success with Pi2 and the basic shaders, even at 1080p. I never had success finding a decent scanline shader that would work with Pi 1.

    You’re right – I don’t really have any opinion over what y’all choose as the default setup. I can always undo any changes that don’t work for me.

    #88122
    Profile photo of Roo
    Roo
    Participant

    Anyway, I’m not sure if 1080p gives full performance. I have my Pi overclocked at Turbo and having it on 1080p makes SNES lag at some games. For example, Tetris Attack SNES doesn’t run in full speed when playing – especially on VS. Mode.

    Pi 2 model B? I can’t test Vs mode (I only have one controller) but I run the game at 1080p with a shader and overlay and see no issues at all.

    #88148
    Profile photo of gizmo98
    gizmo98
    Participant

    @Roo
    PI1 benefits from lower resolutions. There is a performance drop if you use resolutions > 720p. You can tune the upscaling behaviour. Raspberry pis linux kernel has eight scaling kernels. There is at least one without blur:
    https://github.com/raspberrypi/firmware/issues/104#issuecomment-9585095

    • This reply was modified 2 years, 2 months ago by Profile photo of gizmo98 gizmo98.
    #88153
    Profile photo of Roo
    Roo
    Participant

    @gizmo98
    I get that, but I don’t see this project supporting the Pi1 long term. It was just a little too underpowered for what most people seem to want from their retro-gaming machine.

    #88188
    Profile photo of timewalker
    timewalker
    Participant

    Right now I’m still using Pi 1 Model B (yes, that old) so that’s why I’m very limited.
    I used it for other stuff which got replaced by a Pi 2. Now I’m using the old model for emulation and media center while I’m waiting for another Pi 2 to arrive because I was unhappy with my old media center/emulator station OUYA and want to replace it with that.

    #88190
    Profile photo of Roo
    Roo
    Participant

    I believe you’ll see all your problems go away once you get the Pi2

    #88301
    Profile photo of bazola
    bazola
    Participant

    Sure, processor intensive shaders are never going to work well, but I’ve had a lot of success with Pi2 and the basic shaders, even at 1080p. I never had success finding a decent scanline shader that would work with Pi 1.

    Hi Roo, what shaders are you using with Pi2?
    Is crt cgwg shader working or is it still laggy?
    Thanks.

    #88309
    Profile photo of Roo
    Roo
    Participant

    Currently I am using NTSC_scalines (or something close to that name, not in front of my Pi right now). It is supposed to be one pass of the multipass NTSC shader, but it works well on its own and gives me the effect I am looking for with good performance.

    #88326
    Profile photo of dk999
    dk999
    Participant

    To jump into the topic:
    I’ve set my pi to HDMI group 1 and mode to 4 (720p). I want all my Emulators to stretch the image to 16:9 and have set the configfiles Tod:
    Custom_vieport_width = 480
    Custom_viewport_height = 640
    Aspect Ratio to 1.33 and screen to 16:9 but only some like pocketsnes work and Emulators like picodrive give me fullscreen with master system games but a cropped and smaller image with borders in mega CD games. Where’s the problem? -_-

    #88331
    Profile photo of gizmo98
    gizmo98
    Participant

    Set video_fullscreen_x and video_fullscreen_y instead of custom_viewport. Comment all other settings. vc context driver does not respect any of these settings.
    video_fullscreen_x = 640
    video_fullscreen_y = 480

    • This reply was modified 2 years, 2 months ago by Profile photo of gizmo98 gizmo98.
    • This reply was modified 2 years, 2 months ago by Profile photo of gizmo98 gizmo98.
    #88336
    Profile photo of Roo
    Roo
    Participant

    Did you set each emulator as you launch the game by pressing “x” or “m”?

    #88465
    Profile photo of bazola
    bazola
    Participant

    Currently I am using NTSC_scalines (or something close to that name, not in front of my Pi right now). It is supposed to be one pass of the multipass NTSC shader, but it works well on its own and gives me the effect I am looking for with good performance.

    Thanks, i’ll try it when i get my pi2 😉

Viewing 27 posts - 1 through 27 (of 27 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar