[Sugar-devel] Testing the activity bundle of my activity before submitting it to ASLO.

laurent bernabe laurent.bernabe at gmail.com
Tue Oct 1 07:12:50 EDT 2013


Thanks,

so I'll go to Pootle page (I will search it for a while) and register.

Regards


2013/10/1 Gonzalo Odiard <gonzalo at laptop.org>

> Yes, you need register as a pootle user to translate.
>
> Gonzalo
>
>
> On Tue, Oct 1, 2013 at 5:38 AM, laurent bernabe <laurent.bernabe at gmail.com
> > wrote:
>
>> No problem : so I'll wait for an answer.
>>
>>
>> 2013/10/1 James Cameron <quozl at laptop.org>
>>
>>> Sorry, I'm one of those monolinguists, so I've no idea.  Chris Leonard
>>> can advise.
>>>
>>> On Tue, Oct 01, 2013 at 10:25:58AM +0200, laurent bernabe wrote:
>>> > Thanks,
>>> >
>>> > It was that : I had to merge the Pootle changes. Now I could push the
>>> patch
>>> > commit.
>>> >
>>> > I would like to give the french translation : must I register as a
>>> "Pootle
>>> > user" ?
>>> >
>>> > Regards
>>> >
>>> >
>>> > 2013/10/1 James Cameron <quozl at laptop.org>
>>> >
>>> >     I don't know if that is stopping you.  If so, I suggest you "git
>>> pull
>>> >     --rebase" so that the Pootle changes will be merged with your
>>> >     repository, then if that goes well you can try "git push" again.
>>> >
>>> >     On Tue, Oct 01, 2013 at 10:14:24AM +0200, laurent bernabe wrote:
>>> >     > Hello,
>>> >     >
>>> >     > thank you.
>>> >     >
>>> >     > In fact I could not push the changes, as (I think) Pootle has
>>> commited on
>>> >     it.
>>> >     >
>>> >     >
>>> >     > 2013/10/1 James Cameron <quozl at laptop.org>
>>> >     >
>>> >     >     Sorry, I was mentioning it for discussion only.  Can you
>>> read patch
>>> >     >     files?  The + means line added, the - means line removed.
>>> >     >
>>> >     >     Alternatively, you might try saving the attached file and
>>> typing
>>> >     >
>>> >     >             git am \
>>> >     >
>>> >     0001-lower-frame-rate-and-ensure-frame-rate-is-enforced-d.patch
>>> >     >
>>> >     >     But this might not work if your source has been edited or
>>> you have
>>> >     not
>>> >     >     pushed all changes since the hash that I mentioned.
>>> >     >
>>> >     >     To answer your question exactly, no, the file need not have
>>> .patch in
>>> >     >     the name for you to use it with the patch command.
>>> >     >
>>> >     >     On Tue, Oct 01, 2013 at 02:21:32AM +0200, laurent bernabe
>>> wrote:
>>> >     >     > Thanks,
>>> >     >     >
>>> >     >     > the patch extension file must be .patch ? (I've no example
>>> on my
>>> >     disk and
>>> >     >     I
>>> >     >     > forgot the git patch extension : so that I can paste your
>>> >     suggestion into
>>> >     >     > gedit, and save it as a patch).
>>> >     >     >
>>> >     >     > Regards
>>> >     >     >
>>> >     >     >
>>> >     >     > 2013/10/1 James Cameron <quozl at laptop.org>
>>> >     >     >
>>> >     >     >     On Sat, Sep 28, 2013 at 01:42:50PM +0200, laurent
>>> bernabe
>>> >     wrote:
>>> >     >     >     > But as the computer where I inserted the key was a
>>> very old
>>> >     one (it
>>> >     >     >     > has an old AMD processor and it seems to me it has
>>> just 1GB
>>> >     of
>>> >     >     RAM),
>>> >     >     >     > the animation where too slow : very slower than the
>>> result I
>>> >     got on
>>> >     >     >     > my laptop (which has two processor at 2.19 Ghz).
>>> >     >     >     >
>>> >     >     >     > Apart this, it works, and I should submit the bundle
>>> to ASLO
>>> >     soon.
>>> >     >     >
>>> >     >     >     I suggest fixing performance soon.
>>> >     >     >
>>> >     >     >     On Sat, Sep 28, 2013 at 05:54:30PM +0200, laurent
>>> bernabe
>>> >     wrote:
>>> >     >     >     > As my computer has 2*2.16Ghz processor, is it
>>> possible to
>>> >     configure
>>> >     >     >     > sugar-build so that the speed is "locked" under 433
>>> Mhz ?
>>> >     >     >
>>> >     >     >     No.
>>> >     >     >
>>> >     >     >     You raise an important issue though.  You must tune
>>> your
>>> >     activity so
>>> >     >     >     that it works on the slowest hardware you support.
>>>  The CPU
>>> >     clock
>>> >     >     >     isn't the only cause of slowness.
>>> >     >     >
>>> >     >     >     Looking at your:
>>> >     >     >     git://git.sugarlabs.org/hittheballs/hittheballs
>>> >     >     >     in particular at hash
>>> 4533d1f2be64ef74d34129cf388919cfa36c8e91
>>> >     >     >
>>> >     >     >     In main_game.py you have chosen 40 frames per second
>>> for
>>> >     self._FPS.
>>> >     >     >
>>> >     >     >     This is a very high rate for an OLPC XO-1.  You should
>>> lower
>>> >     this
>>> >     >     >     number as much as possible until just before the game
>>> is
>>> >     unpleasant
>>> >     >     >     for a new user.
>>> >     >     >
>>> >     >     >     The reason this number is important is that it
>>> determines the
>>> >     CPU
>>> >     >     >     processing required for display update between each
>>> opportunity
>>> >     to
>>> >     >     >     respond to input.
>>> >     >     >
>>> >     >     >     The display update pipe is a work queue.  If the
>>> update rate is
>>> >     too
>>> >     >     >     high, then the main_game.py will _pause_ briefly on
>>> line 223,
>>> >     and
>>> >     >     this
>>> >     >     >     pause will prevent main_game.py from responding
>>> quickly to
>>> >     keyboard
>>> >     >     or
>>> >     >     >     mouse events.
>>> >     >     >
>>> >     >     >     Also, you must add a call to
>>> self._clock.tick(self._FPS) when
>>> >     >     >     game_state is not NORMAL, and while in show_menu,
>>> otherwise the
>>> >     >     >     display update pipe will be flooded, and you _will_
>>> have delays
>>> >     and
>>> >     >     >     massive power use, shorter battery time.
>>> >     >     >
>>> >     >     >     If after doing the above the performance is still too
>>> slow,
>>> >     then a
>>> >     >     >     more advanced display update method is required.  I
>>> use this
>>> >     method
>>> >     >     in
>>> >     >     >     the Netrek game client Gytha.  The method is to
>>> maintain a list
>>> >     of
>>> >     >     >     rectangles that have been dirtied, and only update
>>> those
>>> >     rectangles
>>> >     >     >     instead of the whole canvas.
>>> >     >     >
>>> >     >     >     (by the way, you should rename gpl-3.0.txt to COPYING,
>>> because
>>> >     that
>>> >     >     is
>>> >     >     >     the conventional name)
>>> >     >     >
>>> >     >     >     Below is a patch showing some of the performance
>>> changes
>>> >     mentioned
>>> >     >     >     above:
>>> >     >     >
>>> >     >     >     diff --git a/main_game.py b/main_game.py
>>> >     >     >     index 110ebf3..0e23fd9 100644
>>> >     >     >     --- a/main_game.py
>>> >     >     >     +++ b/main_game.py
>>> >     >     >     @@ -60,7 +60,7 @@ class Game:
>>> >     >     >                  return
>>> >     >     >              pygame.init()
>>> >     >     >              self._LEFT_BUTTON = 1
>>> >     >     >     -        self._FPS = 40
>>> >     >     >     +        self._FPS = 10
>>> >     >     >              self._MENU_LEVELS_RECTS_Y_GAP = 30
>>> >     >     >              self._MENU_LEVELS_RECTS_WIDTH = 345
>>> >     >     >              self._MENU_LEVELS_RECTS_HEIGHT = 60
>>> >     >     >     @@ -220,6 +220,8 @@ class Game:
>>> >     >     >              pygame.time.set_timer(USEREVENT + 2, 1000)
>>> >     >     >
>>> >     >     >              while True:
>>> >     >     >     +            while Gtk.events_pending():
>>> >     >     >     +                Gtk.main_iteration()
>>> >     >     >                  pygame.display.update()
>>> >     >     >                  self._screen.fill(self._GAME_BACKGROUND)
>>> >     >     >                  paint_result_bar(result_bar, self._screen)
>>> >     >     >     @@ -228,9 +230,6 @@ class Game:
>>> >     >     >                      for ball in the_balls:
>>> >     >     >                          paint_ball(ball, self._screen)
>>> >     >     >
>>> >     >     >     -                while Gtk.events_pending():
>>> >     >     >     -                    Gtk.main_iteration()
>>> >     >     >     -
>>> >     >     >                      for event in pygame.event.get():
>>> >     >     >                          if event.type == QUIT:
>>> >     >     >                              pygame.quit()
>>> >     >     >     @@ -253,7 +252,6 @@ class Game:
>>> >     >     >                                              game_state =
>>> >     GameState.WON
>>> >     >     >                                      else:
>>> >     >     >                                          game_state =
>>> >     GameState.LOST
>>> >     >     >     -                self._clock.tick(self._FPS)
>>> >     >     >                      for ball in the_balls:
>>> >     >     >                          ball.move()
>>> >     >     >                      balls_collision.manage_colliding_balls
>>> >     (the_balls)
>>> >     >     >     @@ -270,9 +268,6 @@ class Game:
>>> >     >     >
>>>
>>> >     >      self._RED)
>>> >     >     >                          self._screen.blit(end_txt_surface,
>>> >     >     self._END_TXT_POS)
>>> >     >     >
>>> >     >     >     -                while Gtk.events_pending():
>>> >     >     >     -                    Gtk.main_iteration()
>>> >     >     >     -
>>> >     >     >                      for event in pygame.event.get():
>>> >     >     >                          if event.type == QUIT:
>>> >     >     >                              pygame.quit()
>>> >     >     >     @@ -282,6 +277,7 @@ class Game:
>>> >     >     >                          elif event.type == MOUSEBUTTONUP:
>>> >     >     >                              if event.button ==
>>> self._LEFT_BUTTON:
>>> >     >     >                                  return
>>> >     >     >     +            self._clock.tick(self._FPS)
>>> >     >     >
>>> >     >     >          def show_menu(self):
>>> >     >     >              """
>>> >     >     >     @@ -324,3 +320,4 @@ class Game:
>>> >     >     >                                  self._play_game(
>>> >     >     >                                      30,
>>> >     >     >                                      self._levels
>>> >     [selected_level_index])
>>> >     >     >     +            self._clock.tick(self._FPS)
>>> >     >     >
>>> >     >     >     --
>>> >     >     >     James Cameron
>>> >     >     >     http://quozl.linux.org.au/
>>> >     >     >
>>> >     >     >
>>> >     >
>>> >     >     --
>>> >     >     James Cameron
>>> >     >     http://quozl.linux.org.au/
>>> >     >
>>> >     >
>>> >
>>> >     --
>>> >     James Cameron
>>> >     http://quozl.linux.org.au/
>>> >
>>> >
>>>
>>> --
>>> James Cameron
>>> http://quozl.linux.org.au/
>>>
>>
>>
>> _______________________________________________
>> Sugar-devel mailing list
>> Sugar-devel at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20131001/b98ccfa6/attachment-0001.html>


More information about the Sugar-devel mailing list