FORUMS
Remove All Ads from XDA

[RESEARCH] 30FPS issue~[Epson panels fixed]~still work to do

123 posts
Thanks Meter: 6
 
By redct, Senior Member on 18th June 2010, 04:52 AM
Thread Closed Email Thread
Okay, let's try not to get this thread cluttered up with off-topic speculation like the last one. Starting with what we know already:
  • There is a ~30 frames per second cap on 2D and 3D rendering. This can be established both visually (play Doodle Jump) and through a benchmark.
  • If you boot a Nexus One 2.2 ROM, the animation seems to run at 60FPS for a while. This, however, is not totally certain.
  • This seems to be a software cap, not a hard cap. However, an HTC product representative says otherwise. Jury's still out, apparently.
  • There is speculation that the cap might be due to the HDMI out on the graphics chip.
  • Kernel source is being released "soon".
  • There is touch sensing lag, but this seems to be unrelated.
  • This issue affects all EVO hardware builds and all EVO ROMs currently.
  • HTC claims that the cap is by design to improve battery life.

If there is anything else that you have to add that has reasonable evidence backing it up, please do.

EDITED BY TOASTCFH:

Issue of 30fps has been resolved on the devices with Epson pannels through the work done on the kernel reverse engineered kernel source provided in the thread below. for more information and source code for the fix/fixes. also a update.zip can be found on the OP for Fresh 0.3 containing a boot.img containing the kernel compiled with the fps fix.

{KERNEL-SOURCE} GoDmOdE-EVO-2.6.29 {Make Shift Kernel}

enjoy

END OF EDIT
 
 
18th June 2010, 05:18 AM |#2  
Senior Member
Flag San Diego
Thanks Meter: 1
 
More
Correct me if I'm wrong but while running fps2d, aren't there slight flashes where the fps jumps over 30? That in and of itself should prove that the cap isn't hardware based.
18th June 2010, 05:29 AM |#3  
redct's Avatar
OP Senior Member
Flag Austin, TX
Thanks Meter: 6
 
More
Quote:
Originally Posted by Krandor311

Correct me if I'm wrong but while running fps2d, aren't there slight flashes where the fps jumps over 30? That in and of itself should prove that the cap isn't hardware based.

Very true! I'm not versed very well in the actual mechanics of the hardware, but that does sound like a good sign.
18th June 2010, 06:12 AM |#4  
Senior Member
Flag CA
Thanks Meter: 0
 
More
well, a good idea to see if it's a hardware cap or whether it's with the kernel is to try using toast's ported incredible kernel? since the incredible doesn't have the 30fps issue, and assuming it's software(kernel) based, then we shoudln't have that problem.
someone willing to try? sorry, i can't do this on my evo at the moment
18th June 2010, 06:17 AM |#5  
timgt's Avatar
Senior Member
Flag Maryland
Thanks Meter: 60
 
More
I would try if I had the kernel made for me in zip format to flash. Since I have one of the I/O devices I would be able to try but I dont know how to make the kernel to flash.
18th June 2010, 07:41 AM |#6  
Cicatrize's Avatar
Senior Member
Thanks Meter: 27
 
More
This thread is gonna get merged...
18th June 2010, 02:04 PM |#7  
Senior Member
Thanks Meter: 12
 
More
Quote:
Originally Posted by timgt

I would try if I had the kernel made for me in zip format to flash. Since I have one of the I/O devices I would be able to try but I dont know how to make the kernel to flash.

Try one of the overclock builds. They are using toast's source. I want to think this has been tried before.

EDIT:
Seems it was tried on these builds:
RvU Rom: On android central
AOSP Rom: Avalaunch's AOSP Rom
FroYo Rom : Avalaunch's FroYo Rom

http://forum.xda-developers.com/show...2&postcount=88
18th June 2010, 03:43 PM |#8  
bcnice20's Avatar
Retired Recognized Developer
Flag south va.
Thanks Meter: 402
 
Donate to Me
More
Quote:
Originally Posted by Vinny75

Try one of the overclock builds. They are using toast's source. I want to think this has been tried before.

I'm pretty sure it has and still has the same issues the board files for the evo are in there though not the incredibles
18th June 2010, 04:21 PM |#9  
Senior Member
Thanks Meter: 12
 
More
I don't think it is firmware. The RUU for the EVO and Incredible both contain the same tp_amtel224_16ab.img which may be the firmware for the Amtel 224 touchscreen controller. (http://forum.xda-developers.com/showthread.php?t=704640)
18th June 2010, 04:23 PM |#10  
Senior Member
Thanks Meter: 12
 
More
From ffolkes
Quote:

i've been working on this all day. literally. about 9 hours straight.

this is what i've found. changing the mddi clk_rate to anything but 384000000 results in it getting set to 117965000 according to dmesg. now 384/20 = 19.2 which is precisely the frequency of TCXO. seems a bit odd. it's also exactly half of the other clock defined, GLOBAL_PLL at 768mhz. PLL1 (core) is also 768. another clock is defined, AXI at 128mhz, that acronym is mentioned in the video/gpu drivers. not sure if that's related to that clock, or just some video thing i'm not familiar with and completely unrelated.

changing PMDH_CLK (in devices.c) to OFF | MINMAX or just MINMAX *AND* changing the mddi freq to anything higher than 384000000 results in dmesg saying mddi was set to 235930000 (instead of 117965000) but i still get the same 30fps id get if it was at 384000000. so when you think about it, this means mddi can't be capping it, otherwise i'd see a difference between 235930000 and 384000000. but they're exactly the same fps. it HAS to be happening elsewhere.

i've also found removing the adreno200 drivers from /system/lib/egl results in a silky smooth sprint boot animation, the gui flickers crazily, but fps2d still shows 29. perhaps this is what people were seeing with the froyo boot animation looking smooth.

you know, this 29fps thing is very specific...ntsc is 29.97fps. coincidence? i really don't think so. fps2d always averages out to 29, not 30.

i also tried removing all the hdmi code in the board files, that didn't change anything.

i find it very unlikely this is hardware limited though. the gpu is on die with the cpu, so unless htc had qualcomm make them a custom chip, it's all software controlled. there's nothing to suggest the gpu has its own crystal on the pcb. i mean, if we can completely control the cpu frequency via software, the same stands to reason with the gpu.

if it was something hdmi hardware related, it should be able to be disabled in the kernel and the evo wouldn't even know it was there, just like with the sensors that don't work.

it appears the evo uses a SIL9022A for hdmi, which makes no mention of requiring any change to the lcd frame rate. (http://www.siliconimage.com/products...t.aspx?pid=150)

from http://forum.xda-developers.com/show...&postcount=664
20th June 2010, 08:58 AM |#11  
Junior Member
Thanks Meter: 0
 
More
I did a little experiment to see if the restriction was in user-space or the kernel:

- First I set up my machine like I described in the "Getting a wider set of development tools on the phone" thread

- Then I wrote a little program (attached) that suspends the phone compositing manager and wrote to the frame buffer device directly.

The conclusion: Even when writing straight to /dev/graphics/fb0, talking straight to the kernel, there's a 30fps limit.
Attached Files
File Type: txt foo.c.txt - [Click for QR Code] (4.5 KB, 16 views)
Thread Closed Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes