Author Topic: HTC one FPS  (Read 31160 times)

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: HTC one FPS
« Reply #45 on: May 19, 2013, 10:43:39 PM »
 :) :D ;D

Just sent Garrett another test build and he confirmed that he's getting full speed without hiccups!  The build is from an experimental branch I've been working on to solve a completely different issue.  I haven't pushed the source yet (still have a few bugs to fix), but should be able to get something out this week.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline mikethebigo

  • byte
  • *
  • Posts: 16
    • View Profile
Re: HTC one FPS
« Reply #46 on: May 19, 2013, 11:57:06 PM »
Sorry I didn't see all the updates in this thread until now!  If you'd like to test the experimental build on the AT&T S4 as well send it my way and I'll let you know.  I would be very stoked if the problem was fixed!

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: HTC one FPS
« Reply #47 on: May 20, 2013, 12:34:30 AM »
OC the device doesn't bring better performance on my Adreno 320 powered Nexus 4.
The N4 is clocked to max/min 1512 MHz / governor "performance".
The other device is my Onda v812 clocked to max/min 1200 MHz / governor "performance".
MP64+ae version is the latest test build with glide plugin. Benchmarked the intro sequence from "Super Smash Brothers".

The device runs with stock kernel, so I can't test GPU OC.

http://youtu.be/v_BLhcGua4o

Offline Grantious

  • bit
  • Posts: 8
    • View Profile
Re: HTC one FPS
« Reply #48 on: May 20, 2013, 05:11:47 AM »
Oh wow lots of buzz :) seems like progress is there anything that you need me to do? Like with error reports or anything or is all well :)

Offline xperia64

  • Moderator
  • double
  • *****
  • Posts: 591
    • View Profile
    • My Apps
Re: HTC one FPS
« Reply #49 on: May 20, 2013, 07:29:56 AM »
@littleguy i used that in timidity at one point when the label wouldnt refresh on its own. Another theory: the gpu thinks the input layer is the main gfx layer and seeing how it isnt changing,  it slows down.  I guess someone should try to rewrite the touchscreen controls to be drawn in gles or something. Also,  if the 'animated' control scheme is still in there,  i wonder if that would cause more refreshes

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: HTC one FPS
« Reply #50 on: May 20, 2013, 07:34:03 AM »
I was thinking that too about the animated touchscreen, but then realized we had optimized that code to be lazy so that it wouldn't force unnecessary refreshes... so probably wouldn't change much.

I'm making some final tweaks to the version that worked for Garrett and will be pushing shortly.  I think you're right, it has something to do with the GameSurface and GameOverlay objects fighting over focus, and Adreno trying to optimize power consumption based on focus.  The version I'm about to push changes some things about those two objects that apparently fixed the issue for Garrett.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline xperia64

  • Moderator
  • double
  • *****
  • Posts: 591
    • View Profile
    • My Apps
Re: HTC one FPS
« Reply #51 on: May 20, 2013, 08:08:13 AM »
I can probably test on my friend's s3 today

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: HTC one FPS
« Reply #52 on: May 20, 2013, 08:12:23 AM »
Nice work on diagnosing the problem, guys (and extra thanks to Garrett for noticing that important tidbit of info!)  I have a whole bunch of email addresses for folks who have reported this problem, so I'll blast out some spam once littleguy's new branch is ready.  I haven't had much luck getting many of them to be excited about helping with the tests, but I suspect they'll be more enthusiastic if we have something that actually solved the problem at least on one device.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: HTC one FPS
« Reply #53 on: May 20, 2013, 01:44:15 PM »
Ok, I built littleguy's two test branches, to help zero in on the solution.  I built these on a different computer, so be sure to uninstall any previous test builds before installing these (or you'll get a signature mismatch error).

We need feedback from anybody with an HTC One or other device that has the Adreno lag problem:


Test #1: GameOverlay Test.  For this test, just interested in seeing if the lag problem still exists (using GameOverlay behind the scenes to handle touch events instead of GameSurface)


Test #2: Screensize Test.  For this test, the touch controls are broken, so don't worry about that.  We just need feedback on whether different video resolutions fix the lag problem (in video settings section).
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Garrett

  • byte
  • *
  • Posts: 13
    • View Profile
Re: HTC one FPS
« Reply #54 on: May 20, 2013, 02:17:50 PM »
Your first GameOverlay Test did not help. Ran around 17 fps, same as before. Touching the screen still helped to increase fps.

The resolution change helped the problem the most.
In 960x720 fps was 20-25 - a little choppy sound/gameplay
In 800x600 fps was 25-30 - pretty smooth gameplay, hiccups occasionally
and 640x480 was 28-30 - pretty much perfect, however a bit too small to play on due to the native resolution being 1920x1080 on the S4.

Though in all of these resolution modes (and native) I noticed still if there is any input such as me touching the screen - (making it produce the little dot where my finger is) or opening/closing the menu, the fps will jump up to a constant 30+fps

So the resolution is a work-around for the problem at the moment, but there is still something else that is making it lag.

--Btw, these fps values same with the version littleguy set me
« Last Edit: May 20, 2013, 02:22:03 PM by Garrett »

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: HTC one FPS
« Reply #55 on: May 20, 2013, 02:22:05 PM »
Ah, so I misunderstood one of your PMs.  I thought the non-native resolutions fixed the problem entirely, not just reduced the load....  That chops me back down a notch.  Still, the fact that something makes it run at full speed, repeatably, is the best clue we've had to date...
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline Garrett

  • byte
  • *
  • Posts: 13
    • View Profile
Re: HTC one FPS
« Reply #56 on: May 20, 2013, 02:30:26 PM »
Yeah, I thought it fixed it too, as I pretty much just tried to use 800x600 and lower. It pretty much makes it totally playable. And all my fps tests are on Mario64, some of the other games are a bit slower I've noticed.

My guess is what has been thrown around. It's probably the gpu/cpu being governed because it doesn't think it needs to be working.
« Last Edit: May 20, 2013, 02:34:20 PM by Garrett »

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: HTC one FPS
« Reply #57 on: May 20, 2013, 02:45:37 PM »
Both tests don't bring realy better results.
Same config, like in my previous posted video. Plugin was rice now. Other settings are default, only framecounter and stretch screen added.
If I run the intro of smash bros. till the point where the start screen appeares, the difference  to my tablet as reference are ~15 seconds.
On the old video with glide plugin the difference was nearly 20 seconds that the Nexus 4 performes the test.

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: HTC one FPS
« Reply #58 on: May 20, 2013, 03:05:40 PM »
@scorpio - Does touching the screen or spamming the menu button/icon a bunch of times give you a performance boost?
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline mikethebigo

  • byte
  • *
  • Posts: 16
    • View Profile
Re: HTC one FPS
« Reply #59 on: May 20, 2013, 03:30:47 PM »
Hi everyone, I have some possibly exciting news!

I was thinking about what Garrett said, about it possibly being a CPU/GPU clocking problem.  I think that actually would be consistent with noticing the increased speed with touch events - the system may dynamically up clock to handle those events.

My GS4 is rooted and I installed antutu CPU master (free from the play store).  It reports it cannot control the GPU but it can control the CPU.  It showed the CPU was dynamically clocking all the way down to 384 MHz often.  I set the CPU to performance mode at consistent max of 1890 MHz.

Afterward there was a HUGE difference with Mupen.  Using the stock app in the play store (not one of the test builds) I consistently got 30 fps in Mario and smash bros, and a consistent 20 fps in ocarina which is the best I've seen so far.

I agree with Garrett that at least part of the problem must be Qualcomm's processor power saving measures, it may just be that there needs to be a way to make the system understand that more power is needed.