Advertisement
Guest User

Untitled

a guest
Oct 20th, 2014
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.76 KB | None | 0 0
  1. 17:34 dcoloma jesup: ping
  2. 17:38 jesup dcoloma: pong
  3. 17:38 dcoloma jesup: hey! we have been trying to find out what can be do to improve loop performance in FxOS
  4. 17:39 dcoloma jesup: so far we have not found any concrete thing we could do, but we have found a huge number of frames dropped in FxOS
  5. 17:40 dcoloma jesup: it seems FxOS Loop can manage quite well decoding, as in Desktop-FxOS calls, the Desktop stream is properly decoded with a good frame rate
  6. 17:40 dcoloma jesup: but the stream that is being sent from FxOS seems to be missing a lot of frames
  7. 17:41 jesup dcoloma: can you try disabling load adaptation: user_pref("media.navigator.load_adapt", false);
  8. 17:41 dcoloma jesup: yep, we can try that
  9. 17:42 dcoloma jesup: anything else we can do to check why the device is dropping those frames?
  10. 17:43 jesup Also, I have a suspicion that the H.264 frame-counting stuff (that messed up the "dropped frames" report, and is now fixed on 2.1 IIRC) might also impact the FPS measurement code, which might make it think it's getting many more frames from the camera than it is and cause it to drop input frames. THis is just a guess. I'll go look deeper
  11. 17:48 dcoloma jesup: Ok, I'll try to test your suggestion first and see what happens
  12. 17:48 jesup thanks
  13. 18:02 dcoloma jesup: changing load_adapt from true to false made the number of dropped frames increase
  14. 18:03 dcoloma jesup: one thing I forgot to mention is that we cannot reproduce this when establishing WebRTC sessions in the browser
  15. 18:03 jesup dcoloma: you mean desktop to desktop?
  16. 18:04 dcoloma no, FxOS to FxOS
  17. 18:04 jesup Or browser in the fxos phone?
  18. 18:04 jesup ah. Can you try disabling H.264?
  19. 18:04 jesup what base are you using? v184?
  20. 18:04 dcoloma yep
  21. 18:04 dcoloma DSP 1530.1
  22. 18:05 jesup does your tree have the removal/disabling of the iframe-to-change-bnadwidth code?
  23. 18:05 * jesup looks up the bug
  24. 18:07 jesup each iframe was causing 1-4 frames to be dropped, and we had to send a lot of iframes (for bandwidth changes)
  25. 18:07 * jesup tries to remember if the DSP fix for that is in 1530.1 or the rev after that
  26. 18:08 jesup bug 1033335 - landed ~ oct 7th on b2g32 it looks like
  27. 18:09 jesup sorry, the 10th
  28. 18:10 jesup no, that was 2.0m. 2.0 was the 8th
  29. 18:10 * jesup should read more before commenting
  30. 18:10 jesup and 1530.1 should work with that
  31. 18:10 jesup dcoloma: ^
  32. 18:11 jesup dcoloma: for the in-fxos-browser case, was that h.264 or vp8?
  33. 18:11 dcoloma h.264
  34. 18:12 dcoloma the number of frames dropped with vp8 is smaller than with h.264 in the test I've just made
  35. 18:13 jesup dcoloma: how are you measuring dropped frames?
  36. 18:15 dcoloma we added some logs to TB library
  37. 18:15 dcoloma https://github.com/mozilla-b2g/fir...tokbox/v2.2.9.1/js/TB.js#L15929
  38. 18:15 jesup does it have the "key frames and delta frame reports are wrong" patch that landed in nightly & 2.1?
  39. 18:16 jesup Note: that's not on 2.0
  40. 18:16 dcoloma jesup: I don't think so
  41. 18:16 dcoloma we are using 2.0
  42. 18:18 dcoloma jesup: ok, we are going to compare multiple scenarios on Monday
  43. 18:18 dcoloma FxOS - FxOS via browser
  44. 18:18 dcoloma FxOS - FxOS via Loop
  45. 18:18 jesup I don't see where dropped frames comes from there
  46. 18:20 dcoloma FxOS - FxOS via a vanilla WebRTC client
  47. 18:20 dcoloma I think we basically did the same with the PeerConnection object that the webrtc stats page in Fx did
  48. 18:21 jesup In CodecStatistics.cpp, we calculate "dropped frames" as input frames - (key frames + delta frames). But per bug 1069047, key and delta frames are way off for h.264
  49. 18:21 jesup The patch makes it count each frame outgoing only once
  50. 18:22 dcoloma ok, we will give it a spin in 2.1
  51. 18:22 dcoloma so for the 3 scenarios I've mentioned above, apart from the "default" configuration with H.264, anything else interest to configure/measure?
  52. 18:23 jesup A better measure overall (not of dropped frames, but of quality) is to talk to desktop and look at about:webrtc and look at the receive fps
  53. 18:24 jesup Well, that's all I can think of at the moment. The difference between browser and app has to come from somewhere
  54. 18:28 dcoloma jesup: OK, yep, let's try involving desktop too
  55. 18:28 dcoloma jesup: thanks!
  56. 18:29 jesup dcoloma: so what's different between browser and app? Different process. Perhaps different visual layers. On the "attention" screen IIRC. Perhaps status bar differences? (I found a lot of time in the profile was going to status-bar stuff; that won't be fixed for 2.0 but maybe it can be worked around some)
  57. 18:29 jesup though status bar should update for browser too
  58. 18:29 dcoloma jesup: yep, browser is part of the system process
  59. 18:29 jesup browser is a sub-process of b2g
  60. 18:30 jesup like the app I believe
  61. 18:31 dcoloma jesup: humm, I thought it was part of the main process
  62. 18:31 jesup but a lot of b2g time was being eaten in status bar updates, and the differences between your app and QC's were mostly in compositor and b2g IIRC (see analysis in email/bugs)
  63. 18:31 dcoloma jesup: at least it was that way a while ago
  64. 18:31 jesup dcoloma: long, long ago in a galaxy far away. Way too risk security-wise
  65. 18:31 jesup risky
  66. 18:32 jesup Perhaps there's a difference in how the status bar is hidden, for example, or how video elements are laid out/overlaid/etc
  67. 18:33 dcoloma jesup: status bar is also in browser, the key difference is attention screen but we can easily test a loop app without attention screen
  68. 18:33 jesup maybe (just maybe) there's a difference between full-screen app, and "status bar has slid off the screen"
  69. 18:35 dcoloma jesup: anyhow, I am not sure if the CPU consumption could explain any issue with encoding
  70. 18:36 jesup dcoloma: if the CPU is pegged or close, it will miss deadlines and effectively drop the frame rate
  71. 18:37 jesup load adaptation (if on) will notice very high CPU and drop the framerate (and resolution in >1530.1) as well.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement