In a current project I run on the following problem: didn’t see a blur filter applied on a background. Started debugging and even though was no error neither compile errors nor runtime. But a the Flex Builder console panel, where traces appear, a special output text warning appeared:
Warning: Filter will not render. The DisplayObject’s filtered dimensions ([width], [height]) are too large to be drawn.
This text appears only when you are debugging. Tried to find where it resides but ended in playerglobal.swc.
Then searched on the internet but didn’t find anything. But found an old bug on Adobe Jira bug base and found a bug on this issue: https://bugs.adobe.com/jira/browse/SDK-775. It says is old and closed but I’m still having it, although now it is not appearing at 1000 pixels.
By trial and error I found that the maximum allowed width and height to be able to apply the filter on a display object is 2875 pixels. So the filter will be applied on display objects with widths and heights like these: 2000 x 2875, 100 x 2875, W x 2875. But if you’ll try W x 2876 the filter will not be applied. Also applying a filter on a 2875 x 2875 pixels object will not work. It seams that the product of the width and height of the object must not be over an arbitrary value that depends on the filter’s parameters.
All these were tried using the bellow application I created especially for this problem. To use it… first create the background with different widths and heights than apply the filter on it.
If any of you got into this error also please comment or contact us… maybe we will find a way to overcome the problem or to set some limits that everyone will know.
| ||
|
Tags: bug, Bugs, error, filters
This post was written by Andrei Ionescu
Views: 5425










Thank you – I’ve been searching the bugs to see if this was already logged. I have that issues and also one that relates to scaling images in the image component (http://bugs.adobe.com/jira/browse/SDK-14595).
I’ve been capping the size of the scale allowed for now – although this sucks as a solution – it limits the Users from experiencing the issue.
I don’t think it’s a “bug” – it’s a limitation of the bitmap sizes, max of 2880 any dimension, says so in the documentation.
It was increased on Flash 10, 8096 in either dimension or something like that.
Thank for comment Tim!
1) Please specify where in the documentation says that is maximum 2880 any dimension. Give us some URLs and from the Flex Builder Help give us the chapter, class, property, etc where this is written.
2) I didn’t manage to reach 2880 pixels, just 2875. So if this is not bug, and didn’t supposed that it is a bug, it should be better documented and correctly explained.
Thank you!
I did not hit that ceiling either.
I agree Andrei there is something else going on.
Tim’s thinking about this entry:
http://livedocs.adobe.com/flex/3/langref/flash/display/Loader.html
“In AIR 1.5 and Flash Player 10, the maximum size for a loaded image is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels. (So, if an loaded image is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the limitation is 2,880 pixels in height and 2,880 pixels in width.”
Scott, thanks for pointing out that location. Anyway that is saying about load() method of Loader class. This is no my case. The application I created doesn’t use Loader class instead it creates the background at runtime by drawing some graphics on a canvas. And I can create a background bigger than 2880 pixels so there is another problem – as you said.
Hi Andrei,
I also see it as a technical limitation instead of a bug. What about creating a viewport and applying the filter onto that viewport? E.g. a container around that big object? If you don’t want the container to be affected by the filter, try to create a snapshot out of the current visible area of the display object and apply the filter onto that snapshot.
Anyway, another objection of your example is that the filter stops even while running the filter. For example, try to use 2827×2875 in the example app: the filter runs fine (if low-performing). If you use 2828×2875, you will see that the effect is jumping back at once if the filter reaches the maximum width (2875/2880px). At 2875/2875 you will not even see that the filter has started to adjust the display object, because it instantly runs against the technical size limitation.
Hope this helps
Cheers Thomas
Yes. I also think is a technical limitation. But it must be documented. Developers will loose days trying to find what is wrong and if this happens in a big project that will take an eternity. I also noticed that sometimes the filter starts and doesn’t reach end but resets. And for some size it won’t even start – this is the moment when, if you’re in debug mode, you’ll see that warning text in console panel.
Regarding your idea about that applying the filter only on the visible part of the background is a good approach for some projects. But in mine I need a big background because I do transitions on x and y axis and use blur filter to give the impression of fast movement. So, to put is simple, I need a big background because the background is also moving not static.
Anyway, thanks for trying to find a way to overcome it.
Hi Andrei,
this is documented, but takes time to find it
There are some workarounds for this. Check out:
http://tinyurl.com/b4lo8u
http://tinyurl.com/bw28hs
Cheers,
Tomislav
Hello Tomislav!
Thanks for your comment and for the links. Really helpful for some. My image is embeded in the SWF file so is not about the loading limit you’re saying. I think there is a “wider” limit in working with images that applies to more methods not only at runtime image loading. And another weird thing is that I wasn’t able to reach that 2880 limit specified in some articles about this problem. If this is documented please give me a link in the help (either off-line or on-line) or on the Adobe’s sites. Anyway… my opinion is that is poorly documented – on each method related to images should be a warning explaining the limitations or at least a link.
Yeah, you’re right. There are many undocumented “features” around. I couldn’t find anything on Adobe sites regarding effects. They mention BitmapData size limits, but there are workarounds for that.
I have found limitations for decoders that are called from Loader class too. PNG decoder doesn’t work for me over 4095×4095, and JPEG decoder behaves weird over 8191×8191.
For effects, you can try Pixelbender. It works pretty well for larger images, but it’s on BitmapData level.
Any undocumented behaviour is ALWAYS a bug, by definition. At the very least, it is a bug in documentation.
Any limitation, however small, however restricting, is acceptable, but no limitation is acceptable, however high the limit, if you have to find it out by trial and error.
Thanks Matteo! It is correct what you said.
I got this error when testing a print function in my app. The frame doesn’t come close to those sizes but the error says 2 display objects exceed 8000 pixels in some direction. No stray bits in the frame. No idea. I do use the URLLoader, but no actual filters as far as I’m aware (just printing text). Dunno..