Open yaronyg opened 8 years ago
1) tested on 3 samsungs S7 and on one samsung and two Nexus 6p (in MB/s)
Wi-Fi | Discovery | samsung to samsung | samsung to nexus | nexus to nexus | nexus to samsung |
---|---|---|---|---|---|
on | on | 0.023 | 0.008 | 0.006 | 0.015 |
on | off | 0.029 | 0.011 | 0.009 | 0.019 |
off | on | 0.024 | 0.009 | 0.007 | 0.016 |
off | off | 0.032 | 0.011 | 0.010 | 0.019 |
2) Tested on 3 samsungs.
phone has 2 connections | phone has 1 connection |
---|---|
0.123 MB/s | 0.179 MB/s |
3) didn't see any dependancy, for example create connection time in miliseconds (including creation BluetoothClientThread and handshake) when app already have open socket in ms : 703, 937, 1562,180,166,158,158,1143. If app doesn't have any connections I've got next values : 1033, 159,1125,368,483,366,130,267,167,1204.
4) I assumed that in test 2 wifi and discovery was on (send 1 Megabyte, buffersize 10 Kilobyte)
send data from one phone | send data from both phones | |
---|---|---|
average speed | 0.198 MB/s | 0.143 MB/s |
max speed I've got | 0.250 MB/s | 0.167 MB/s |
https://github.com/thaliproject/Thali_CordovaPlugin_BtLibrary/tree/master/NativeTestApp
1) build app from this folder 2) install on two phones 3) on tab "Peers" wait until peers will be found 3) tap on peer and press "two arrows" button (to make connection) 4) tap on send button to send data 5) observe results in log tab or it toast
to test both ways send data
1-4) the same 5) on second phone press "two arrows" button 6) tap on send button on both phones 7) observe results in log tab or it toast
App send data only one way and doesn't reflect it back
We need to understand a number of things about how Bluetooth behaves under load.
We need to re-run the tests in thaliproject/Thali_CordovaPlugin#1000 to see what happens if we use all Samsung and all Nexus 6p devices. The reason this matters is that we saw some very severe fall offs in Bluetooth perf when Samsung talked to a Samsung and Nexus 6P device. We need to know if this is just some bug with Samsung/Nexus or if there is something fundamental in Bluetooth that makes its perf fall off a cliff when it has more than one peer communicating at the same time.
We need a test to see what happens to bandwidth if Device A has a bluetooth server socket from Device B and C but B is the only one transmitting. Is there is a penalty for having a Bluetooth socket open even if it is not being used?
If Device A has a client socket open to Device B and then Device A tries to open a new client socket to Device C is there any latency penalty in time to create the connection just because it already has an open connection?
Please turn off wifi and discovery. Take two s7 phones and run one test in which phone A exclusively sends data to phone B to measure maximum possible performance. Then run the same test again but this time have phone A and B both sending data to each other and see what speed each side experiences in terms of sending its own data.