TwelvestoneFlash

dropshadow filter and pixel jumps


Sign in

  • Waiting for Godot ( 720 k posts )
    Just conversation.
  • Thunder Dome ( 23 k posts )
    Photoshop Tennis and Collabs.
  • Photography ( 4.8 k posts )
    For all you shutterbugs, sh...
  • Flash ( 18 k posts )
    ActionScripting to tweens, ...
  • Front End ( 5.8 k posts )
    general front end design an...
  • Back End ( 9.6 k posts )
    serverside scripting, progr...
  • Projects and Theory ( 12 k posts )
    This forum is for discussio...
  • FAQ ( 269 posts )
    All those nagging questions...
  • Design ( 17 k posts )
    graphics & all aspects of g...
  • Purgatory ( 3.6 k posts )
    12stone Jail, feel free to ...
JERKSTORE
 
2009-03-13

I'm having a problem where if I apply a dropshadow filter to a parent clip, it's children will sometimes align to non-integer pixels, but as soon as you roll over a button in the children, they visibly snap back to a whole pixel. It's definitely due to the dropshadow filter, because if I disable it then all of the children are on whole-pixels and stay there. The parent clip's coordinates are whole pixels, with and without the filter.

Anybody have any idea what's up? And how to avoid this? Not only is it visually annoying, to see everything jump a pixel (in alignment as well as size sometimes) when you roll over a clip with button actions, but it's only certain children, so then pixel alignment is broken afterwards.

I've checked the coordinates of all clips, before and after the "jump" and they're all report being on whole pixels, but with the dropshadow filter applied to the parent, it seems that what gets drawn and what the code reports are two different things.

JLM
 
2009-03-14

did you try cacheAsBitmap it might be a pixel/vector thing, filters work with pixels, so best to make sure flash is using pixels all the time?

Arsis
 
2009-03-15

cacheAsBitmap is forced when applying bitmaps so there isn't much you can do on that front.

It may have something to do with clip (or child clip) scale. Jerkstore, maybe post an example with code as there are no obvious gotchas and it might be in the implementation that this is happening.

lithium
 
2009-03-15

if you're applying the filter to a movieclip that contains a bitmap, try turning on smoothing for that bitmap. Also see if you're applying a filter distance that is a whole number too.

JERKSTORE
 
2009-03-16

Thanks for the reply guys.

Filter is being applied to all-vector stuff - no bitmaps.

The filter distance is definitely a whole number, as are the x/y blur amounts.

I'll try and post some sample code in a bit, through it's kind of an involved set of classes and clips so I'll have to figure out a way to pull the relevant parts out.

Arsis
 
2009-03-17

Does the issue persist with different stage quality settings?

JLM
 
2009-03-17

if you effectively apply a filter that makes no difference and then swap to one you want then is there still a relative shift between. Did you try forcing an updateAfterEvent or moving it one pixel back and then forwards just incase flash missed it, like we used to trace _height on textfields to get autosize info to resolve to correct height. But a cut down ver is the only way to fix this type of stuff so your on the right track.

JERKSTORE
 
2009-03-18

Originally posted by: Arsis Does the issue persist with different stage quality settings?

Actually, that seems to have fixed it.

I had the quality of my movie set to BEST and by removing any quality setting entirely, it no longer seems to experience the pixel shift.

JERKSTORE
 
2009-03-18

Nevermind, it fixed it momentarily (or so it seemed). It's doing it again now.

It seems like it's mostly dynamic text that is jumping, and not other vector objects.

JERKSTORE
 
2009-03-18

Looking at it more, I'd definitely describe it more as a "quality" shift than a pixel shift. Grrrrrr...

JERKSTORE
 
2009-03-18

Well, for the time being I think it's "fixed" but I'm still not really sure what the issue was.

But I'm delaying the creation of the child clips until the parent (with the dropshadow) has actually animated onto screen. So it's more of a two-step load now, rather than loading a fully-populated parent, but that seems to prevent the children from freaking out when they're first interacted with.

Works for now k

Sorry, you must be a member to post to a conversation. Either log in or sign up to get involved.
TwelvestoneFlash

dropshadow filter and pixel jumps