Jump to content
Search Community

Filter will not render

Sinewave test
Moderator Tag

Recommended Posts

It's the old "Filter will not render." problem. I've encountered this before. You know you have too. You've put to many children on the stage and tried to add a blur to their parent.

 

I know it isn't gs, it's flash right? Flash seems to have a hard time with large displayobjects. Which seems counter-intuitive to me, if it's such great interactive medium, why can't I have massive clips in there?

 

Warning: Filter will not render. The DisplayObject's filtered dimensions (13274, 438) are too large to be drawn.

Warning: Filter will not render. The DisplayObject's filtered dimensions (12598, 35) are too large to be drawn.

 

My flash file dynamically creates a slideshow from an XML file.

It adds images or videos to the stage, from an XML list, side by side on the x axis, starting at 0 and going off, in increments of 880. The slideshow can hold up to 20 images, but realistically we only use it for 8 at the most. When it goes over 5 images I start running into the "Filter will not render." problem. It's a real shame, and I can't believe I'm saying this, but without the motion blur effect it makes me wonder why we don't just do it in javascript.

 

I'm open to trying new ideas. Has anyone had any creative solutions to this problem?

Link to comment
Share on other sites

I realize it's frustrating to get that message (I've gotten it myself), but trust me - you need to avoid applying filters like that. It's not that Flash is sub-par or a bad medium - it's just that having filters on objects that large is asking for big trouble performance-wise. Flash actually performs amazingly well compared to most other web-based technologies. Javascript wouldn't be even close.

 

And yes, you're right - that issue has absolutely nothing to do with TweenLite/Max. It's a restriction Flash imposes.

 

Anyway, you could probably get around the problem by un-nesting your objects and blurring them individually instead of applying one filter to their parent. Another option is to use BitmapData to limit the area that gets rendered to what's actually on-screen so that Flash doesn't have to waste CPU resources rendering filters on off-screen portions of the objects.

 

Hope that helps.

Link to comment
Share on other sites

- it's just that having filters on objects that large is asking for big trouble performance-wise.

 

Makes sense.

 

Another option is to use BitmapData to limit the area that gets rendered to what's actually on-screen so that Flash doesn't have to waste CPU resources rendering filters on off-screen portions of the objects.

Not sure I understand what you mean or this solution?

 

I've tried targeting individual clips for the blur effect. When you have a series of images side by side [] [] [] [] [] [] [] [] [] [] like that, it leaves an impression when it swooshes by all blurred. I'll figure out a way around it eventually.

Link to comment
Share on other sites

Another option is to use BitmapData to limit the area that gets rendered to what's actually on-screen so that Flash doesn't have to waste CPU resources rendering filters on off-screen portions of the objects.

Not sure I understand what you mean or this solution?

It's not a simple solution. It basically involves creating a BitmapData that just fills enough of the screen to cover the area you're tweening/blurring. Then you draw() to that BitmapData in an ENTER_FRAME handler and apply the blur to that BitmapData according to how quickly the objects are moving. Think of it almost like a screen capture of the important area, but you're refreshing that screen capture constantly during the animation. The underlying objects never get filters applied at all, so no resources are wasted rendering stuff off stage. Again, I realize this isn't a simple task. Just throwing an idea out there that would likely perform better than anything else.

 

Good luck!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...