Page 1 of 4

Förslag för att minska dataförbrukningen

Posted: 22 Mar 2012 22:44
by Skywriter
Appens dataförbrukning är som jag ser det största problemet med appen. Eftersom den konstant ligger och hämtar och sänder information blir det snabbt många MB. Det gör även att telefonen konstant är i HSPA-läge vilket är förödande för batteriet. Det borde därför vara av högsta prioritet att minska datamängden som skickas till och från appen. Det skulle också minska trycket på servern vilket kanske inte är ett problem nu men det kan bli det.

Eftersom jag inte vet exakt hur allt funkar förslår jag kanske redan sånt som är infört men jag vill starta en diskussion om hur man bäst minskar datamängden som skickas

Bara se spelare aktiva i sin egen region
Jag struntar högaktningsfullt i vad som händer i andra regioner när jag är ute och spelar. När jag kommer hem och har WiFi kan det vara kul att kunna se resten av världen men default borde vara att man bara ser vad som händer i regionen man är.

Cachelagring av kartor
Jag vet att det här har avslagits förut med motiveringen att Google inte tillåter det men jag ställer mig lite undrande. När man läser här http://code.google.com/intl/sv/android/ ... apkey.html så står det ” It provides built-in map downloading, rendering, and caching of Maps tiles”
Är det nya regler eller är det nått jag missar?

Zonerna borde definitivt lagras lokalt. Zonernas status är då det enda som behöver hämtas. Som det är nu tar det lång tid innan alla zoner ens syns. Givetvis är det bara status på zonerna i min region som ska hämtas i första hand. Har man varit aktiv i andra regioner kan statusen på de zonerna även hämtas. Sen bör det vara kopplat till funktionen ovan där man kan välja att se spelare i andra regioner.

Rensa bland meddelanden som skickas till appen
Connect/disconnect är exempel på onödiga meddelanden. Vem som tog vilken krona i andra regioner hör också till sånt jag inte bryr mig om. Andra kan vara intresserad av detta så det ska givetvis vara kopplat till att se spelare i andra regioner.
När skärmen är släckt behövs ingen realtidsuppdatering alls. Det som är intressant då är att servern med jämna mellanrum får veta var jag är och att jag får veta ifall någon tagit mina zoner.

Sänkt uppdateringshastighet
Uppdateringen på positionen man ser i appen bör inte ändras, bara hur ofta den meddelar positionen till servern. Är man i zonen behöver inte heller servern veta exakta positionen hela tiden. Det räcker med att den får en signal att man passerar zongränsen. Det gäller både ut och in och appen kan hålla reda på tidsgränsen. Servern kan även den ha nedräkning för visning för andra spelar/web. När appen har räknat ner klart skickar den GPS-tidskoden (vilken jag antar går att få fram) till servern som då registrerar övertagandet. När servern får tidskoden så väntar den några sekunder innan den tilldelar zonen. Det sista är ifall det är flera som försöker ta zonen så är det viktigt att den som tog den först verkligen får den.
På liknande sätt behöver man inte ha konstant uppdatering av andra spelare ens när dom tar en zon. Det räcker med att min app får veta att viss spelare håller på att ta en zon och har x antal sekunder i take-overtid. Sen kan det räknas lokalt när appen ska kolla om zonen har ny status.


Målet måste vara att så mycket som möjligt görs i appen och jag förstår att det inte är lätta problem att lösa. Jag tror dock att det kommer vara en absolut nödvändighet att göra allt för att minska kommunikationen mellan app och server. När antalet spelare växer kommer det bli problem om inget görs.

några andra förslag

Posted: 22 Mar 2012 23:04
by hagar (dns krångel)
Några andra förslag:
Om det ska skickas mycket data så kanske dataströmmarna kan komprimeras?
med t.ex:
http://docs.oracle.com/javase/1.5.0/doc ... tream.html

Det finns någon artikel på Sony (Ericsson)s development site som kanske kan ge någon input:
http://developer.sonymobile.com/wp/2010 ... /#more-709

Kanske den här kan ge någon input:
http://developer.sonymobile.com/wp/2010 ... /#more-858

Re: Förslag för att minska dataförbrukningen

Posted: 22 Mar 2012 23:33
by Blabert
Väldigt bra synpunkter :-)

Sent from my Galaxy Nexus using Tapatalk

Re: Förslag för att minska dataförbrukningen

Posted: 22 Mar 2012 23:39
by Skywriter
Andra länken var intressant och kan säkert hjälpa.

Jag kan för lite om komprimering för att kunna säga om det kan hjälpa eller inte. Helt klart är iaf att det är inte hållbart i längden att appen konstant skickar och tar emot data. För tillfället är det nästan bara ett problem för batteriet och abonnemangets dataförbrukning. När antalet spelare växer finns det risk för att appen får så mycket data att den inte orkar med. Det kan även bli onödiga problem med servern och dess bandbredd.

Man måste vara mycket mer selektiv av vad som ska skickas och när. När man är ute och spelar behöver man tex inte veta vilka som är inloggade i Korea. Det är sånt som mer är en kul grej när man sitter hemma och kollar.

Re: Förslag för att minska dataförbrukningen

Posted: 23 Mar 2012 00:59
by Optimus
Låter bra, även om jag tekniskt inte kan något om det.

Även chatten kanske drar väl mycket data ? Det känns som att det jag trycker när jag skriver, först går till servern och tillbaka innan det hamnar på min skrivrad. Jag vet inte om det stämmer men ibland tar det lång tid innan det jag trycker hamnar på skrivraden (jag pratar ännu osända meddelanden).

Däremot vill jag gärna se nedräkning på andras takeover i realtid, ibland har den som var där först svårt att få position och då kan man som 2:a vinna zonen om man har bättre GPS-mottagning och cyklar fort... ;)

Re: Förslag för att minska dataförbrukningen

Posted: 23 Mar 2012 02:53
by SEALen
Det som drar absolut mest datatrafik är Google maps satelitdata. Det appen snackar med servern är försumbart i jämförelse. Pröva slå på pro mode så får ni se.

Jag säger inte att servern / appen inte behöver prata smartare för det. Mest i syfte att minska "lag".

Zoner borde cashas lokalt helt klart.

Jag borde bara få data om "fiender" inom en viss radie ifrån mig om jag zoomat in kartan långt. I övrigt borde jag bara få data om de som befinner sig på den del av kartan jag har på skärmen. T.ex. jag zoomar så jag ser hela Sundsvall. Jag får info om alla som befinner sig på kartan jag ser, men infon om personerna utanför skickas inte till mig. Jag zoomar in nära för att se zonen. Nu får jag bara info om de som är inom en viss radie (som vi bestämmer sedan :) ifrån min egen position. Detta så jag fortfarande har ett hum om mina närmsta fi. Deras gubbar skall synas i kanten som det gör nu för alla utanför kanten på din karta.

För mycket regler om vad som skall skickas och inte kan iofs vara kontraproduktivt i och med att servern måste hantera en massa komplexa regler och därmed bli seg pga av det.

Ja nu skall dev bara hitta tiden att koda också... Svåraste av allt kanske :)

Re: Förslag för att minska dataförbrukningen

Posted: 23 Mar 2012 07:18
by eddyueue
Simon, utvecklaren som gör appen o servern, är riktigt vass. Saker som ser simpla ut i Turf behöver inte alls vara simpelt implementerade. Titta på presentationen de höll på Dreamhack: http://www.youtube.com/watch?v=qITZ53-_LbA
Förr i tiden sparades mycket mer lokalt, vilket i princip bara medförde problem jämfört med dagens system.

Re: Förslag för att minska dataförbrukningen

Posted: 23 Mar 2012 09:39
by Skywriter
@Optimus
Chatten behöver inte uppdateras så länge man inte tittar på den. Jag hoppas verkligen att den inte ligger och uppdaterar hela tiden nu.
Även Online-listan behöver inte uppdateras i realtid. Det räcker med att den uppdateras när man öppnar listan och sen ska det finnas en uppdateringsknapp.

Problemet med hoppande GPS-signal blir inte bättre för att man har realtidskontakt. Servern/andras appar behöver egentligen bara veta om man passerat gränsen eller inte. 100% rättvist kommer det nog aldrig bli men jag ser det som en del av spelet.

@SEALen
Även om pro-mode minskar dataförbrukningen så står appen i konstant kontakt med servern även då. Det gör att telefonen alltid är i HSPA-läge och drar onödigt mycket batteri. Det gör att man måste fundera ut vilken information som ska skickas ofta och vilken information som kan skickas med längre mellanrum. Om jag släcker skärmen är det tex väldigt lite information som behöver skickas mellan app och server.

Jag tycker också att datan man får borde vara baserad på zoom-nivå. Om jag inte kan se mina motspelare behöver inte appen veta exakt var dom är och om dom håller på att ta en zon eller inte. Röda gubben i kanten gillar jag men man kan ha sänkt uppdateringshastighet på de som inte ses. Jag tycker fortfarande att när jag spelar så behövs bara info om spelare i min region.

Förslag:
Game mode och Spy mode

I Game mode syns bara nödvändig information som berör ditt spel. Som hörs av namnet är det vad man använder när man är ute och spelar. Du får ingen uppdatering om andra regioner än din hemregion och regioner där du för tillfället äger zoner. Övriga regioners zoner är gråa (återigen krävs att zonernas position lagras lokalt)

I Spy mode syns hela världen (bättre namn behövs). Appen får mycket mer data och du får veta allt som händer. Lämplig att använda när du har WiFi

Edit:
Game mode och Couch mode ska de givetvis heta :D

Re: Förslag för att minska dataförbrukningen

Posted: 23 Mar 2012 13:02
by mortuus
Jag skulle verkligen vilja slippa ansluta till globala chatten, den måste väl ändå dra hyffsat mycket och jag håller med nu när det är tokfullt med spelare så slukar appen batteri som aldrig förr, även om gpsen avstängd och mobilen i släckt så drar det märkbart batteri från zon till zon.

Re: Förslag för att minska dataförbrukningen

Posted: 23 Mar 2012 15:33
by SEALen
Skywriter wrote:@Optimus

@SEALen
Även om pro-mode minskar dataförbrukningen så står appen i konstant kontakt med servern även då. Det gör att telefonen alltid är i HSPA-läge och drar onödigt mycket batteri. Det gör att man måste fundera ut vilken information som ska skickas ofta och vilken information som kan skickas med längre mellanrum. Om jag släcker skärmen är det tex väldigt lite information som behöver skickas mellan app och server.

Jag tycker också att datan man får borde vara baserad på zoom-nivå. Om jag inte kan se mina motspelare behöver inte appen veta exakt var dom är och om dom håller på att ta en zon eller inte. Röda gubben i kanten gillar jag men man kan ha sänkt uppdateringshastighet på de som inte ses. Jag tycker fortfarande att när jag spelar så behövs bara info om spelare i min region.
Jag undrar hur du skall kunna undvika att telefonen är i HSPA läge? Du måste ju skicka upp din position till servern minst varannan sekund. Annars faller ju spelet med att kunna se var ens motståndare är. Det drar faktiskt inte så himmla mycket ström heller. Jag klarar rundor på över 5 timmar med skärmen på i icke-pro mode med bara ett litet extra batteri på cykelramen (se tråden om battertid). Dock kan man ju dra ner på informationen som skickas till telefonen då skärmen är släckt. Bara uppdatera fiendens positioner var 5 sekund kanske. Man vill ju inte behöva vänta en massa tid att synca data för att se var fi är då man väl slår ingång den igen. Fast som sagt jag slår aldrig av skärmen då jag kör normalt.