Reducing Tearing/stutter


sbock

Chaos is our mode and modus
Joined
Dec 22, 2005
Messages
3,778
Location
Germany
I noticed that notaz updated Noiz2sa a few days ago. In this new version the file pollux_dpc_set is included.
With this file it is possible to reduce screen tearing and remove stutter on firmware 1.1.0 in many games.
Here's an example for Quake 2:

Download Pollux DPC Set from the archive. Copy the file pollux_dpc_set to the Quake 2 folder.

Now edit q2.gpe:

Code:
#!/bin/sh

./cpufreq --freq 750
./pollux_dpc_set 'lcd_timings=397,1,37,277,341,0,17,337;clkdiv0=9'
./sdlquake2 +set vid_ref softsdl +set s_khz 22
#for a timedemo run add +set timedemo 1 +map demo1.dm2
cd /usr/gp2x/
./gp2xmenu

Add the line starting with ./pollux... to the wrapper script. Now the application runs with changed display timings to reduce tearing and stutter on firmware 1.1.0.
Do not change the values after lcd_timings exept you know what you're doing.
Use an Unix compatible editor like Notepad++.

The sourcecode can be found here.

Thanks to notaz for this nice program...

[Edit:] File and source uploaded.
 
So this screen tearing reduction works together with CPUfreq and is made the same way? Interesting.
Just throwing a few ideas out there, it'd be good to merge CPUfreq and pollux_dpc into a single program.
It'd be GREAT if Gmenu2x could enable anti-tearing too.

So, any noticable impact on performance when using this program?
 
RupeeClock said:
So this screen tearing reduction works together with CPUfreq and is made the same way? Interesting.
Just throwing a few ideas out there, it'd be good to merge CPUfreq and pollux_dpc into a single program.
It'd be GREAT if Gmenu2x could enable anti-tearing too.

So, any noticable impact on performance when using this program?

No, with this solution there is no performance hit. Only the display timings are changed.
The tearing is not complete eliminated with this, but I hardly noticed any tearing in Quake 2 or Noiz2sa...
 
Last edited by a moderator:
It could decrease battery life though (somebody needs to test this, sbock?).

RupeeClock said:
Just throwing a few ideas out there, it'd be good to merge CPUfreq and pollux_dpc into a single program.
It'd be GREAT if Gmenu2x could enable anti-tearing too.
The source is in tearing thread in dev forum, although I don't see much point merging them (except maybe to reduce file count).
 
Last edited by a moderator:
sbock said:
I noticed that notaz updated Noiz2sa a few days ago. In this new version the file pollux_dpc_set is included.
With this file it is possible to reduce screen tearing and remove stutter on firmware 1.1.0 in many games.
Here's an example for Quake 2:
Thank you for this. I can confirm that it works very well in Quake2 - that diagonal line when you get hit (and the screen flashes white or red) appears to be entirely gone now. Awesome.
 
Last edited by a moderator:
notaz said:
It could decrease battery life though (somebody needs to test this, sbock?).
Interesting. Could you please explain why you think there is more power drain with this solution?
I do some tests this weekend...



[Edit:] Ok, here are the results:

Without pollux_dpc_set:

Code:
STATISTICS:
Clock Speed: 533 Mhz
Running Time: 6:35:00
Average FPS: 154.57

With pollux_dpc_set:

Code:
STATISTICS:
Clock Speed: 533 Mhz
Running Time: 6:20:00
Average FPS: 154.16
 
Last edited by a moderator:
With the new tool from notaz supporting RAM tweaks the q2.gpe should look like this:

Code:
#!/bin/sh
./pollux_set 'lcd_timings=397,1,37,277,341,0,17,337;dpc_clkdiv0=9;cpuclk=750;ram_timings=2,9,4,1,1,1,1'
./sdlquake2 +set vid_ref softsdl +set s_khz 22
#for a timedemo run add +set timedemo 1 +map demo1.dm2cd 
/usr/gp2x/
./gp2xmenu

The functions display timings, CPU frequency and RAM timings are now put together.
The tool pollux_set can be found here:

http://notaz.gp2x.de/misc/dev/pollux_set_r1.zip

You can gain roughly 0.5 fps with this solution.
 
sbock said:
notaz said:
It could decrease battery life though (somebody needs to test this, sbock?).
Interesting. Could you please explain why you think there is more power drain with this solution?
Well OMAP3 manual recommends slowing down LCD in standby modes to save power, so it means higher rates consume more.

sbock said:
Without pollux_dpc_set:

Code:
STATISTICS:
Clock Speed: 533 Mhz
Running Time: 6:35:00
Average FPS: 154.57

With pollux_dpc_set:

Code:
STATISTICS:
Clock Speed: 533 Mhz
Running Time: 6:20:00
Average FPS: 154.16
Thanks, so there is a hit but it's not a big deal.
 
Last edited by a moderator:
notaz said:
Well OMAP3 manual recommends slowing down LCD in standby modes to save power, so it means higher rates consume more.
I see. But you mean Pollux manual, right? :unsure:
 
Last edited by a moderator:
sbock said:
notaz said:
Well OMAP3 manual recommends slowing down LCD in standby modes to save power, so it means higher rates consume more.
I see. But you mean Pollux manual, right? :unsure:
Actually it was OMAP3, but I thought the same ideas could be applicable to pollux too.
 
Last edited by a moderator:
Back
Top