Remove All Ads from XDA
Honor View 10

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

401 posts
Thanks Meter: 199
Post Reply Email Thread
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)
20th April 2010, 10:14 PM |#2  
Senior Member
Flag Prague
Thanks Meter: 19
Nice dude, glad to see some Czech work
20th April 2010, 10:46 PM |#3  
Flag Rome
Thanks Meter: 0
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
21st April 2010, 11:19 AM |#4  
OP Senior Member
Flag Prague
Thanks Meter: 199
Donate to Me
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 :).
22nd April 2010, 07:32 PM |#5  
Junior Member
Flag Liptovsky Mikulas
Thanks Meter: 0
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
22nd April 2010, 07:39 PM |#6  
volDeus's Avatar
Senior Member
Flag Las Vegas, NV
Thanks Meter: 4
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  
22nd April 2010, 08:14 PM |#7  
Junior Member
Thanks Meter: 3
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.
22nd April 2010, 08:21 PM |#8  
VeNuMuS's Avatar
Recognized Contributor
Flag Los Angeles
Thanks Meter: 3,067
Donate to Me
HTC Fuze
Energy Rom Sense 2.5 Co0kie Home Tab WM 6.5
21 FPS when idle, 20 FPS when scrolling
22nd April 2010, 08:34 PM |#9  
andes83's Avatar
Senior Member
Flag Varna
Thanks Meter: 4
19-21 fps but almost all the time above 20
HTC Blackstone
Blackstone Hybrid Drivers
ROM:L26HDLEOV4 Ultimate Serie 5.2.21869
22nd April 2010, 09:16 PM |#10  
Junior Member
Thanks Meter: 0
FPS: ~27
ROM: Topat 1.7 NLD by Patensas
Phone: HTC Touch Diamond 2

Works pretty good but the text is crippled.
22nd April 2010, 09:19 PM |#11  
OP Senior Member
Flag Prague
Thanks Meter: 199
Donate to Me
Thank you for your replies! Does everybody have the issues with the font? What system font do you use?
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes