Home Tutorials Download Beta Store Forum Documentation KnowledgeBase Wiki Blog

ShiVa3D

Return to Misc

How about creating a Device Database?

All That Remains

How about creating a Device Database?

Postby redmotion » 26 Jan 2011, 00:24

device_info.jpg


I'm wondering about this:

If I (or someone else beat me to it :D ) 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 )

system.kGPUCapabilityBloomFilterSupport
system.kGPUCapabilityDepthBlurFilterSupport
system.kGPUCapabilityDistortionFilterSupport
system.kGPUCapabilityDynamicShadowsSupport
system.kGPUCapabilityHardwareRenderingSupport
system.kGPUCapabilityMonochromeFilterSupport
system.kGPUCapabilityMotionBlurFilterSupport
system.kGPUCapabilityPixelShaderSupport
system.kGPUCapabilityVertexShaderSupport


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.)

Good idea?

EDIT: Perhaps it could end up serving as a benchmark program also. By showing increasingly more complex scenes and displaying the FPS.
Last edited by redmotion on 29 Jan 2011, 15:55, edited 1 time in total.
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Re: How about creating a Device Database?

Postby NiCoX » 26 Jan 2011, 01:27

Good idea?

I think it is :)
User avatar
NiCoX
Platinum Boarder
Platinum Boarder
 
Posts: 5639
Location: France

Re: How about creating a Device Database?

Postby giggsy » 26 Jan 2011, 08:29

Sounds good!

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.

Further suggestions?


Edit: there should also be some server-sided logic checking doulbe entries...
User avatar
giggsy
Platinum Boarder
Platinum Boarder
 
Posts: 1096
Location: Austria

Re: How about creating a Device Database?

Postby IS_Brice » 26 Jan 2011, 09:45

excellent idea !
IS_Brice
Expert Boarder
Expert Boarder
 
Posts: 97
Location: Toulouse, France

Re: How about creating a Device Database?

Postby redmotion » 26 Jan 2011, 15:47

@giggsy: I had considered a database too. Unfortunately, I know nothing about databases (would love to know though), so that would be all down to you! I also considered publishing it in various App stores where an ability to upload results to a database would provide us with hundreds of results.

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.
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Re: How about creating a Device Database?

Postby giggsy » 26 Jan 2011, 22:24

Some benchmark scenes sound cool!
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
User avatar
giggsy
Platinum Boarder
Platinum Boarder
 
Posts: 1096
Location: Austria

Re: How about creating a Device Database?

Postby redmotion » 26 Jan 2011, 23:05

@giggsy: nice to see things moving forwards! Great stuff!

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
username: localhost
OSType: Android
OSLang: n/a
OS: Google Android Froyo
Version: 2.2.1
Screen: 800 x 480
LastFPS:18.24fps
AverageFPS: 16-17fps

GPU: Q3Dimension
Vertex Shaders: No
Pixel Shaders: No
BloomFilter: No
DepthBlur: No
DistortionFilter: No
Dynamic Shadows: No
Hardware rendering: Yes
MonochromeFilter: No
MotionBlurFilter: No


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.
Last edited by redmotion on 30 Jan 2011, 23:07, edited 4 times in total.
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Re: How about creating a Device Database?

Postby redmotion » 26 Jan 2011, 23:15

The archive.

Export, compile with UAT, install on device, post results.

EDIT: See post below for latest file.
Last edited by redmotion on 30 Jan 2011, 23:06, edited 3 times in total.
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Re: How about creating a Device Database?

Postby giggsy » 27 Jan 2011, 07:26

thanks, I'll look into that asap!
User avatar
giggsy
Platinum Boarder
Platinum Boarder
 
Posts: 1096
Location: Austria

Re: How about creating a Device Database?

Postby redmotion » 27 Jan 2011, 12:24

Nice one!

If anyone else wants to run this on their device/s and post results here that would be appreciated!
Last edited by redmotion on 30 Jan 2011, 23:10, edited 1 time in total.
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Re: How about creating a Device Database?

Postby redmotion » 28 Jan 2011, 20:44

Can I post a compiled debug-apk on here in the hope a few more people might post info about their phones or would that break an Android terms/conditions?
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Re: How about creating a Device Database?

Postby giggsy » 29 Jan 2011, 12:33

As far as I'm concerned, you can do with your APK what you want... Google 's not like Apple ;)
User avatar
giggsy
Platinum Boarder
Platinum Boarder
 
Posts: 1096
Location: Austria

Re: How about creating a Device Database?

Postby giggsy » 30 Jan 2011, 20:21

@redmotion: I integrated my database-insert code with your example.
From now on, please use the following:
http://www.scrambled-egg.net/misc/shiva/stats/device_info.ste

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 ;)
User avatar
giggsy
Platinum Boarder
Platinum Boarder
 
Posts: 1096
Location: Austria

Re: How about creating a Device Database?

Postby redmotion » 30 Jan 2011, 23:00

Great job, Giggsy, I've submitted mine, seems to work well. I hope others will do the same.

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!)
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Re: How about creating a Device Database?

Postby redmotion » 03 Feb 2011, 15:28

Ok, this hasn't really got off to much of a start!

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
HTC Wildfire
Samsung Galaxy S
LG Optimus 2X
Motorola Droid 1/X/2/DEXT
Sony Experia X10
iPhone 3G/4

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!
User avatar
redmotion
Platinum Boarder
Platinum Boarder
 
Posts: 574

Next

Return to Misc