4 ms·
Drop shadows are very slow when animated because they have to be recalculated every time they move.
by mickeyben 16y ago
Drop shadows are very slow when animated because they have to be recalculated every time they move.
- JonnieCache 16y agoThe fact that you are correct is laughable in this age of GPUs commonly having 512mb+ of dedicated RAM. Think what the latest game engines can do at 60fps, why oh why do our browsers still sweat over a few alpha channels in 2011? EDIT: My galaxy S phone runs Quake 3 at 60fps, flawlessly. MY PHONE RUNS QUAKE 3! Why can't my browser do alpha blending at more than 10fps?
- ciroduran 16y agoBecause these calculations are done on software, not GPU. GPU programming is hard. Using the GPU requires extra-integration and extra-work that most developers are not willing to do.
- vlod 16y agoI think browsers are moving to using the GPU: chrome: http://dropshado.ws/post/2857434171/chrome-gpu-accelerated-compositing-and-3d-css http://dropshado.ws/post/2857434171/chrome-gpu-accelerated-c... ie: http://downloadsquad.switched.com/2010/03/16/internet-explorer-gpu-accelerated-html5-interwebs-all-apps-h/ http://downloadsquad.switched.com/2010/03/16/internet-explor... ff: http://www.engadget.com/2010/09/09/firefox-4-beta-5-brings-gpu-acceleration-for-windows/ http://www.engadget.com/2010/09/09/firefox-4-beta-5-brings-g...
- JonnieCache 16y ago>Using the GPU requires extra-integration and extra-work that most developers are not willing to do. Once again, microsoft's decision to deliberately stagnate the browser market making life difficult for us all.
- chadgeidel 16y agoWait, when did MS prevent other browser manufacturers from including hardware-accelerated rendering? Also - to specifically counter your point IE9 will have hardware accelerated rendering via Direct2D: http://blogs.msdn.com/b/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx http://blogs.msdn.com/b/ie/archive/2009/11/18/an-early-look-...
- JonnieCache 16y agoThey actually completely stopped development on IE between version 6 and 7. There was no IE dev team, beyond people patching bugs. Obviously this did not prevent other people doing GPU-acceleration, but the leading player deliberately halting development will and did cause the market to stagnate.
- chc 16y agoThat's not really relevant to the issue at hand, though. Bringing up Microsoft's misbehavior with IE 6 in this context is like bringing up the time a kid cut in front of you for lunch in third grade when you meet him in college.
- notyourwork 16y agoDid said kid continue to cut you in 4th grade, 5th grade ..., nth grade before you entered college?
- MikeMakesIt 16y agoThis isn't relevant and as much as IE6 is a pain in the ass, it's time to get over it.
- bzbarsky 16y agoGames do pretty simple things on the GPU. Download textures, then transform them. They do a _lot_ of it, but conceptually the operations are not actually all that complicated or varied, by and large. Browsers have this little thing they have to deal with called "text". Turns out that stuffing reasonable text into a texture and then scrolling it, say, is not something GPUs can do a good job of. This is why games just bitmap all their text and it looks like crap, by the way. I doubt you'd want text in a browser to look like it does in most games. Browsers are working on making this faster, by the way. But it also turns out that not only are GPUs designed around stuff that games do (which is not the same set of stuff that browsers need done), but so are graphics drivers. The parts of them that Firefox 4 has been trying to use are clearly undertested, because they're ... rather buggy. Which is why there's now a driver blacklist (whitelist on Linux) and so forth...
- jquery 16y agoI find this answer unsatisfying. Watch this demo, for example. It runs on high-end modern gaming PCs over 60 FPS. http://www.google.com/url?sa=t&source=web&cd=4&ved=0CDQQtwIwAw&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9F6zSgtRnkE&ei=mZtdTaeUIIvSsAPP04i7CA&usg=AFQjCNHm5fh2KwOmz3uupug4ugyvPizHoQ http://www.google.com/url?sa=t&source=web&cd=4&v... Tesselation, volumetric shadows, depth of field, etc. Can you really say with a straight face that it's not doing anything complicated? And here we are struggling with drop-shadows. I know the problem domains are different, but I can't help but feel completely underwhelmed at the current state of the web when it comes to graphics. Somehow I think there's more to it than "fonts are hard."
- bzbarsky 16y agoIt's not only that "fonts are hard" but that "the transformations people do to web pages are very different from the ones the GPU is good at", as I understand. At which point we've reached the end of my second-hand graphics knowledge, unfortunately. I wish I could give you a better technical explanation here...
- jmtulloss 16y agoAt palm, I didn't work on the 3d acceleration bits, but I worked with those that did. This explanation is pretty much spot on. In an environment where you don't already know your textures, 3d acceleration is a very difficult task. That's why only a select number of CSS transforms have been hardware accelerated to date.
- bzbarsky 16y agoOne other thing. The expensive thing with shadows is not just the compositing, but recomputing the shadow itself. Any time something changes about the thing that's casting the shadow you have to rebuild the shadow. If the change is of a kind the GPU knows about (polygon moved or rotated or whatnot), it might be doable on the GPU. If it's something like "the width changed and the text layout has to be redone", you lose.