2014-07-29 15 views
5

Sto facendo un semplice gioco Android con Java. Ho notato alcuni ritardi fastidiosi ogni 20-40 secondi. Per prima cosa ho pensato che siamo stati causati dal Garbage Collector, ma quando ho controllato il mio LogCat ho visto che non ci sono Garbage Collection al momento in cui il gioco è in ritardo. Ho segnato il registro ogni volta che il gioco begans ad essere in ritardo e ho visto che non c'è quasi ogni volta che questa voce di registro:Ritardo sporadico nel gioco Android

W/qdhwcomposer (209): eccessiva lettura ritardo vsync: ha preso 47 ms

Come Dice, c'è un ritardo (di solito> 45 ms) e penso che sia quello che noto come ritardo. Qualcuno conosce questo problema o come evitare questi ritardi?



Qui ci sono due frammenti dal LogCat al momento il gioco è in ritardo:

07-29 15:11:50.196: D/BatteryService(692): update start 
07-29 15:11:50.206: D/BatteryService(692): level:80, scale:100, status:2, health:2, present:true, voltage: 4121, temperature: 355, technology: Li-ion, AC powered:false, USB powered:true, Wireless powered:false, icon:17303554, invalid charger:0, online:4, charge type:1, current avg:460 
07-29 15:11:50.206: D/BatteryService(692): Sending ACTION_BATTERY_CHANGED. 
07-29 15:11:50.216: D/STATUSBAR-BatteryController(1082): onReceive() - ACTION_BATTERY_CHANGED 
07-29 15:11:50.216: D/STATUSBAR-BatteryController(1082): onReceive() - BATTERY_STATUS_CHARGING: 
07-29 15:11:50.226: D/HeadsetStateMachine(18054): Disconnected process message: 10 
07-29 15:11:50.236: W/qdhwcomposer(209): Excessive delay reading vsync: took 47 ms 
07-29 15:11:50.236: D/STATUSBAR-IconMerger(1082): checkOverflow(288), More:true, Req:true Child:5 

07-29 15:12:00.176: W/qdhwcomposer(209): Excessive delay reading vsync: took 49 ms 
07-29 15:12:00.226: D/BatteryService(692): update start 
07-29 15:12:00.226: D/BatteryService(692): level:80, scale:100, status:2, health:2, present:true, voltage: 4065, temperature: 355, technology: Li-ion, AC powered:false, USB powered:true, Wireless powered:false, icon:17303554, invalid charger:0, online:4, charge type:1, current avg:460 
07-29 15:12:00.226: D/BatteryService(692): Sending ACTION_BATTERY_CHANGED. 
07-29 15:12:00.236: D/STATUSBAR-BatteryController(1082): onReceive() - ACTION_BATTERY_CHANGED 
07-29 15:12:00.236: D/STATUSBAR-BatteryController(1082): onReceive() - BATTERY_STATUS_CHARGING: 
07-29 15:12:00.236: D/HeadsetStateMachine(18054): Disconnected process message: 10 



ho provato con Android 4.3 sul mio Samsung Galaxy S4 (GT-I9505) btw.

Grazie
Geru

+0

BattleCamp ha questo problema troppo, è davvero fastidioso come c'è un limite di tempo per fare la strisciata. Anche io ho S4, forse è solo questo telefono ?! – TWiStErRob

+0

GERU, hai trovato una soluzione? – george

+0

Per quanto posso ricordare è stato davvero un "bug specifico per Samsung Galaxy S4" e in realtà non ho questo problema sul mio nuovo telefono (Samsung Galaxy A5). Ma non hanno la stessa versione di Android quindi non sono sicuro al 100% se è legato all'hardware. Sfortunatamente il mio S4 è stato distrutto l'anno scorso e non riesco a testarlo di nuovo. – Geru

risposta