leminlimez / CowabungaLite

iOS 15+ Customization Toolbox
GNU General Public License v3.0
848 stars 41 forks source link

[Request] improve iOS refresh rate. #76

Open Maxsenza151 opened 8 months ago

Maxsenza151 commented 8 months ago

ProMotion on iOS isn’t always 120hz. On almost all apps the refresh rate is locked on 80/90hz and there is a lot of stuttering. When I start a screen record the refresh rate lock to 120hz and it feels a lot more smooth. Maybe you can find a way to remove the 80/90hz lock and unlock the refresh rate up to stable 120hz just like what happens when I start a screen recording. Only on ProMotion devices obviously. This project could be a great chance to finally solve this problem. Here are some threads about this issue https://www.reddit.com/r/ios/comments/16v3u2j/promotion_on_15_pro_still_80hz_most_of_the_time/

https://www.reddit.com/r/iphone/comments/10skjxm/promotion_display_of_iphone_13_propro_max_isnt/

https://piunikaweb.com/2023/09/29/iphone-15-pro-display-refresh-rate-stuck-at-80hz-in-most-cases/

there are a lot of other threads of course Thanks in advance for your hard work.

Kayetic commented 8 months ago

Thank you for raising this issue! I was about to do it myself, but yes there are many, many threads of this exact problem and even if the battery is impacted, It would be amazing to force the refresh rate to 120hz! Thank you @leminlimez :)

Maxsenza151 commented 8 months ago

Thank you for raising this issue! I was about to do it myself, but yes there are many, many threads of this exact problem and even if the battery is impacted, It would be amazing to force the refresh rate to 120hz! Thank you @leminlimez :)

Yes it’s a really annoying issue especially because we’re talking about very expensive devices. I’m coming from a 120hz android phone and the difference is very noticeable.

leminlimez commented 8 months ago

i highly doubt this is possible without a jailbreak

Kayetic commented 8 months ago

This might be wildly wrong but what about triggering the ReplayKit API? It seems like sharing the screen or anything along those lines forces the higher refresh rate?

leminlimez commented 8 months ago

cowabunga lite does not execute code, only swap files

Kayetic commented 8 months ago

I see, so what about modifying the files responsible for controlling the animations on screen and their refresh rates? Obviously that is very primitive and abstract, and I appreciate the work you're doing here - bearing in mind I have no idea what is going on but I would be willing to learn. But yes, just a thought out there, maybe making iOS think that the display is not capable of a lower refresh rate than 120Hz?

Maxsenza151 commented 8 months ago

I see, so what about modifying the files responsible for controlling the animations on screen and their refresh rates? Obviously that is very primitive and abstract, and I appreciate the work you're doing here - bearing in mind I have no idea what is going on but I would be willing to learn. But yes, just a thought out there, maybe making iOS think that the display is not capable of a lower refresh rate than 120Hz?

Yes, I thought the same thing. Perhaps there is the possibility of modifying a possible file that controls these aspects of the system. I know it's difficult to get your hands on iOS but for what this program can do I think it could be possible if that's really the case. I'm just theorizing since I don't know how this program works but it could be a valid theory.

leminlimez commented 8 months ago

the file that controls this aspect is most likely a system file

i can try to dump the keys of the uikit plist and see if there is a property in that but i am not certain this is possible