Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,809,137 Members 49,737 Now Online
XDA Developers Android and Mobile Development Forum

[PRJ] [APR 29 - Final Demo] TouchWM | HW accelerated framework for touch apps

Tip us?
(Last edited by Johny_G; 29th April 2010 at 08:34 PM.)
Senior Member - OP
Thanks Meter 199
Posts: 399
Join Date: May 2009
Location: Prague

Default [PRJ] [APR 29 - Final Demo] TouchWM | HW accelerated framework for touch apps

TouchWM is my first project here on xda, and I think it is ready for first brief presentation.

Basicly, this is just another touch-friendly SDK/Framework for other developers, ment to be as fast as possible since it is hardware accelerated by OpenGL (based on OpenGLES wrapper made by Koush). I am adjusting OpenGLES to be used for 2D rendering and creating the Framework itself. There would be a few control elements of course, but right now, it is just rendering background and a lots of text to bench the GPU a little. In future versions, there will be a sample app with source code available for other developers.

Pros and cons of my idea of final project:
+ My Framework should be VERY fast on supported devices. It is a big problem with current frameworks
+ It will be completely opensource, so you can adust the code for your needs
+ TouchWM is very easily skinnable from first stages of development
- There will never be a support for devices without hardware acceleration of graphics
- It will have less control elements than other similar project, since it is a little bit differently targeted

I also plan to develop a simple accelerated engine for 2D games when this stuff is finished, however it might take a while, since this project is part of my bachelor's degree thesis which I definitely want to finish on time :).

So if you would be so kind, please test this app on your devices.

I only need a few information:
  • Your device model
  • ROM you are using
  • FPS displayed in the corner
  • Any additional GPU drivers you have installed (if any)
  • And finally how does it feel to you in general

Thank you for your help!


APR 29 is a Final Demo, but it is not the end of the development. This version should be attached to my thesis, and development will continue when it is done. The deadline is MAY 7, so do not worry, it will not take a long time. When my thesis is finished, I will release the source code as well. Please, test this final demo and send me a report; it is important to me.

APR 29:
  • One new element (option button)
  • Number value can be changed in steps
  • Tweaked colors in the new skin
  • FPS display is optional
  • Thinner scrollbar
  • Reorganized pages
  • Code entirely commented and documented

APR 28:
  • New skin!
  • Scroll position indicator
  • One new element (number value)
  • New methods to change skins in real time (with demonstration)
  • Code cleaned and explained to be used as a tutorial for others
  • Vertical drag tweaked not to be confused with diagonal scroll

APR 27:
  • One new element (On/Off switch)
  • Skin system reworked to override OpenGL ES performance glitch (I began to hate OpenGL ES a little)
  • All skin settings are now optional (it does make skin definitions way shorter)
  • Possibility to skin each page and/or element separately
  • You can drag the page horizontally to move to the previous page
  • Fixed long text offset position and overlap
  • Slightly improved Stress page

APR 26:
  • Major performance improvements
  • Stress page for benchmarking performance
  • Source code commented
  • Keeping backlight on to prevent device suspend
  • Screen orientation change support (only system triggered, not G-Sensor)

APR 25:
  • Some more preformance optimization
  • Dragging the page back when overscrolled
  • Page navigation
  • Two new elements (navigation button and separator)
  • Button focus
  • More skinnable fonts
  • Fixed crash in elements with empty text/label

APR 24:
  • A lot of preformance optimization
  • New FPS measurement
  • One new element (picture)
  • Workaround for the font bug

Reference renders from the Final Demo:

New skin:

Old skin:

Demo 1 [APR 20] download link:
Demo 2 [APR 24] download link:
Demo 3 [APR 25] download link:
Demo 4 [APR 26] download link:
Demo 5 [APR 27] download link:
Demo 6 [APR 28] download link:
Final Demo [APR 29] download link (the same is in the attachment):
Attached Files
File Type: zip - [Click for QR Code] (166.0 KB, 196 views)
Senior Member
Thanks Meter 19
Posts: 247
Join Date: Jun 2007
Location: Prague
Nice dude, glad to see some Czech work
Blue Ice K4
(Last edited by Blue Ice K4; 20th April 2010 at 09:49 PM.)
Thanks Meter 0
Posts: 64
Join Date: Jul 2007
Location: Rome
hd2 owner with stock rom with additional 3d chainfire drivers, fps displayed are about 55 in all conditions

just a question... i notice a little lag between finger movement and display scrolling... is there a way to have the screen "locked" to the finger without delay?
i think this is one of the point that make the touch feeling different between iphone and wm devices
Senior Member - OP
Thanks Meter 199
Posts: 399
Join Date: May 2009
Location: Prague

Thank you for first report :).

To be honest, I see the lag as well (however, it is really short), and I have no idea what causes that. All the position changes are done immediately, and with FPS>30 there should not be lag bigger than 35 milliseconds (18ms in your case). I am not sure if such a little delay can be so notable :(.

Don't worry, I will do my best to hunt every redundant millisecond, but I am not sure if anybody can reach iPhone response on WM device. In fact, I believe that WM are so laggy because of multitasking (the app needs to pass CPU time to other apps dozens of times every second; it cannot really allow any app to flow smoothly even when the overall performance is great), so I believe it is kind of reasonable price :).
(Last edited by Odyssey_LoL; 22nd April 2010 at 06:41 PM.)
Junior Member
Thanks Meter 0
Posts: 4
Join Date: Jan 2010
Location: Liptovsky Mikulas
Default hi

I have HTC touch Diamond and 6.5.5 wm flashed and i use net.framework 3.5 and fps is 12 - 13 fps, and i have good feeling from it fps is poor but it is smooth according to fps and text have in some jotting stretched or rolled their lower ends about some milimeters
sorry my english xD
volDeus's Avatar
Senior Member
Thanks Meter 4
Posts: 540
Join Date: Nov 2006
Location: Las Vegas, NV
Default Great project.

I hope to see it in a more completed state, anxious to use it in one of my own projects. Keep up the good work.

The lag mentioned between mousedown and scrolling is not noticable to me at all. There is, however, a strange issue in your font rendering. (screen-shot below)

Just curious, what language are you writing this is?

RhodiumW (Sprint Branded)
average 28 fps
Heavily modified Sprint Rom - 23554 base
stock video drivers

Good luck with your thesis!
Attached Thumbnails
Click image for larger version

Name:	Screen01.jpg
Views:	157
Size:	23.9 KB
ID:	314187  
Junior Member
Thanks Meter 2
Posts: 14
Join Date: Jan 2010
Thumbs up MotoSurf A3100

MotoSurf A3100, stock WM6.1 ROM and drivers.
19 FPS during repetitious scrolling, 25 when idle.
Works pretty nice, I guess.
VeNuMuS's Avatar
Recognized Contributor
Thanks Meter 2,623
Posts: 3,611
Join Date: Jun 2009
Location: Los Angeles

HTC Fuze
Energy Rom Sense 2.5 Co0kie Home Tab WM 6.5
21 FPS when idle, 20 FPS when scrolling
andes83's Avatar
Senior Member
Thanks Meter 4
Posts: 232
Join Date: May 2009
Location: Varna
19-21 fps but almost all the time above 20
HTC Blackstone
Blackstone Hybrid Drivers
ROM:L26HDLEOV4 Ultimate Serie 5.2.21869
HTC TouchHD:ROM Premium V3.5 - 6.5.x 29022-Sense2.5.2021

Xperia ZR - 4.2.2 official ROM changed (because it was a piece of c****) to Samsung S4 GT-I9505 4.3 official ROM
Junior Member
Thanks Meter 0
Posts: 4
Join Date: Sep 2007
FPS: ~27
ROM: Topat 1.7 NLD by Patensas
Phone: HTC Touch Diamond 2

Works pretty good but the text is crippled.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

MultiROM Makes Its Way to the LG G2

Over the last few weeks, we’ve seen quite a fewflagship (and former flagship) devicesget to … more

Jair Player with a Major Update–Here’s What’s New!

Back in May, we talked a bit aboutJair Player, a nice looking music … more

Paid Android App Developers Will Soon Have to Provide Physical Address

Google has now changed its policies regarding paid app developers. … more