#10065 NORM Not Tri: SuperVampireNinjaZero unresponsive on 1.5-64

Zarro Boogs per Child bugtracker at laptop.org
Mon Mar 15 19:08:10 EDT 2010


#10065: SuperVampireNinjaZero unresponsive on 1.5-64
------------------------------------+---------------------------------------
           Reporter:  bert          |       Owner:                                    
               Type:  defect        |      Status:  new                               
           Priority:  normal        |   Milestone:  Not Triaged                       
          Component:  not assigned  |     Version:  1.5 Software Build os64 aka 10.1.0
         Resolution:                |    Keywords:                                    
        Next_action:  never set     |    Verified:  0                                 
Deployment_affected:                |   Blockedby:                                    
           Blocking:                |  
------------------------------------+---------------------------------------

Comment(by Quozl):

 Tested on XO-1.5 build 112.

 While at the initial menu, the application consumes 50% of available CPU
 resource, and the X server is consuming the other 50%.

 Response to the keyboard keys is either delayed or missing.  If the
 keyboard keys are pressed and released very slowly, then the application
 responds properly.  This suggests the keys are being examined
 infrequently; maybe once every half second.

 An strace of the process shows:
  * the CPU time is being spent in user space code, not in system calls,
  * a call to select(2) is being made with a zero timeout, requesting
 activity on file descriptor 3, and this is returning no activity despite
 keyboard input, so this file descriptor is probably not relevant,
  * calls to poll(2) are being made with an infinite timeout, on file
 descriptor 4, and the reads and writes of the file descriptor suggest this
 is the X file descriptor, and activity occurs roughly every half second,
 and the activity rate does not seem to increase with keyboard actions,
  * the total time spent in system calls is quite low compared to the real
 time spent by the application, which correlates to the 50% CPU utilisation
 seen.

 Using gdb to obtain several backtraces, the following is seen, based on
 frequency:
  * run() -> render() -> endFrame() -> SDL_UpdateRects() ->
 SDL_LowerBlit(), showing that the application renders frames as fast as it
 can, not necessarily waiting for keyboard input,
  * run() -> render() -> endFrame() -> SDL_UpdateRects() -> XSync() ->
 poll(), the X server is certainly slowing the application's drawing,
  * run() -> render() -> DisplayObject::render() -> Sprite::render() ->
 SDLRenderer::renderTexture() -> SDL_UpperBlit() -> SDL_LowerBlit(), shows
 the application is managing sprite objects during the menu.

 Conclusion: the application is SDL and X performance bound on this
 platform.  This may relate to the bit depth of the X server, which changed
 from XO-1 (16) to XO-1.5 (24).

-- 
Ticket URL: <http://dev.laptop.org/ticket/10065#comment:2>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list