Re: Off-main-thread Painting

2013-02-12 Thread Chris Lord

On 12 February 2013 13:05:33, Jean-Marc Desperrier wrote:

Matt Woodrow a écrit :

to improve both performance and responsiveness of the browser, we are
planning on moving painting to happen on a separate thread.


I think you should take some time to consider what impact it has on
the synchronization between interactive events and what is visible.
- Browser receive the order to draw Y above X
- I click on X that I'm still seeing
- Browser asynchronously actually draws Y

What does the browser consider I clicked on ? It may happen that the
browser considers I clicked Y while I was seeing X.

Especially if the intend is to improve responsiveness, which means
that I can click whilst the browser is painting, so it may be unclear
what I intended to click on.


I'm not sure this situation is really affected at all. This would be an 
issue currently with just OMTC, as well as under the proposed scheme.


A similar situation that could happen is that you scroll down and the 
page changes in response to the scroll change. This would still be an 
issue with current asynchronous compositing, but the difference is you 
may get to an area with just OMTC that would be blank, where as it 
would more likely be visible (and incorrect) under this scheme. Neither 
of these situations are an issue until rendering takes a significant 
amount of time, though.


The proposed scheme might actually make this easier to fix. We 
currently do hit detection by drawing a pixel of the display list (I 
think?) and seeing what gets drawn. If we're separating the display 
list from external dependencies, we could theoretically use it for hit 
detection so that there isn't a mismatch between what's on the screen 
and the current Gecko-side state.


I think it'd be more sensible to look into this if it ever becomes an 
issue, but certainly something to consider.


--Chris
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposed W3C Charter: HTML Working Group

2013-02-12 Thread Benjamin Smedberg

On 2/8/2013 5:37 PM, L. David Baron wrote:

W3C is proposing a revised charter for the HTML Working Group.
For more details, see:
http://lists.w3.org/Archives/Public/public-new-work/2013Feb/0009.html
http://www.w3.org/html/wg/charter/2012/

Mozilla has the opportunity to send comments or objections through
Tuesday, March 12.  Please reply to this thread if you think there's
something we should say.
The only really interesting thing in the new charter seems to be the 
explicit call for standardizing playback of protected content for the 
HTMLMediaElement, which is pretty much codewords for DRM.


DRM is fundamentally at odds with the notion of an open web and the HTML 
specification. The purpose of good specifications is to make it possible 
for anyone to implement a browser that can render the web. The purpose 
of DRM is to make it possible for content owners to give only some 
browsers the ability to play their content. DRM also defeats save, 
sharing, and remixing, which are fundamental aspects of the web.


Whether or not there are practical short-term compromises that should be 
made to make a better alternative to Silverlight, I don't think that it 
should be within the scope of HTML to do that; it should be a separate 
effort, highly targeted at solving the devices based on HTML currently 
can't play netflix content problem without making any long-term 
commitments to DRM in the browser.


--BDS

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread L. David Baron
On Tuesday 2013-02-12 11:17 +, Chris Lord wrote:
 Sounds good, I'd like to help if I can. How would this affect the
 display-list optimisation process - would we transfer across the
 unoptimised display list and re-optimise and process for each
 viewport change? I assume with OMTC, we'd still async scroll like we
 do now, but paints would just come in much faster?

Constructing and transferring an unoptimized display list for an
entire page (rather than just a viewport of it) seems to me like
something that would be too expensive for large pages, especially
without a way to update just a piece of it in response to dynamic
changes.

-David

-- 
턞   L. David Baron http://dbaron.org/   턂
턢   Mozilla   http://www.mozilla.org/   턂
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Milan Sreckovic

I think we need a stronger statement than worthwhile in this:

 It would be worthwhile to wait for the Layers refactoring to be completed to 
avoid too many conflicts.

when it comes to actually landing code.  Something like we should or even we 
must comes to mind :-)  That doesn't preclude conversations, design, etc., we 
just can't afford to delay the layers refactoring.

Milan

On 2013-02-12, at 2:21 AM, Matt Woodrow mwood...@mozilla.com wrote:

 Hi All
 
 As an effort to improve both performance and responsiveness of the browser, 
 we are planning on moving painting to happen on a separate thread.
 
 My initial draft plan to do this can be found here: 
 https://wiki.mozilla.org/Gecko:OffMainThreadPainting
 
 Some of the details still need to be worked out, in particular coordinating 
 with other platform teams to make sure everything we need is available off 
 the main thread.
 
 Please let me know if you have an queries, input or want to be involved.
 
 - Matt
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Andreas Gal

On Feb 12, 2013, at 9:50 AM, Milan Sreckovic msrecko...@mozilla.com wrote:

 
 I think we need a stronger statement than worthwhile in this:
 
 It would be worthwhile to wait for the Layers refactoring to be completed to 
 avoid too many conflicts.
 
 when it comes to actually landing code.  Something like we should or even 
 we must comes to mind :-)  That doesn't preclude conversations, design, 
 etc., we just can't afford to delay the layers refactoring.

I am a little concerned that we are putting so many things on hold for the 
refactoring. Do we have a somewhat established schedule for that now, or is the 
timing still fairly open-ended? Is there any chance that we can start landing 
some parts of it incrementally?

Andreas

 
 Milan
 
 On 2013-02-12, at 2:21 AM, Matt Woodrow mwood...@mozilla.com wrote:
 
 Hi All
 
 As an effort to improve both performance and responsiveness of the browser, 
 we are planning on moving painting to happen on a separate thread.
 
 My initial draft plan to do this can be found here: 
 https://wiki.mozilla.org/Gecko:OffMainThreadPainting
 
 Some of the details still need to be worked out, in particular coordinating 
 with other platform teams to make sure everything we need is available off 
 the main thread.
 
 Please let me know if you have an queries, input or want to be involved.
 
 - Matt
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform
 
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Jet Villegas
I assume we would send the same diff we use for DLBI over to the painting 
thread to minimize the cost. How would this new design interact with the 
current refresh driver scheduling?

--Jet


- Original Message -
From: L. David Baron dba...@dbaron.org
To: Chris Lord cl...@mozilla.com
Cc: dev-platform@lists.mozilla.org, Matt Woodrow mwood...@mozilla.com, 
Robert O'Callahan r...@ocallahan.org
Sent: Tuesday, February 12, 2013 8:04:38 AM
Subject: Re: Off-main-thread Painting

On Tuesday 2013-02-12 11:17 +, Chris Lord wrote:
 Sounds good, I'd like to help if I can. How would this affect the
 display-list optimisation process - would we transfer across the
 unoptimised display list and re-optimise and process for each
 viewport change? I assume with OMTC, we'd still async scroll like we
 do now, but paints would just come in much faster?

Constructing and transferring an unoptimized display list for an
entire page (rather than just a viewport of it) seems to me like
something that would be too expensive for large pages, especially
without a way to update just a piece of it in response to dynamic
changes.

-David

-- 
턞   L. David Baron http://dbaron.org/   턂
턢   Mozilla   http://www.mozilla.org/   턂
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Jet Villegas
I'm not too concerned about the landing schedule here as I don't expect to see 
OMTP landing too soon (though mwoodrow has surprised us before.) We should have 
plenty of runway between the required Layers work and OMTP. 

Let's put OMTP (and prerequisites) on the next Rendering call agenda. This 
should be a lively discussion.

--Jet

- Original Message -
From: Milan Sreckovic msrecko...@mozilla.com
To: Matt Woodrow mwood...@mozilla.com
Cc: Robert O'Callahan r...@ocallahan.org, dev-platform@lists.mozilla.org
Sent: Tuesday, February 12, 2013 6:50:42 AM
Subject: Re: Off-main-thread Painting


I think we need a stronger statement than worthwhile in this:

 It would be worthwhile to wait for the Layers refactoring to be completed to 
avoid too many conflicts.

when it comes to actually landing code.  Something like we should or even we 
must comes to mind :-)  That doesn't preclude conversations, design, etc., we 
just can't afford to delay the layers refactoring.

Milan

On 2013-02-12, at 2:21 AM, Matt Woodrow mwood...@mozilla.com wrote:

 Hi All
 
 As an effort to improve both performance and responsiveness of the browser, 
 we are planning on moving painting to happen on a separate thread.
 
 My initial draft plan to do this can be found here: 
 https://wiki.mozilla.org/Gecko:OffMainThreadPainting
 
 Some of the details still need to be worked out, in particular coordinating 
 with other platform teams to make sure everything we need is available off 
 the main thread.
 
 Please let me know if you have an queries, input or want to be involved.
 
 - Matt
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Andreas Gal

There is definitely a lot of prerequisites we can work on first. Making all the 
DL code self-containing means eliminating much of nsCSSRendering.cpp, which is 
probably quite some refactoring work we can do right now.

Andreas

On Feb 12, 2013, at 12:24 PM, Jet Villegas j...@mozilla.com wrote:

 I'm not too concerned about the landing schedule here as I don't expect to 
 see OMTP landing too soon (though mwoodrow has surprised us before.) We 
 should have plenty of runway between the required Layers work and OMTP. 
 
 Let's put OMTP (and prerequisites) on the next Rendering call agenda. This 
 should be a lively discussion.
 
 --Jet
 
 - Original Message -
 From: Milan Sreckovic msrecko...@mozilla.com
 To: Matt Woodrow mwood...@mozilla.com
 Cc: Robert O'Callahan r...@ocallahan.org, dev-platform@lists.mozilla.org
 Sent: Tuesday, February 12, 2013 6:50:42 AM
 Subject: Re: Off-main-thread Painting
 
 
 I think we need a stronger statement than worthwhile in this:
 
 It would be worthwhile to wait for the Layers refactoring to be completed to 
 avoid too many conflicts.
 
 when it comes to actually landing code.  Something like we should or even 
 we must comes to mind :-)  That doesn't preclude conversations, design, 
 etc., we just can't afford to delay the layers refactoring.
 
 Milan
 
 On 2013-02-12, at 2:21 AM, Matt Woodrow mwood...@mozilla.com wrote:
 
 Hi All
 
 As an effort to improve both performance and responsiveness of the browser, 
 we are planning on moving painting to happen on a separate thread.
 
 My initial draft plan to do this can be found here: 
 https://wiki.mozilla.org/Gecko:OffMainThreadPainting
 
 Some of the details still need to be worked out, in particular coordinating 
 with other platform teams to make sure everything we need is available off 
 the main thread.
 
 Please let me know if you have an queries, input or want to be involved.
 
 - Matt
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform
 
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Sparse localizations of toolkit and the chrome registry's getSelectedLocale()

2013-02-12 Thread Axel Hecht

Hi Benjamin, Dave,

for mobile (and fxos) we're looking into doing sparse localizations of 
toolkit. The work on the mobile side is bug 792077. The current attempt 
is to leave the 'global' and other toolkit packages untranslated, and 
use chrome overrides to supply a few localized files, as needed by 
fx-android or -os.


That's all kinda nice and shiny, but it horribly breaks 
getSelectedLocale(package), as that returns 'en-US' for 'global' and 
friends. Breaks all kinds of url reporters and rtl detection.


Next step is to figure out if there's an acceptable way to make this 
work still. I had three ways in my head:
- make the chrome urls/channels fall back to en-US and really have 
sparse toolkit localizations. This sounds really intrusive, and probably 
hard.
- make all call-sites of getSelectedLocale work around that, which I 
don't think is feasible.
- add a prefbranch that gives package overrides or so, so that the 
chrome reg would return the selected locale for the override package 
instead of the one it's getting asked for, something like

pref(chrome.locale.override.global, browser);

https://bugzilla.mozilla.org/show_bug.cgi?id=792077#c17

I personally favor the third option. Does that sound feasible to you?

Axel
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Linux Firefox extension on ff17 needs gcc 4.5

2013-02-12 Thread Ralph Giles
On 13-02-08 3:18 AM, kv wrote:

 Can some body help me how can i compile native extension on 32 bit RHEL
 with gcc 4.5.2, if the package is not available for update.

It doesn't look like there's an official package for rhel 5 or 5. You
can compile and install 4.5.2 (or the latest version) and use that to
build your extension.

 =r

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Sparse localizations of toolkit and the chrome registry's getSelectedLocale()

2013-02-12 Thread Benjamin Smedberg

On 2/12/2013 12:41 PM, Axel Hecht wrote:

Hi Benjamin, Dave,

for mobile (and fxos) we're looking into doing sparse localizations of 
toolkit. The work on the mobile side is bug 792077. The current 
attempt is to leave the 'global' and other toolkit packages 
untranslated, and use chrome overrides to supply a few localized 
files, as needed by fx-android or -os.


That's all kinda nice and shiny, but it horribly breaks 
getSelectedLocale(package), as that returns 'en-US' for 'global' and 
friends. Breaks all kinds of url reporters and rtl detection.
Why does getSelectedLocale(package) matter? Who uses that API to make 
important decisions? And can we just change the callers to do something 
different?


--BDS

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposed W3C Charter: HTML Working Group

2013-02-12 Thread sdaugherty
On Tuesday, February 12, 2013 11:02:16 AM UTC-5, Benjamin Smedberg wrote:
 On 2/8/2013 5:37 PM, L. David Baron wrote:
 
  W3C is proposing a revised charter for the HTML Working Group.
 
  For more details, see:
 
  http://lists.w3.org/Archives/Public/public-new-work/2013Feb/0009.html
 
  http://www.w3.org/html/wg/charter/2012/
 
 
 
  Mozilla has the opportunity to send comments or objections through
 
  Tuesday, March 12.  Please reply to this thread if you think there's
 
  something we should say.

Is it just me, or is this fundamentally flawed from a security standpoint as 
well - malicious content able to hide from analysis by browser-enforced DRM? No 
thanks.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Anthony Jones
We need to have a cheap snapshot mechanism. There are a number of
options that have different cost models. Options include:

* Locking
* Defensive copying
* COW (Copy-on-write)
* Immutable trees O(log n)

I'd like to see less of the first two and more of the last two. We need
to create better abstractions for COW and immutable trees.

On 13/02/13 06:17, Jet Villegas wrote:
 I assume we would send the same diff we use for DLBI over to the painting 
 thread to minimize the cost. How would this new design interact with the 
 current refresh driver scheduling?
 
 --Jet
 
 
 - Original Message -
 From: L. David Baron dba...@dbaron.org
 To: Chris Lord cl...@mozilla.com
 Cc: dev-platform@lists.mozilla.org, Matt Woodrow mwood...@mozilla.com, 
 Robert O'Callahan r...@ocallahan.org
 Sent: Tuesday, February 12, 2013 8:04:38 AM
 Subject: Re: Off-main-thread Painting
 
 On Tuesday 2013-02-12 11:17 +, Chris Lord wrote:
 Sounds good, I'd like to help if I can. How would this affect the
 display-list optimisation process - would we transfer across the
 unoptimised display list and re-optimise and process for each
 viewport change? I assume with OMTC, we'd still async scroll like we
 do now, but paints would just come in much faster?
 
 Constructing and transferring an unoptimized display list for an
 entire page (rather than just a viewport of it) seems to me like
 something that would be too expensive for large pages, especially
 without a way to update just a piece of it in response to dynamic
 changes.
 
 -David
 

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Robert O'Callahan
On Wed, Feb 13, 2013 at 6:17 AM, Jet Villegas j...@mozilla.com wrote:

 I assume we would send the same diff we use for DLBI over to the
 painting thread to minimize the cost.


No, the plan is to ship the entire unoptimized display list over to the
painting thread and do optimization and DLBI processing there. This should
be similar in overall cost to what we do today (but more parallel).

How would this new design interact with the current refresh driver
 scheduling?


Not much. The refresh driver would still run on the main thread and work
like it does today. The painting thread would be an extra stage whose
execution would probably be triggered by the completion of the display list
in the refresh driver, i.e. implicitly scheduled by the refresh driver.

Rob
-- 
Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur
Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr nhgubevgl
bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr terng nzbat
lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg zhfg or lbhe fynir
— whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, ohg gb freir, naq gb
tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 20:25-28]
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Robert O'Callahan
On Wed, Feb 13, 2013 at 9:43 AM, Robert O'Callahan rob...@ocallahan.orgwrote:

 A large chunk of the work of off-main-thread painting is refactoring
 display lists to be independent of frames, which definitely can and should
 be done incrementally and could be done in parallel with the layers
 refactoring. I still think it should wait till after the layers refactoring
 so all possible resources are on deck for layers.


Also there are a couple of simplifications to the display list stuff I'd
like to make before we do this:
-- Stop using explict nsDisplayClip items and simply attach clipping data
to each display item (making display list construction do what
FrameLayerBuilder already does internally). Large numbers of nsDisplayClips
slow down display list processing, especially on B2G.
-- Make BuildDisplayList infallible.

Rob
-- 
Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur
Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr nhgubevgl
bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr terng nzbat
lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg zhfg or lbhe fynir
— whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, ohg gb freir, naq gb
tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 20:25-28]
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Sparse localizations of toolkit and the chrome registry's getSelectedLocale()

2013-02-12 Thread Axel Hecht

On 12.02.13 20:27, Benjamin Smedberg wrote:

On 2/12/2013 12:41 PM, Axel Hecht wrote:

Hi Benjamin, Dave,

for mobile (and fxos) we're looking into doing sparse localizations of
toolkit. The work on the mobile side is bug 792077. The current
attempt is to leave the 'global' and other toolkit packages
untranslated, and use chrome overrides to supply a few localized
files, as needed by fx-android or -os.

That's all kinda nice and shiny, but it horribly breaks
getSelectedLocale(package), as that returns 'en-US' for 'global' and
friends. Breaks all kinds of url reporters and rtl detection.

Why does getSelectedLocale(package) matter? Who uses that API to make
important decisions? And can we just change the callers to do something
different?

--BDS



http://mxr.mozilla.org/mozilla-central/ident?i=getSelectedLocalefilter= 
is the call-sites.


There's a bunch of .getSelectedLocale(global) to determine the 
currently active locale, independent of OS settings on linux.


The other half of it is 
http://mxr.mozilla.org/mozilla-central/ident?i=IsLocaleRTL, which is a 
tad harder to resolve. That depends all over the place.


Axel
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposed W3C Charter: HTML Working Group

2013-02-12 Thread Benoit Jacob
2013/2/12 Robert O'Callahan rob...@ocallahan.org

 On Wed, Feb 13, 2013 at 5:02 AM, Benjamin Smedberg benja...@smedbergs.us
 wrote:

  The only really interesting thing in the new charter seems to be the
  explicit call for standardizing playback of protected content for the
  HTMLMediaElement, which is pretty much codewords for DRM.
 
  DRM is fundamentally at odds with the notion of an open web and the HTML
  specification. The purpose of good specifications is to make it possible
  for anyone to implement a browser that can render the web. The purpose of
  DRM is to make it possible for content owners to give only some browsers
  the ability to play their content. DRM also defeats save, sharing, and
  remixing, which are fundamental aspects of the web.
 
  Whether or not there are practical short-term compromises that should be
  made to make a better alternative to Silverlight, I don't think that it
  should be within the scope of HTML to do that; it should be a separate
  effort, highly targeted at solving the devices based on HTML currently
  can't play netflix content problem without making any long-term
  commitments to DRM in the browser.
 

 If you really care about this, please contribute to the discussions on
 public-html-admin/public-html-media. Thanks :-)


I agree wholeheartedly with Benjamin and care about this, but I don't have
a lot of time to get into this presumably time-consuming discussion on a
W3C mailing list --- so I'd just like to express support to any Mozilla
representative fighting this fight there.

Beyond the objection of principle (which I agree too -- DRM is incompatible
with the notion of open standards), I'd also make the argument that we
shouldn't let content owners impress us too easily with claims that
particular protection measures would be a requirement before serious
content would move to open Web standards. In the WebGL working group we've
received input from content developers/owners claiming that various flavors
of protection (e.g. they wanted binary shader formats) were a requirement
before any serious commercial content would move to the open Web platform.
We just ignored them, and big content started moving to WebGL anyways.

Benoit


 Rob
 --
 Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur
 Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr nhgubevgl
 bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr terng nzbat
 lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg zhfg or lbhe fynir
 — whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, ohg gb freir, naq gb
 tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 20:25-28]
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Clint Talbert
I agree in part with the assertion about testing - that the existing 
reftests will catch most regressions stemming from this. But I think we 
also need some measurements around scrolling/responsiveness in order to 
verify that off main thread painting is giving us the wins we hope it 
will give us. Part of that is knowing where we are now, and then seeing 
how that measurement will change once this work lands.


We can use Eideticker for doing some of this measurement (particularly 
for blackbox end-to-end measurements, but it would be even better if 
there were some way to instrument the paint pipeline so that we could 
get measurements from inside Gecko itself. If we can instrument it, we 
can run those tests per-checkin on all our products.  So I'd encourage 
you to put a bit of thought into how you might do some light weight 
instrumentation in this code so we can verify we make the gains we hope 
to make here.


Clint


___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Stephen Pohl

Hi,

I wanted to give a heads up that we're in the process of finalizing the 
patch for bug 678392 which will give us history swipe animations on Mac 
OSX 10.7+. Since we will be taking snapshots of the 20 most-recently 
visited pages, this will undoubtedly lead to an increase in memory 
utilization on these platforms.


There is a discussion about experimental memory measurements in comment 
305 and 309 in the bug:

https://bugzilla.mozilla.org/show_bug.cgi?id=678392#c305
https://bugzilla.mozilla.org/show_bug.cgi?id=678392#c309

We attempted to land the patch late last week but ran into test failures 
caused (most-likely) by not forcing a clobber. The upside of it is that 
it gave us feedback from Talos and an opportunity to email the list for 
feedback before making another attempt at landing the patch. The Trace 
Malloc MaxHeap regression is documented in this graph:

http://graphs.mozilla.org/graph.html#tests=[[29,63,22]]sel=1360274365000,1360447165000displayrange=7datatype=running

We'd like to make sure that this increase is acceptable before landing 
the patch. If you have any feedback, please let me know.


Thanks,
Stephen
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Ed Morley

On 12 February 2013 22:11:12, Stephen Pohl wrote:

I wanted to give a heads up that we're in the process of finalizing
the patch for bug 678392 which will give us history swipe animations
on Mac OSX 10.7+. Since we will be taking snapshots of the 20
most-recently visited pages, this will undoubtedly lead to an increase
in memory utilization on these platforms.


To save everyone having to look at the graph - the initial landing 
showed a consistent 20% regression in trace malloc maxheap. If this 
were a 1-5% regression, then I think it would be worth discussing the 
trade-off. At 20%, I really don't see how we can take this, sorry! :-(


Ed
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Anthony Jones
On 13/02/13 09:52, Robert O'Callahan wrote:
 On Wed, Feb 13, 2013 at 9:20 AM, Anthony Jones ajo...@mozilla.com
 mailto:ajo...@mozilla.com wrote:
 
 We need to have a cheap snapshot mechanism.
 
 
 We don't need that for this. The display list can be constructed on the
 main thread and ownership transferred to the painting thread. We always
 construct the display list from scratch today so this is not
 architecturally difficult.

It will be significantly more responsive if we can process repaints (for
scrolling) without being blocked by scripts. What do we need to do to
make that happen?
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Jet Villegas
Stephen:

We talked about extracting this snapshot from the GFx Layers. Have you explored 
that possibility? Taking the screencap from the raster data we already paint 
should help here. BTW, 20 seems to be a very high number to cache per tab. The 
biggest problem I'd like to solve is that I often accidentally swipe back, and 
that's almost always just 1 page back. 

--Jet

- Original Message -
From: Stephen Pohl sp...@mozilla.com
To: dev-platform@lists.mozilla.org
Sent: Tuesday, February 12, 2013 2:11:12 PM
Subject: Increase in memory utilization on Mac OSX 10.7+ due to history swipe   
animations

Hi,

I wanted to give a heads up that we're in the process of finalizing the 
patch for bug 678392 which will give us history swipe animations on Mac 
OSX 10.7+. Since we will be taking snapshots of the 20 most-recently 
visited pages, this will undoubtedly lead to an increase in memory 
utilization on these platforms.

There is a discussion about experimental memory measurements in comment 
305 and 309 in the bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=678392#c305
https://bugzilla.mozilla.org/show_bug.cgi?id=678392#c309

We attempted to land the patch late last week but ran into test failures 
caused (most-likely) by not forcing a clobber. The upside of it is that 
it gave us feedback from Talos and an opportunity to email the list for 
feedback before making another attempt at landing the patch. The Trace 
Malloc MaxHeap regression is documented in this graph:
http://graphs.mozilla.org/graph.html#tests=[[29,63,22]]sel=1360274365000,1360447165000displayrange=7datatype=running

We'd like to make sure that this increase is acceptable before landing 
the patch. If you have any feedback, please let me know.

Thanks,
Stephen
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Justin Lebar
 To save everyone having to look at the graph - the initial landing showed a
 consistent 20% regression in trace malloc maxheap. If this were a 1-5%
 regression, then I think it would be worth discussing the trade-off. At 20%,
 I really don't see how we can take this, sorry! :-(

I hope it's not adding noise to say, what Ed said.

-Justin
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Stephen Pohl

Hi Jet,

Extracting the snapshot from the GFx layer has not been explored yet. I 
think we discussed this in the context of the time it takes to create 
the snapshots. Since this will be handled off the main thread (bug 
817700) we expect a pretty good performance there. I believe we would 
still incur the memory cost however to store the snapshots. Do I recall 
this conversation correctly?


The limit of 20 snapshots is currently per window (not per tab). In bug 
839549, I'd like to switch to a WeakMap to store the snapshots and make 
the limit of 20 global to all windows. I'm not very familiar with the 
Trace Malloc MaxHeap tests, but if they use lots of windows, it may 
explain a jump of 20% in memory utilization and I may have to address 
bug 839549 sooner than later.


I hope this clarifies things.

-Stephen


 Original Message 
Subject: Re: Increase in memory utilization on Mac OSX 10.7+ due to 
history swipe animations

From: Jet Villegas j...@mozilla.com
To: Stephen Pohl sp...@mozilla.com
Cc: dev-platform@lists.mozilla.org
Date: 2/12/13 3:29 PM

Stephen:

We talked about extracting this snapshot from the GFx Layers. Have you explored 
that possibility? Taking the screencap from the raster data we already paint 
should help here. BTW, 20 seems to be a very high number to cache per tab. The 
biggest problem I'd like to solve is that I often accidentally swipe back, and 
that's almost always just 1 page back.

--Jet

- Original Message -
From: Stephen Pohl sp...@mozilla.com
To: dev-platform@lists.mozilla.org
Sent: Tuesday, February 12, 2013 2:11:12 PM
Subject: Increase in memory utilization on Mac OSX 10.7+ due to history swipe   
animations

Hi,

I wanted to give a heads up that we're in the process of finalizing the
patch for bug 678392 which will give us history swipe animations on Mac
OSX 10.7+. Since we will be taking snapshots of the 20 most-recently
visited pages, this will undoubtedly lead to an increase in memory
utilization on these platforms.

There is a discussion about experimental memory measurements in comment
305 and 309 in the bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=678392#c305
https://bugzilla.mozilla.org/show_bug.cgi?id=678392#c309

We attempted to land the patch late last week but ran into test failures
caused (most-likely) by not forcing a clobber. The upside of it is that
it gave us feedback from Talos and an opportunity to email the list for
feedback before making another attempt at landing the patch. The Trace
Malloc MaxHeap regression is documented in this graph:
http://graphs.mozilla.org/graph.html#tests=[[29,63,22]]sel=1360274365000,1360447165000displayrange=7datatype=running

We'd like to make sure that this increase is acceptable before landing
the patch. If you have any feedback, please let me know.

Thanks,
Stephen
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Nicholas Nethercote
On Tue, Feb 12, 2013 at 3:29 PM, Jet Villegas j...@mozilla.com wrote:

 BTW, 20 seems to be a very high number to cache per tab. The biggest problem 
 I'd like to solve is that I often accidentally swipe back, and that's almost 
 always just 1 page back.

That was my first thought, too.

Nick
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Off-main-thread Painting

2013-02-12 Thread Robert O'Callahan
On Wed, Feb 13, 2013 at 12:28 PM, Matt Woodrow mwood...@mozilla.com wrote:

 This is the second half of the plan. Third paragraph of 'Proposed Solution'

 The basic idea is that the display list owned by the painting thread
 already contains all the information required to render the page at any
 scroll position.


As dbaron said, we can't do this for literally *any* scroll position. We
can't for example create a display list for the entire HTML5 spec.

Rob
-- 
Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur
Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr nhgubevgl
bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr terng nzbat
lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg zhfg or lbhe fynir
— whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, ohg gb freir, naq gb
tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 20:25-28]
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Robert O'Callahan
Can we compress these screenshots to JPEG or something?

Rob
-- 
Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur
Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr nhgubevgl
bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr terng nzbat
lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg zhfg or lbhe fynir
— whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, ohg gb freir, naq gb
tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 20:25-28]
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Stephen Pohl
We use canvas.toBlob() to compress the snapshots to PNG. I ran a few 
experiments with JPG, but the results seemed to even out between PNG and 
JPG (with 100% quality). Choosing a lower quality for JPG compression 
quickly started to look bad, especially on retina displays. Comment 176 
had a few details around this:

https://bugzilla.mozilla.org/show_bug.cgi?id=678392#c176

-Stephen

 Original Message 
Subject: Re: Increase in memory utilization on Mac OSX 10.7+ due to 
history swipe animations

From: Robert O'Callahan rob...@ocallahan.org
To: Stephen Pohl sp...@mozilla.com
Cc: dev-platform@lists.mozilla.org
Date: 2/12/13 4:44 PM

Can we compress these screenshots to JPEG or something?

Rob
--
Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur 
Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr 
nhgubevgl bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr 
terng nzbat lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg 
zhfg or lbhe fynir — whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, 
ohg gb freir, naq gb tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 
20:25-28]


___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


New Release Notes Process (relnote-firefox flag)

2013-02-12 Thread Alex Keybl
[x-post to dev.planning and dev.platform]

In relation to release notes process, we've gotten a couple of pieces of 
feedback in recent memory:

1) It's not clear how to mark something as a release notes candidate (some have 
used the relnote keyword in the past)
2) It's not clear whether something will actually be noted
3) Sometimes a feature or known issue is (correctly or otherwise) release noted 
without devs being aware

We're creating a new tracking flag to resolve all three of these issues. You'll 
now find relnote-firefox on any bug that can be nominated for tracking. If 
you'd like a feature or known issue considered for release noting, just set 
relnote-firefox:?. If we agree, we'll either set the flag to 
relnote-firefox:{version}+ for the first version of Firefox the feature will be 
present in, or just relnote-firefox:+ for known issues that will be noted until 
resolution. If we do not intend to release note something in any way, drivers 
will set relnote-firefox:-.

Please make sure to only nominate those features and issues that are 
significant. See https://www.mozilla.org/en-US/firefox/18.0.2/releasenotes/ for 
an example of recent notes.

-Alex
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


TimeStamp::NowLoRes()

2013-02-12 Thread Honza Bambas
This new method provides much lower performance hit time interval where 
high precision timing is not needed. Implemented in bug 827287, landed 
on m-c today.


On the Windows platform it gives resolution of aprox 16ms, using 
GetTickCount() which is by a magnitude cheaper to call then 
QueryPerformanceCounter() on most hardware.


Use NowLoRes() method when the expected time duration you are about to 
work with should be more then aprox 150 milliseconds, mainly longer 
timeouts.  I plan to migrate some places of our code to use it where 
appropriate.


This may give some performance benefit on older or exotic machines 
running any version of Windows since XP to 8.


-hb-
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Asa Dotzler

On 2/12/2013 3:08 PM, Ed Morley wrote:

On 12 February 2013 22:11:12, Stephen Pohl wrote:

I wanted to give a heads up that we're in the process of finalizing
the patch for bug 678392 which will give us history swipe animations
on Mac OSX 10.7+. Since we will be taking snapshots of the 20
most-recently visited pages, this will undoubtedly lead to an increase
in memory utilization on these platforms.


To save everyone having to look at the graph - the initial landing
showed a consistent 20% regression in trace malloc maxheap. If this were
a 1-5% regression, then I think it would be worth discussing the
trade-off. At 20%, I really don't see how we can take this, sorry! :-(

Ed


I don't see how we can *not* take this. Of course it's going to mean 
using more memory.  If it doesn't leak, and it doesn't put us over some 
magic limit where a significant portion of our users end up paging or 
something like that, then I don't see how we can reject it.


Without context, 1-5% or 20% growth are just meaningless numbers. The 
context here is not some accidental regression or a feature doing 
something horribly wrong with memory. This is simply a memory-expensive 
feature and it's a feature we *must* land.


I'm all for smart people looking for ways to get this memory usage as 
low as it can be without undermining the value of the feature, but if we 
cannot find those wins, we should land this as it is.



- A
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Running mousemove events from the refresh driver

2013-02-12 Thread Robert O'Callahan
Context: bug 837985.

At times we can be flooded by OS-level mousemove events. I think it would
make sense to process mousemoves at most once per refresh driver tick. This
matters for a couple of reasons: mousemove processing can cause arbitrary
JS handlers to run which can do slow things, and also for performance
reasons we currently don't flush layout before all mousemoves, but we
really should (and we've been burned by bugs where we didn't). If we
dispatch mousemoves in the refresh driver that should reduce the impact of
having to flush, since the refresh driver flushes layout anyway.

I think I'd do this by usurping the synthetic-mouse-move code to dispatch
real mousemoves as well, so platform-level mousemove events do nothing
but notify the presshell that a mousemove is needed and schedule a refresh
driver tick.

Can anyone see any problems with this?

Rob
-- 
Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur
Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr nhgubevgl
bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr terng nzbat
lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg zhfg or lbhe fynir
— whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, ohg gb freir, naq gb
tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 20:25-28]
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Running mousemove events from the refresh driver

2013-02-12 Thread Robert O'Callahan
On Wed, Feb 13, 2013 at 4:45 PM, Rob Arnold tell...@gmail.com wrote:

 Would you want to predict the mouse location based on past events when you
 dispatch the synthetic event? I guess it depends on how frequently you get
 the events but this is done for touches on mobile where the input frequency
 is close (with 2x) the display frequency. If not, what would the timestamp
 on the event be?


I hadn't thought about that. Is it really necessary? I think without
prediction, we'd get the same visual results as we do today. With
prediction we might make drags seem to track the mouse a bit better,
although it sounds a bit scary to have the user mouse over something they
actually didn't.

Rob
-- 
Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur
Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr nhgubevgl
bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr terng nzbat
lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg zhfg or lbhe fynir
— whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, ohg gb freir, naq gb
tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 20:25-28]
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Andreas Gal
Hey Asa,

where does the magic 20 pages deep history number come from? Why not 1? Or 999?

Andreas

On Feb 12, 2013, at 9:40 PM, Asa Dotzler a...@mozilla.com wrote:

 On 2/12/2013 3:08 PM, Ed Morley wrote:
 On 12 February 2013 22:11:12, Stephen Pohl wrote:
 I wanted to give a heads up that we're in the process of finalizing
 the patch for bug 678392 which will give us history swipe animations
 on Mac OSX 10.7+. Since we will be taking snapshots of the 20
 most-recently visited pages, this will undoubtedly lead to an increase
 in memory utilization on these platforms.
 
 To save everyone having to look at the graph - the initial landing
 showed a consistent 20% regression in trace malloc maxheap. If this were
 a 1-5% regression, then I think it would be worth discussing the
 trade-off. At 20%, I really don't see how we can take this, sorry! :-(
 
 Ed
 
 I don't see how we can *not* take this. Of course it's going to mean using 
 more memory.  If it doesn't leak, and it doesn't put us over some magic limit 
 where a significant portion of our users end up paging or something like 
 that, then I don't see how we can reject it.
 
 Without context, 1-5% or 20% growth are just meaningless numbers. The context 
 here is not some accidental regression or a feature doing something horribly 
 wrong with memory. This is simply a memory-expensive feature and it's a 
 feature we *must* land.
 
 I'm all for smart people looking for ways to get this memory usage as low as 
 it can be without undermining the value of the feature, but if we cannot find 
 those wins, we should land this as it is.
 
 
 - A
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Running mousemove events from the refresh driver

2013-02-12 Thread Rob Arnold
On Tue, Feb 12, 2013 at 7:57 PM, Robert O'Callahan rob...@ocallahan.orgwrote:

 On Wed, Feb 13, 2013 at 4:45 PM, Rob Arnold tell...@gmail.com wrote:

 Would you want to predict the mouse location based on past events when
 you dispatch the synthetic event? I guess it depends on how frequently you
 get the events but this is done for touches on mobile where the input
 frequency is close (with 2x) the display frequency. If not, what would the
 timestamp on the event be?


 I hadn't thought about that. Is it really necessary? I think without
 prediction, we'd get the same visual results as we do today. With
 prediction we might make drags seem to track the mouse a bit better,
 although it sounds a bit scary to have the user mouse over something they
 actually didn't.


I agree; it should be no worse than today. I do have some concerns with
dispatching a mouse move event that contains coordinates the mouse may not
have been at but the visual results for scrolling ought to be nice. Only
other concern is if there are applications that make use of the higher
frequency mouse events to do extra processing (ex: a finger painting app
would want more samples for curve reconstruction). Otherwise I think it
makes sense.

-Rob
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Stephen Pohl

L. David Baron wrote:

On Tuesday 2013-02-12 18:40 -0800, Asa Dotzler wrote:

doing something horribly wrong with memory. This is simply a
memory-expensive feature and it's a feature we *must* land.

Why is it simply a memory-expensive feature?  Why does it require
any additional memory overhead at all, other than while an animation
is happening?

-David

Currently, when navigating back/forward in the browser history, we don't 
keep track of the rendered pages. So, without storing snapshots of pages 
in history, we only have the current page to animate. The previous/next 
pages would appear blank.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Stephen Pohl

There is some context to the magic number 20 in comment 305 in the bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=678392#c305

In summary, it seems to match what other browsers are doing and the 
memory consumption during experiments remained below 10mb.


-Stephen


Andreas Gal wrote:

Hey Asa,

where does the magic 20 pages deep history number come from? Why not 1? Or 999?

Andreas

On Feb 12, 2013, at 9:40 PM, Asa Dotzler a...@mozilla.com wrote:


On 2/12/2013 3:08 PM, Ed Morley wrote:

On 12 February 2013 22:11:12, Stephen Pohl wrote:

I wanted to give a heads up that we're in the process of finalizing
the patch for bug 678392 which will give us history swipe animations
on Mac OSX 10.7+. Since we will be taking snapshots of the 20
most-recently visited pages, this will undoubtedly lead to an increase
in memory utilization on these platforms.

To save everyone having to look at the graph - the initial landing
showed a consistent 20% regression in trace malloc maxheap. If this were
a 1-5% regression, then I think it would be worth discussing the
trade-off. At 20%, I really don't see how we can take this, sorry! :-(

Ed

I don't see how we can *not* take this. Of course it's going to mean using more 
memory.  If it doesn't leak, and it doesn't put us over some magic limit where 
a significant portion of our users end up paging or something like that, then I 
don't see how we can reject it.

Without context, 1-5% or 20% growth are just meaningless numbers. The context 
here is not some accidental regression or a feature doing something horribly 
wrong with memory. This is simply a memory-expensive feature and it's a feature 
we *must* land.

I'm all for smart people looking for ways to get this memory usage as low as it 
can be without undermining the value of the feature, but if we cannot find 
those wins, we should land this as it is.


- A
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread L. David Baron
On Tuesday 2013-02-12 20:17 -0800, Stephen Pohl wrote:
 L. David Baron wrote:
 On Tuesday 2013-02-12 18:40 -0800, Asa Dotzler wrote:
 doing something horribly wrong with memory. This is simply a
 memory-expensive feature and it's a feature we *must* land.
 Why is it simply a memory-expensive feature?  Why does it require
 any additional memory overhead at all, other than while an animation
 is happening?

 Currently, when navigating back/forward in the browser history, we
 don't keep track of the rendered pages. So, without storing
 snapshots of pages in history, we only have the current page to
 animate. The previous/next pages would appear blank.

But we store the pages themselves in the bfcache, and it seems like
we ought to be able to paint them into the needed image (or other
lower-level graphical buffer) right before we do the animation.

-David

-- 
턞   L. David Baron http://dbaron.org/   턂
턢   Mozilla   http://www.mozilla.org/   턂
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Running mousemove events from the refresh driver

2013-02-12 Thread Robert O'Callahan
On Wed, Feb 13, 2013 at 5:14 PM, Rob Arnold tell...@gmail.com wrote:

 I agree; it should be no worse than today. I do have some concerns with
 dispatching a mouse move event that contains coordinates the mouse may not
 have been at but the visual results for scrolling ought to be nice. Only
 other concern is if there are applications that make use of the higher
 frequency mouse events to do extra processing (ex: a finger painting app
 would want more samples for curve reconstruction). Otherwise I think it
 makes sense.


I did some tests with various browsers on Windows and we normally only get
60-ish mouse-moves per second max. So if we're keep our frame rate up, we
should be OK.

Rob
-- 
Wrfhf pnyyrq gurz gbtrgure naq fnvq, “Lbh xabj gung gur ehyref bs gur
Tragvyrf ybeq vg bire gurz, naq gurve uvtu bssvpvnyf rkrepvfr nhgubevgl
bire gurz. Abg fb jvgu lbh. Vafgrnq, jubrire jnagf gb orpbzr terng nzbat
lbh zhfg or lbhe freinag, naq jubrire jnagf gb or svefg zhfg or lbhe fynir
— whfg nf gur Fba bs Zna qvq abg pbzr gb or freirq, ohg gb freir, naq gb
tvir uvf yvsr nf n enafbz sbe znal.” [Znggurj 20:25-28]
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Increase in memory utilization on Mac OSX 10.7+ due to history swipe animations

2013-02-12 Thread Andreas Gal

I think people are legitimately concerned about the memory use of this feature. 
I don't think anyone is trying to dismiss anything here. I still don't fully 
understand why we need a full size screenshot of the last N pages. Is the last 
page sufficient and we redraw the rest while we animate? I am sure you guys 
considered this, so I am curious why this was excluded.

Thanks,

Andreas

On Feb 12, 2013, at 11:29 PM, Asa Dotzler a...@mozilla.com wrote:

 On 2/12/2013 8:05 PM, Andreas Gal wrote:
 Hey Asa,
 
 where does the magic 20 pages deep history number come from? Why not 1? Or 
 999?
 
 Andreas
 
 The goal of the feature is to work when ever the user engages it and not just 
 for the first couple of pages.
 
 Just have one and too many users would fall off of their back stack very 
 quickly. Nine hundred ninety nine and we'd be wasting memory for all but a 
 very small minority of users who accumulate and navigate through that much 
 history.
 
 We have Test Pilot data we could use to fine tune this, maybe we only need 
 15, or maybe we actually need 25.
 
 My point isn't to quarrel about the depth of that back stack, but to say that 
 it is not OK to simply dismiss a new feature because it increases memory 
 footprint. Features vs footprint is a balancing act. Both sides must be 
 weighed and that wasn't what I saw happening here. What I saw happening was 
 the out of hand dismissal of a feature based on no consideration other than 
 increased memory footprint. That cannot be how we roll.
 
 - A
 
 
 
 On Feb 12, 2013, at 9:40 PM, Asa Dotzler a...@mozilla.com wrote:
 
 On 2/12/2013 3:08 PM, Ed Morley wrote:
 On 12 February 2013 22:11:12, Stephen Pohl wrote:
 I wanted to give a heads up that we're in the process of finalizing
 the patch for bug 678392 which will give us history swipe animations
 on Mac OSX 10.7+. Since we will be taking snapshots of the 20
 most-recently visited pages, this will undoubtedly lead to an increase
 in memory utilization on these platforms.
 
 To save everyone having to look at the graph - the initial landing
 showed a consistent 20% regression in trace malloc maxheap. If this were
 a 1-5% regression, then I think it would be worth discussing the
 trade-off. At 20%, I really don't see how we can take this, sorry! :-(
 
 Ed
 
 I don't see how we can *not* take this. Of course it's going to mean using 
 more memory.  If it doesn't leak, and it doesn't put us over some magic 
 limit where a significant portion of our users end up paging or something 
 like that, then I don't see how we can reject it.
 
 Without context, 1-5% or 20% growth are just meaningless numbers. The 
 context here is not some accidental regression or a feature doing something 
 horribly wrong with memory. This is simply a memory-expensive feature and 
 it's a feature we *must* land.
 
 I'm all for smart people looking for ways to get this memory usage as low 
 as it can be without undermining the value of the feature, but if we cannot 
 find those wins, we should land this as it is.
 
 
 - A
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform
 
 
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform