by redmotion » 26 Jan 2011, 00:24
I'm wondering about this:
If I (or someone else beat me to it ) created a very simple program as an .stk or .ste file and posted it on the forums, would people be interested in contributing to the creation of a Device Database?
Basically, anyone could download the .stk, .ste, export and/or compile for the device in question, install, run. Post their results.
It would display the following:-
- Code: Select all
system.getDeviceModel ( )
system.getDeviceName ( )
system.getOSType ( )
system.getOSVersionString ( )
nMajor, nMinor, nBugfix = system.getOSVersion ( )
nWidth, nHeight = system.getCurrentScreenResolution ( )
system.getGPUModelDescription ( )
system.getGPUDriverDescription ( )
system.getGPUCapability ( kCapability )
After people posted the results from their current device, we'd have a long list of mobile devices and their capabilities (possibly added to the Wiki - it would make it very easy for people to develop for devices they don't have because they will be able to check what can and can't be done with them.)
EDIT: Perhaps it could end up serving as a benchmark program also. By showing increasingly more complex scenes and displaying the FPS.
by giggsy » 26 Jan 2011, 08:29
I'd be willing to contribute.
Should we consider sending the data to a eg. mysql database?
Of course we could log the stuff and everybody copy-pastes the info... or we simply do both?
I can offer the mysql thing, but I have to keep the database access info private
( recently started playing around with XML and mySql + Shiva ... so technically I got it running)
So what we need: a final list of attributes we want to obtain.
Then I would create a subitData.php and a showData.php.
First recieves xml data, second displays all the current entries in table form.
Edit: there should also be some server-sided logic checking doulbe entries...
by redmotion » 26 Jan 2011, 15:47
For double entries - I'd consider averaging the results. So if a phone was a specific model with a specific OS version any results would be appended to that result and averaged again. We'd have to list the number of devices tested in each category as part of the data on the visible list.
Would we have to define all the categories/device combinations beforehand? And could we provide pre-compiled Debug mobile-apps to download from here?
Now, if we go all the way with this and create an app that can benchmark FPS performance over all devices of say, 4 identical, increasingly complex/heavy scenes, then the main problem for FPS calculations is this: I don't think there is a way to check the speed of the CPU in Shiva or whether people are running custom firmware/roms (some of which give better performance)
As an example, I recently rooted my HTC Hero and installed custom firmware froyo 2.2.1 where I can overclock the CPU. So I'd prefer it if the results from an overclocked device didn't get included in the results from stock devices.
A command like "system.GetCPUspeed()" would be really vital for this (or a plugin).
(Any 3d digital content providers fancy demoing/advertising their products in this?)
So, knowing some of the issues of doing something more "grand", I feel we should just keep it to the simple "Shiva system query + send results to database" for now and let the community expand on it at a later date.
by giggsy » 26 Jan 2011, 22:24
But I agree, let's go step by step
Adapting my database sample, I got a first start I guess:
Due to time issues, it currently only submits device model + name, os type + version string. More to come at the weekend or so
After that I can clean up the sample and hand it over to someone else to take care of the gui...
Submit 'em with this app: http://www.scrambled-egg.net/misc/shiva/stats/Stats.stk
@Authoring Tool Android: dont forget the "Use Network" ....gets me every time!
View the stats: http://www.scrambled-egg.net/misc/shiva/stats/getStats.php
by redmotion » 26 Jan 2011, 23:05
This is my stab at the front end, it displays almost all the info Shiva can collect about a device except Languages and stores them in mainAI variables.
If you like I'll PM you the project archive tomorrow evening, hopefully it'll save some time. EDIT: can't PM attachments - see post below!
I stuck in a scene with about 40 grey cubes to serve as a placeholder backdrop until we can get something a bit more tasty .
For now I'm going to post my results in a quote for now until the two apps get merged.
Device: HTC Hero
OS: Google Android Froyo
Screen: 800 x 480
Vertex Shaders: No
Pixel Shaders: No
Dynamic Shadows: No
Hardware rendering: Yes
PS: Are there rules against posting development-apk's in zips on the forum? If not, it would be nice to get compiled install packages for most device types and post them here.
EDIT: STK removed, see Giggsy's post further down the thread.
by redmotion » 26 Jan 2011, 23:15
Export, compile with UAT, install on device, post results.
EDIT: See post below for latest file.
by redmotion » 27 Jan 2011, 12:24
If anyone else wants to run this on their device/s and post results here that would be appreciated!
by redmotion » 28 Jan 2011, 20:44
by giggsy » 30 Jan 2011, 20:21
From now on, please use the following:
If you want to submit other/more stats, feel free to change mainAI.onSubmitStats ( ) as you like.
You have to tell me what you change though, as I need to update the server too
The stats can be viewed here: http://www.scrambled-egg.net/misc/shiva/stats/getStats.php
Feedback is welcome!
This is the current database setup:
- Code: Select all
-- Table structure for table `stats`
CREATE TABLE IF NOT EXISTS `stats` (
`id` int(11) NOT NULL auto_increment,
`deviceModel` varchar(256) character set utf8 collate utf8_bin NOT NULL,
`deviceName` varchar(128) character set utf8 collate utf8_bin NOT NULL,
`deviceIdentifier` varchar(256) character set utf8 collate utf8_bin NOT NULL,
`deviceScreen` varchar(64) character set utf8 collate utf8_bin NOT NULL,
`OSType` varchar(128) character set utf8 collate utf8_bin NOT NULL,
`OSVersionString` varchar(128) character set utf8 collate utf8_bin NOT NULL,
`OSClient` varchar(128) character set utf8 collate utf8_bin NOT NULL,
`OSMajMinBug` varchar(64) character set utf8 collate utf8_bin NOT NULL,
`gpuType` varchar(128) character set utf8 collate utf8_bin NOT NULL,
`hwRendering` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`vertexShader` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`pixelShader` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`bloom` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`blur` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`distortion` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`shadows` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`mono` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`motionblur` varchar(6) character set utf8 collate utf8_bin NOT NULL,
`avgFPS` varchar(64) character set utf8 collate utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Disclaimer: I am no DB pro
by redmotion » 30 Jan 2011, 23:00
NOTE: to anyone who chooses to compile their own version: make sure "use network" and "use openGLES1.1" is enabled in the UAT.
EDIT:I removed all the files and links I posted to prevent any confusion about which file is current.
I have two APKs for this, a debug which definitely works (tried and tested) and a signed one which seems to have an issue with submitting device info - feel free to PM me if you want one. (I'll state it now - you use the apps at your own risk!)
by redmotion » 03 Feb 2011, 15:28
If you'd like to contribute we're looking for people with the following phones to compile, run this app and submit their device info:-
HTC Nexus One
Samsung Nexus S
HTC Desire HD
HTC Desire Z
Samsung Galaxy S
LG Optimus 2X
Motorola Droid 1/X/2/DEXT
Sony Experia X10
HTC HD7 (be nice to see differences between WP7 and Android phones)
HTC Mozart 7
Any other Windows phone 7 or Non-Android devices.
Thanks for Listening.
PS: If there's something putting you off from doing it, please let us know what it is so we can put it right!