[GUIDE] How to Really improve the gaming framerates on your Mi A1 - Xiaomi Mi A1 Guides, News, & Discussion

Yo fellas, its your"rooting enthusiast SenpaiYank (lmao rooting enthusiast, as if such a thing exists)​
Well, as you know, our device has a quite outdated and not so beefy (at all) SoC, the snapdragon 625. While its CPU is not tremendously ridiculously bad, the GPU quite is. This is not a prolem to people who don't care about games but a very prominent one on the other side.
With the help of this trick, tweak, whatever you decide to call it, you'll practically be able to play any game out there that you're not able to or play that same game at a higher setting than you would. The trick consists basically on lowering the screen resolution through a script, trading some of the visual quality for a noticeable night day performance boost. It's a common trick that works on other devices too and I've yet to find a game that had problems with it.
I'm using "profile" scripts to achieve it so you can change it on the go. I feel that way is the most ergonomic and quick one. Just run each script with root permissions according to your need. I recommend FX file explorer. Wanna play a graphically intensive game? Switch to gaming profile. Wanna do something else besides gaming? Switch to the default one.
As I side note, the trick can be done on unrooted users too but you'll need a computer and you'll have to apply the gaming profile permanently (unless you're willing to repeat the procedure whenever you want to go back to default). I can talk about it if you guys get interested on it.
Enough blah blah, how do I do it ?​1st - Grab both of them (default.sh and gaming.sh)
2nd - Install (in case you don't have it), open and type this on the Terminal Emulator app:
Code:
su
To attain root access (not sure if needed but, just in case)
Code:
wm density
To get your current screen density value at 1080p (override density field).
Lets imagine you got 432.
3rd - Choose and calculate a new resolution for your gaming profile
So now lets ge to the actual work. Our device native resolution is 1080p (1920x1080) and we want to lower that.
I lower it to 810p (not a standard lmao) which is 75% of 1080p (1440x810) as it gives me agood balance between visual quality and performance. You can go even lower to something like 50% if you're ambituous about performance. At 810p I can expect a minimum of 25% performance uplift (not FPS).
So, to get your gaming profile resolution DPI, you multiply the relative percentage of it by the default profile resolution DPI.
Code:
[COLOR="darkred"]432[/COLOR] * [COLOR="RoyalBlue"]0.75[/COLOR] = [COLOR="Blue"]324[/COLOR]
This value will be your gaming resolution DPI a.k.a. the resolution from your gaming mode script.
4th - Edit default.sh and gaming.sh, apply the new values and save the files somewhere.
default.sh script should contain the values of your default resolution, in this case, 1920x1080 and 432. Size for resolution and density for DPI.
gaming.sh script should contain the values of your gaming profile resolution, in this case, 1440x810 and 324.
VOILÁ​
To make the process much much easier and quicker, I use FX file explorer and its shortcut feature so I can switch between both profiles from my home screen pretty easily. Whenever I'm not playing a demanding game Is stick to the default mode, whenever I'm playing a graphically intensive game, I switch to the gaming mode and enjoy the improvement.
Cool, cool. So, is there an actual improvement in performance or is this just one of these so called placebo tricks ?​It's definately not placebo and probably the most effective way around of increasing gaming performance!
I've tried to record a test with and without the trick (and failed, it doesn't look as effective in the video but I'll leave it here anyway). Take it with not 2 but 3 grains of salt due to all the uncontrallable factors that involved the scene, the actual gain in practical use is much more noticeable. The benchmark takes place in the super duper hot (pun intended) looking and intensive game, Shadowgun Legends.
On the first video, the device is running the Extreme Kernel, without the tweak, along a CPU cap of 2.5Ghz and a GPU cap of 855Mhz (or something around that). I didn't increase it further to prevent the device from overheating (which it already practically was) and because at a higher GPU clock, I would get arctifacts (my device does not support the 922Mhz frequency).
http://sendvid.com/zi9l8q44
On the second video, the device is running a beta batch of the velocity kernel, with the tweak, along a CPU cap of 1.9Ghz and GPU cap of 672Mhz. I ran the device at a lower speed so you can see how useful the improvement can also be.
http://sendvid.com/fqum12jw
I ran the game at the high graphical setting (30 FPS max) on one of its most intesive scenarios and were at very high ambient temperatures (30C) so again, take the videos with a grain of salt. Used an external gamepad to play and used Scrcpy to record the screen (through wifi so, the quality and framerate from the recording is considerably worse than the actual one). You should also remember the 5-6 FPS strain of capturing the screen.
I also used game bench to monitor the framerate (top right corner) where the last 1 minute of each benchmark were with the screen capturing off. Once again, sorry for the bad quality of the recordings, I'll leave a screenshot of the game bench results.
Not willing to write a outro so, yeah, basically thats it

Here's another sample video, of the same game, this time at medium settings. Along the very noticeable smoother gameplay you can also notice how the GPU load goes down from 95-100 to 70-80 and it becomes less of the bottleneck on the scenario. With the gaming profile could I could actually remove the 30 fps cap and run the game at +30.
Before:
https://photos.app.goo.gl/hwPg9KCwc6yLyt919
After:
https://photos.app.goo.gl/zDm4wkTHuAjQ7PA5A

Related

Newb question: Best video decoding settings.

Im going to try and make this short.
I realize this may not be the best place to ask but i know you guys are the best to ask.
What are the best 1) resolution 2) bit rate 3) quality settings for encoding video for the gtab that give you a nice picture and dont break the ram bank.
At 768x450 2000bits/sec My test movie is 1.3gb. At the native 1024x600 the file size hits in the 1.7gb neighborhood (nice looking but probably not feasible unless i am only going to put one or two movies on here at a time...would like to do 5 or 6)
I tried it at 512/300 (50% of the native resolution) and a bit rate of 800bps and did manage to get the file at around 500mbs but the quality was just sub par for my tastes (fuzzy VISIBLY jerky).
Rather than me testing for days and days..i was wondering what settings you guys had set on (and why).
Thanks!
Allen
Edit: The H.264mp4 format was causing artifacting that i couldnt fix at any setting..
Right now i am using .mp4 at 768x450 (or a 75% scale of the native resolution) and a bit rate of 1,500 with the sound set at DVD quality (which actually does help since i use blue tooth head phones). File size still just at 1gb (that maybe about the smallest i can do with the quality i like). Even at that setting...its still a tad jerky. What should i try? Lowering the resolution and upping the bit rate a tad more???
Still wanting to know if any of you guys have a magic setting for me!
The good news here is that i am not loading my up memory with mp3/songs (have an iphone for that) using pandora radio instead. Regular apps dont take up too much room so i figure i probably have around 10G to play with for video. (when vegan gets the SD card utilizatin fixed ill have another 8G on top of that).
Bump:
Still looking for settings suggestions.
I am using 720X480 @ 1,500kbs in MP4. This gets me ~1.2gb files. It is the actual resolution of a DVD, which is where my material is sourced. This lets the display device do the scaling, rather than the encoding process.
Robert Duncan said:
I am using 720X480 @ 1,500kbs in MP4. This gets me ~1.2gb files. It is the actual resolution of a DVD, which is where my material is sourced. This lets the display device do the scaling, rather than the encoding process.
Click to expand...
Click to collapse
Duh that makes total sense!
Testing now.
Any ideas what the "video quality output settins are". 1 is best, 32 is worse. 26 is recommended.
I dont have much to go on. I see the recommended settings for an ipad are 1335 bit rate and a quality setting of 24.
UPdate: When i did a test run with higher settings i noticed the video would lag every three or four seconds. I concluded that the settings were too high for the hardware to handle. Likewise when i set them too low..it was jerky, and i concluded the bit rate was too low for smooth frame rates.
At 720x480 1500Bits (and a "quality setting of 24"). The lag is MUCH better, but it still lags about every 20 seconds or so (very briefly). I will test at 1400bits/26q and see what happens.
Jeeze! A lot of work.... its too bad someone hadnt already figured all this out and just given me the quick answer! lol
Thanks again for the answer!
You should be able to play 1080 with no lag?
Sent from my V9 using XDA App
You may want to grab a program called Mediainfo. This program analyzes the video file and tells you what profile was used, video and audio encoding stats. I was using this to make sure my source and output files were not using the "High" profile. I have some 1080 files re-encoded under the "Simple" profile and they look great with zero lag. I have re-encoded all my files with Handbrake and the all work without lag.
I used the info listed in roebeet's FAQ post: http://forum.xda-developers.com/showthread.php?t=842899
daml said:
You should be able to play 1080 with no lag?
Sent from my V9 using XDA App
Click to expand...
Click to collapse
BUT why when the screen resolution is only 1024x600?
DONT need media info unless reatail dvds are encoded with more than one setting Are they?
I saw roebeets post about using the ipad settings but that makes no sense. THE ipad has a different resoultion and a less powerful processor.
I am getting lag at 720x450 1500bits but not at 720x450 1400 bits. Very interesting.

What are your GTA III display settings?

I've made this thread to help people find some good settings to help reduce the lag.
Please state:
Draw Distance
Screen Resolution
Visual Effects
Dynamic shadows
If you have overclocked (If yes how many MHz/GHz)
Do you lag? (Lots, Some, When traveling fast, none at all)
I'm just curious of what the best settings are to make the game look good and run smoothly and I'm sure many people are wondering the same.
To start off with I'll say my settings.
Draw Distance: 43%
Screen Resolution: 66%
Visual Effects: high
Dynamic shadows: On
Overclocked? Yes, 1.613 GHz
Do you lag? A little bit, mainly when traveling fast.
Draw Distance: 81%
Screen Resolution: 79%
Visual Effects: max
Dynamic shadows: On
Overclocked? no.
Do you lag? rarely and usually only on the middle island but rarely.
My device is rooted with bloat removed but no overclock, r800a (rogers)
RacecarBMW said:
Draw Distance: 81%
Screen Resolution: 79%
Visual Effects: max
Dynamic shadows: On
Overclocked? no.
Do you lag? rarely and usually only on the middle island but rarely.
My device is rooted with bloat removed but no overclock, r800a (rogers)
Click to expand...
Click to collapse
Hmmm
Sent from my R800i using xda premium
RacecarBMW said:
Draw Distance: 81%
Screen Resolution: 79%
Visual Effects: max
Dynamic shadows: On
Overclocked? no.
Do you lag? rarely and usually only on the middle island but rarely.
My device is rooted with bloat removed but no overclock, r800a (rogers)
Click to expand...
Click to collapse
That's quite good mine lags quite a bit even with low settings
My modifications are
Draw distance 50%
Screen resolution: 50%
Visual Effects: Low
Dynamic Shadows: Off
Overclocked: No
Do you lag? yes it does when there's a lot going on.
RacecarBMW said:
Draw Distance: 81%
Screen Resolution: 79%
Visual Effects: max
Dynamic shadows: On
Overclocked? no.
Do you lag? rarely and usually only on the middle island but rarely.
My device is rooted with bloat removed but no overclock, r800a (rogers)
Click to expand...
Click to collapse
Can you post a video? I'd like to see just how rarely it lags with those settings.
Draw Distance: 60
Screen Resolution: 70
Visual Effects: Max
Dynamic shadows: On
If you have overclocked (1.9 ghz)
Do you lag? Yep. Upon first starting the game I will have some lag while it fills memory I'm guessing, and it will lag a bit every few blocks. It's not game breaking, but an annoyance that keeps me from diving in hardcore.
I have noticed that how much free ram you have when you start the game makes a HUGE difference to lagging....
I had alot of apps installed and usually had around 100mb free ram when i close all apps in my go launcher, but after uninstalling almost all of my apps that i dont use, and removing ram heavy apps, i managed to get my free ram to 200mb before launching gta and the difference was amazing!
More ram = less lag
My game lags even when running on low. I have tried the usual things like cleaning memory (I have at least 200 MB of RAM free consistenly), rebooting the phone, reinstalling the game, even restoring factory settings. Patch 1.3 made a small performance increase over 1.2, but like I've said in the beginning, I can't really enjoy it. My phone is R800i with stock firmware. I've been playing like this for months and now it's starting to annoy me.
Can somebody help me please?'
Draw distance: 55
Screen resolution: 70
Visual effects: low
Dynamic shadows: off
Not overclocked.
Maybe turn the draw distance down? It's a small screen, you can get away with it. These settings have nice nearfield detail. Things pop out of the middle distance in some places, but I'm used to old school handhelds where that might be absolutely fine. I found the game lags regardless even below these settings, but I also couldn't go above them.
Draw Distance: 37%
Screen Resolution: 90%
Visual Effects: Medium
Dynamic Shadows: On
Do you overclock: Only if there is lag that annoys me
On stock kernel, there were pockets of low framerate in the middle island and when there were a lot of cars but it wasn't so objectionable that I couldn't play through it. Then on Doomkernel for some reason it was a more annoying kind of lag at 1GHz, but 1.2-1.4GHz makes it play great, with a good sensation of speed for the sports cars, but I don't like overclocking too much. But perhaps it wasn't the kernel, perhaps my rom had got a little more bloated. What's weird is that it occasionally ran perfectly at 1GHz, but I couldn't reproduce those conditions at will. I'm on ICS beta now, where GTA crashes the phone horrendously.
I'm using my ROM, and GTA III v1.3.
Draw Distance - 34%
Screen Resolution - 59%
Visual Effects - High
Dynamic shadows - On
OC - Yes, my frequency is 364.8 MHz - 1305.6 MHz
I think I don't have lags, maybe sometime when some new things on map loading.
I've tried reducing Draw distance and it does have an impact on the performance.
I never realized it was this big, reason why I've been ignoring it. Might try OC and root to remove some of the bloatware
Thanks for the help.
On stock gingerbread 2.3.4:
Draw Distance - 100%
Screen Resolution - 100%
Visual Effects - max
Dynamic shadows - on
If you have overclocked - 2.0 GHz, smartass v2
Do you lag? Rarely, only when traveling very fast with 6 stars wanted level (due to multiple choppers, cops, tanks, etc + map loading)
Sacrifice battery life for performance, leaving it with only 2 hours and a half of gameplay with full charge and half of the brightness (the screen is pretty dim anyways )
On FXP CM9:
Draw Distance - 1% (can't see anything)
Screen Resolution - min (looks UGLY)
Visual Effects - min (no lights or blood)
Dynamic shadows - off (static shadows)
If you have overclocked - 1.6 GHz, ondemand
Do you lag? Yes, when there are more than say, 4 peds or 2 cars on screen. When having lots of stuff going on, the device and the OS completely crash
Definitely in need for a new ICS rom.

[Feature Request] Benchmarking

Once upon a time there was TCPMP (CorePlayer) for WM. It had one interesting feature - benchmarking. This options forces player to play video as fast as possible and measures FPS (until you hit stop or video ends).
Such feature is really useful for testing overall perfomance and perfomance hit/gain of different options (how much "speed-up tricks" help, how much subtitle rendering consumes, new decoder optimisations, etc.).
Interesting thought. Though, you could always use something like Antutu, or get an FPS meter app?
CDB-Man said:
Interesting thought. Though, you could always use something like Antutu, or get an FPS meter app?
Click to expand...
Click to collapse
It's a bit different - it measures real playback perfomance, not some abstract number. Even if it was measuring pure cpu perfomance - different archictures have different efficiency at video decoding (think about extentions like MMX/SSE/AVX on x86), plus decoder gets better over time (you get more fps for same cpu perfomance).
Is 40k in antutu enough to play 720p hi10p flawlessy? "It depends".
Fpsmeter will (at best) show only frame drops - when player was not fast enough to draw a frame. If you play 30 fps video and it will say that it plays at 20 fps - it doesn't mean that you can play similar video at 20 fps or that you need to get 50% faster. And if it plays without frame drops - you'll never know how much extra perfomance you have.
But that way it would be possible to do such things:
1) Run video and say:
- "hey, it runs at >120%, I don't need to touch anything to be happy".
- "it runs at 100%, which means that it barely could play it - I need to do something".
- "it runs at <80%, nothing will help so it's better to give up".
2) Change settings and say:
- "switching to yuv/rgb32/rgb16 made it 10% faster, so I should probably use it if I'm happy with quality"
- "I needed some extra perfomance and speed-up tricks got me extra 30% - just what I needed"
3) Give video and ask to benchmark it and then judge how capable the device it (I've seen people that say "flawlessly"/"watchable"/"playable" at 15 fps).
For example I've wasted hours testing hi10p perfomance on my Z3c - sometimes it plays flawlessely, sometimes overheats (drops cpu freq), sometimes lags... and there're different setting to play with, let alone videos with different complexity (and subtiles).
Mx is a media player not a benchmarking tool. I think this feature will only hog unnecessary space for thousands of people.
I partially agree with the OP.
Benchmarking would help with identifying how fast the decoding/rendering is on a certain device.
However, I think there's more value doing this for the ffmpeg team

Boost Android Gaming Performance with this trick

This hidden feature will boost your Android gaming performance [/B
igntimes.com/boost-android-gaming-performance/
Great
Greate toool
It will not boost performance. It will make graphics better.
From the website:
"After you activate this function, your Android phone will render games at the highest possible quality."
It will activate anti aliasing, therefore consuming more power and resources, reducing performance in order to make it look better.
Nice setting, however usually when using higher quality settings it can also decrease performance on slower devices.
Isn't it danager to overclock the phone
The phone will get bad not better i don't recommend it

Gaming performance.

After mucking around with certain games I used to have on my old Galaxy S8 I've discovered something interesting. I get ridiculous lag and frame pacing in just about every game leading to poor results in games such as Cytus 2 (fast paced rhythm game relying on accurate input with no lag) the new Sky game (stutters and tearing in both refresh modes), and a side scroller that has no heavy graphical fidelity (lags on screen and even tears sometimes).
This is all kind of in accordance to this recent review video of the p40 (different phone, same chipset)
https://www.androidauthority.com/huawei-p40-vs-galaxy-s20-plus-1133345/
Now one thing I've noticed is that if I use appassistant to launch these games, the poor performance disappears entirely. No lag anywhere, in Cytus, where before during fast sections it wouldn't even register taps 6-7 times per song, there are ZERO misses across the board. Similarly, no screen tearing or lag in any other game.
Wondering if the OS is optimized to cut power to the GPU and put it into limp mode during normal operation to save battery as I've noticed a dramatic difference in battery drop when using appassistant or not to play games. I mean naturally, the appassistant game center is doing its job but man that's a big difference.
Anyone have similar experiences?
Whats appassistant????

Categories

Resources