libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.17k stars 1.82k forks source link

PS3 1.6.0 shader bug (crt-geom) #5025

Closed btrrj closed 7 years ago

btrrj commented 7 years ago

First and foremost consider this:

Description

At 720p When crt-geom is set, monitor refresh rate is halved causing slowdowns ingame and xmb menu and Impossibility to use Vsync activated. With Vsync off it Works like It should.

At 1080p crt-geom cause massive slowdowns also halving refresh rate...even with vsync off...in 1.3.6 it was not happening.

Expected behavior

Monitor refresh rate set to 60hz with vsync and crt-geom shader activated, at any resolution.

Actual behavior

crt-geom turned on:

720p - Massive slowdowns with vsync on, refresh rate halved in xmb menu and ingame. Normal ingame with vsync off, but xmb keeps the halved refresh rate. 1080p - Massive slowdowns with vsync on and off, refresh rate halved in any situation ingame and in xmb.

Steps to reproduce the bug

  1. Enter any game on any core
  2. Enter Quick menu > shaders and set crt-geom with any additional setting.
  3. Apply changes and see refresh rate halved with vsync activated. Slowdowns xmb. Ingame 720p vsync off normal. 1080p unplayable.

Bisect Results

After 1.6.0 installation...fresh and update.

Version/Commit

Retroarch PS3 1.6.0 CEX and DEX

Environment information

inactive123 commented 7 years ago

This is not a bug. 1.3.6 was using a custom PSGL version, which although much faster, also had way more bugs. Instead I reverted to the original PSGL, which might be a bit slower but doesn't have all sorts of feature regressions.

So, yes, this shader might be too expensive right now for PS3. It's becoming a quite outdated GPU at this point.

I am not sure if I feel motivated to do a custom PSGL again, it was quite time intensive last time I tried it. I'd say just use a less demanding shader instead.

btrrj commented 7 years ago

Why at 720p It Works good with vsync off and not with vsync on? Is vsync so resource eater Just to halve refresh rate even in xmb menu?

I Just wanted to use a curved crt shader...i only found crt-geom that reproduces Very acurately this effect. Can we have an alternative?

hizzlekizzle commented 7 years ago

With vsync on, any frame drops bring the whole thing down to half speed.

Check out crt-easymode-halation. It has some nice curvature options. CRT-lottes-multipass might be fast enough for PS3, and it's curved, as well.

btrrj commented 7 years ago

I remember trying those but none of them came with curve at default, and If im not mistaken there was no extended parameters to add the curve as well but i will try again to be sure. In case, If It has not, can i add them manually? How?

Em 4 de jun de 2017 7:59 PM, "hizzlekizzle" notifications@github.com escreveu:

With vsync on, any frame drops bring the whole thing down to half speed.

Check out crt-easymode-halation. It has some nice curvature options. CRT-lottes-multipass might be fast enough for PS3, and it's curved, as well.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/5025#issuecomment-306073135, or mute the thread https://github.com/notifications/unsubscribe-auth/AGqJnj6t38wUSKoSm6_gHI6RmiEjBBc5ks5sAzbPgaJpZM4Nvfu0 .

btrrj commented 7 years ago

I Just tried both but none of them came with curvature at default, and there is no extended shader parameters to add the curve as well. In this case, can an i add them manually? How?

hizzlekizzle commented 7 years ago

For easymode, these GEOM options are all related to curvature: https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-easymode-halation/crt-easymode-halation.cg#L17

For lottes, it's warpX and warpY: https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-lottes-multipass/crt-lottes-multipass.cg#L19

btrrj commented 7 years ago

I can be asking so much, but do you know which numbers i can use for it have the exactly same effect as crt-geom? It's just edit, save ovewrite the filé? And Thanks for all the help, i'm happy that my long Quest for the perfect image is finishing hehe. This is ALL because i just put my PS3 inside an arcade cabinet, so i think you can see my excitement to let it as perfect as i can. Thanks again

hizzlekizzle commented 7 years ago

I don't know which values would be closest, but I think you can probably get easymode much closer than lottes, which just has the curvature and not any of the corner stuff.

Whenever you find settings you like, you can either 'save core preset' or manually edit the files to hardcode the values. You would put your custom settings into the first number on the line. For example: #pragma parameter GEOM_CURVATURE "Geom Curvature" 0.0 0.0 0.1 0.01 would be changed to #pragma parameter GEOM_CURVATURE "Geom Curvature" 0.03 0.0 0.1 0.01

btrrj commented 7 years ago

Thanks, It Will help a Lot already... I Will post when i find the perfect parameter :)

dankcushions commented 7 years ago

you could also try crt-pi. it has a curvature parameter, but there is a preconfigured version here: https://github.com/RetroPie/common-shaders/blob/rpi/shaders/crt-pi-curvature.glsl

i think this is the fastest crt shader. EDIT: oh, can the ps3 only run .cg shaders? this is .glsl :(

btrrj commented 7 years ago

Good question, i dont know if .glsl shaders run on PS3

inactive123 commented 7 years ago

No, only Cg.