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