-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] CSS3 transitions & animations laggy on Mac retina #3030
Comments
width, height, top, left etc are generally slow to animate as they cause layouting and repaints. Resources: |
@klaemo Thank you for the tips but that's not the point. The point is there is a big gap of performance between Chrome and NW.JS under mac OS X. The snippet is just an example written to simply reproduce the issue with a noticeable enough lag but the laggy behavior also happen on a variety a situation |
I think we have some problem with Chrome on MacOS and animations... |
You can use translate3d(0, 0, 0) to force GPU to start working. but from your words it is not an issue. |
@klaemo @ITBeka The transform: translate3d(0,0,0) one seems a better workaround to me because it does not changes the behavior whereas scale/translate is not the same than animation on dimensions, especially when there are several block (accordion or whatever) |
@AndryBray the issue you're talking about seems to be a chromium one and it seems almost resolved in latest versions. But the current issue is about the difference of performance between Chrome and NW.JS which is still present in the latest release (0.12-alpha2) and noticeable enough to create bad user experience (laggy/stuttering feeling) |
I made some tests and I found the performance of NW.JS (0.12-alpha2) is similar to performance of Chrome (41) with setting |
This issue is still present in 0.12.0 and is quite annoying. @rogerwang Have you any idea of what could be the issue ? |
Well it seems it is not fully related to css transitions but to retina display.
|
Another way to reproduce: Kaizou CSS Animation benchmark: http://www.kaizou.org/tools/kaizoumark/ NWJS 0.12.0 (Default flags, fullscreen)
Chrome 41 (Default flags, fullscreen):
IMPORTANT |
👍 Just wanted to add that I have observed the same behaviour across platforms regardless of 'retina' or standard resolutions (it seems clear that higher resolution simply makes the issue more noticeable, hence the problems with full screen being reported). My project is currently stuck on v0.10.5 because of these performance regressions, and so a fix would be much appreciated. |
And on that note....has anyone tested with v0.13-alpha? Does the situation persist? |
Is it similar with #2723 which is just fixed? |
Are you sure this is not a blink issue? I'm experiencing the same on a website I'm working on in regular Chrome (beta and non beta). I was working on a regular 23'' monitor, and when I switched to the retina display of my macbook, animations started to stutter. I'm using CSS transforms btw. |
@PierBover this issue is about difference of performance between Chrome and NW.JS on the same machine, material and OS. So it is clearly a bug of NW.JS. In your case it may not be an issue. The performance of animating and rendering on 2 different resolution is highly dependant on the resolution. If your 23' screen have a lower resolution than your retina one, it is normal to get a difference of performance |
@felicienfrancois yes, but then I try the same website on Firefox on the retina display and the performance is smooth at 60 fps. |
I have this same problem. My lower resolution, external monitor is perfectly smooth. My retina display on my Macbook is so laggy that it is useless, and I'm using Chrome. I know it's not an issue of size because I have very little code - the site is just beginning. And there are only a few colors....anybody figure it out? |
I no longer get any performance issue with latest 0.13.0 |
I'm still having an issue with this. |
I've also noticed this behavior at chrome on retina screen. I believe that because of larger resolution, chrome needs to allocate more memory or something like that. I have to note that Firefox doesn't behave this way, transitions looks smooth on both screens using FF. |
It was happening to me as well, but I ended up using the SVG image as a background image with css. I had to size the element with the right dimensions for it to work. Reason behind the right dimensions is that: If the 'no-repeat' property of the 'background' CSS property is used you'll hit the same performance issues. Hope this works! |
I am creating a slideshow and I have exactly this issue. I am using two different monitors (the one from the Macbook Pro and 24 as external). When I move to the external animation are very good. If I drag back to the retina it gets terrible. Any solutions? I am using CSS3 transitions incl. translated3d and so on. |
Reproductible on
Macbook Retina (end of 2013)
withOS X Yosemite
and latest nw.js0.12-alpha2
(but i had the same issue with previous builds)My tests
On the same computer
Macbook Retina (end of 2013)
withwindows 8.1
,Ubuntu 64bit
andOS X Yosemite
in multibootI tested the following simple snippet and I get the following results:
--ignore-gpu-blacklist
: no changes--ignore-gpu-blacklist
: perfectly smoothThe text was updated successfully, but these errors were encountered: