Flash Dev Gotchas #9 - Don't Over-Engineer the MovieClip
Over the years, Flash developers have tried to follow good OOP principles, and have moved further and further to a point where their code is completely separated from the animations. Putting code in the frames of your animation is a no-no. While separating code makes good sense from an organization and maintainability perspective, when you try to use Classes to control movie clips at the frame level, there can be a performance impact. I learned this the hard way on my last project.
My grand design was to create an Anim class that would be associated with a MovieClip. The class would give me complete control over the animation at the frame level, including to do things like play the movie backwards, or to play it at half speed. My Anim class created an
The class worked well in my tests with a simple animation. But the production files that came back from the artists were much more complex, and there was noticeable lag when running the animations from my application (as opposed to running them in a standalone swf).
I had assumed that I could mimic the
I reworked my Anim class so it just played, instead of stopping and restarting every frame. All of a sudden, the animation played about twice as fast from within my application.
I fell into the trap of trying to over-engineer my MovieClips. There's no need to extend something that already exists and works well. Sure, if I need a particular animation to play backwards, or in slow motion, I might write a class just to handle those particular clips. Or I might even ask the artists to implement these behaviors on the timeline, perhaps even with -- dare I say it -- some code on certain frames of their animation. The latter approach might create a larger SWF, but is more likely to play back at a suitable framerate.
OOP makes it very easy to add new layers of functionality to existing objects. While you may be making your interface more elegant, you might also be creating performance problems. Especially when you're adding the new functionality to something so basic and critical like the MovieClip object. If you do create MovieClip controller classes and other frame-level mechanisms, be sure to unit test them rigorously to make sure you're doing things the most efficient way.
My grand design was to create an Anim class that would be associated with a MovieClip. The class would give me complete control over the animation at the frame level, including to do things like play the movie backwards, or to play it at half speed. My Anim class created an
update callback method that updated the animation every frame (it was be called by an onEnterFrame event set up elsewhere):
public function update(){
var cf = animClip._currentframe;
if(animClip._currentframe < (animClip._totalframes)){
//play next frame
actorClip.gotoAndStop(cf + 1);
}
else {
//reached last frame. loop back to start of animation
animClip.gotoAndStop(1);
}
}
The class worked well in my tests with a simple animation. But the production files that came back from the artists were much more complex, and there was noticeable lag when running the animations from my application (as opposed to running them in a standalone swf).
stop() != play()I had assumed that I could mimic the
play() function by calling a gotoAndStop() on every frame. But what I was really doing was akin to trying to play an analog audio tape on a tape player by constantly pressing and releasing the pause button -- it results in a stuttered playback. I reworked my Anim class so it just played, instead of stopping and restarting every frame. All of a sudden, the animation played about twice as fast from within my application.
I fell into the trap of trying to over-engineer my MovieClips. There's no need to extend something that already exists and works well. Sure, if I need a particular animation to play backwards, or in slow motion, I might write a class just to handle those particular clips. Or I might even ask the artists to implement these behaviors on the timeline, perhaps even with -- dare I say it -- some code on certain frames of their animation. The latter approach might create a larger SWF, but is more likely to play back at a suitable framerate.
OOP makes it very easy to add new layers of functionality to existing objects. While you may be making your interface more elegant, you might also be creating performance problems. Especially when you're adding the new functionality to something so basic and critical like the MovieClip object. If you do create MovieClip controller classes and other frame-level mechanisms, be sure to unit test them rigorously to make sure you're doing things the most efficient way.
12 Comments:
Very good point - the MovieClip class is powerful. My golden rule is to build upon it, but don't try to re-engineer one of the most atomic types in the whole language. AS won't ever be as fast as highly-optimized, compiled player code, so I defer to that as much as possible.
By
mray, at 7:52 PM
wow power leveling
wow powerleveling
world of warcraft power leveling
ffxi power leveling
ffxi powerleveling
ffxi
ffxi gil
age of conan
lotro powerleveling
lotro power leveling
lotro goldwow power leveling
wow powerleveling
world of warcraft power leveling
ffxi power leveling
ffxi powerleveling
ffxi
ffxi gil
age of conan
lotro powerleveling
lotro power leveling
lotro goldwow power leveling
wow powerleveling
world of warcraft power leveling
ffxi power leveling
ffxi powerleveling
ffxi
ffxi gil
age of conan
lotro powerleveling
lotro power leveling
lotro goldwow power leveling
wow powerleveling
world of warcraft power leveling
ffxi power leveling
ffxi powerleveling
ffxi
ffxi gil
age of conan
lotro powerleveling
lotro power leveling
lotro goldwow power leveling
wow powerleveling
world of warcraft power leveling
ffxi power leveling
ffxi powerleveling
ffxi
ffxi gil
age of conan
lotro powerleveling
lotro power leveling
lotro goldwow power leveling
wow powerleveling
world of warcraft power leveling
ffxi power leveling
ffxi powerleveling
ffxi
ffxi gil
age of conan
lotro powerleveling
lotro power leveling
lotro goldwow power leveling
wow powerleveling
world of warcraft power leveling
ffxi power leveling
ffxi powerleveling
ffxi
ffxi gil
age of conan
lotro powerleveling
lotro power leveling
lotro goldwow power leveling
wow powerleveling
world of warcraft power leveling
ffxi power leveling
ffxi powerleveling
ffxi
ffxi gil
age of conan
lotro powerleveling
lotro power leveling
lotro gold
By
wow power leveling, at 11:20 PM
runescape money runescape gold runescape gold runescape money buy runescape gold buy runescape money runescape money runescape gold wow power leveling wow powerleveling Warcraft Power Leveling Warcraft PowerLeveling buy runescape gold buy runescape money runescape items runescape accounts runescape gp dofus kamas buy dofus kamas Guild Wars Gold buy Guild Wars Gold lotro gold buy lotro gold lotro gold buy lotro gold lotro gold buy lotro gold runescape money runescape power leveling runescape money runescape gold dofus kamas cheap runescape money cheap runescape gold Hellgate Palladium Hellgate London Palladium Hellgate money Tabula Rasa gold tabula rasa money Tabula Rasa Credit Tabula Rasa Credits Hellgate gold Hellgate London gold wow power leveling wow powerleveling Warcraft PowerLeveling Warcraft Power Leveling World of Warcraft PowerLeveling World of Warcraft Power Leveling runescape power leveling runescape powerleveling eve isk eve online isk eve isk eve online isk tibia gold Fiesta Silver Fiesta Gold SilkRoad Gold buy SilkRoad Gold runescape accounts buy runescape accounts rs2 accounts buy rs2 accounts runescape power leveling rs2 power leveling FFXI Gil buy FFXI Gil gaia gold buy gaia gold buy dofus kamas buy dofus kamas dofus kamas runescape accounts buy runescape accounts rs2 accounts buy rs2 accounts runescape power leveling rs2 power leveling rs2 gold buy rs2 gold runescape
By
Anonymous, at 6:10 PM
runescape money runescape gold tibia item tibia gold runescape accounts tibia money runescape gp buy runescape gold tibia gold tibia item buy runescape money runescape items tibia money
By
Anonymous, at 12:06 AM
runescape money runescape gold tibia item tibia gold runescape accounts tibia money runescape gp buy runescape gold tibia gold tibia item buy runescape money runescape items tibia money
By
Anonymous, at 12:07 AM
orgy ental -
ox pass -
panties and fannies -
papi -
pee lover -
penis palooza -
phat booty brazil -
phat booty hoes -
phat white booty -
pimp my black teen -
please bang my wife -
porn multi pass -
public invasion -
pussy foot girls -
pussy pinata -
real arizona amateurs -
reality pass plus -
real orgasms -
red ass teens -
round and brown -
round mound of ass -
sado slaves -
sammy4u -
sapphic erotica -
see her squirt -
she fucks guys -
street blowjobs -
street ranger -
summer time milf -
sweet auditions -
sweet loads -
taylor bow -
team squirt -
teenie video -
teeny bopper club -
the big swallow -
the dirty old man -
thugs and juggs -
tight buttholes -
tinys black adventures -
tranny surprise -
tug jobs -
vip crew -
we live together -
white slave whores -
whore wagon -
xxx proposal -
euro sex parties -
2 in the stink -
8th street latinas -
40 inch plus -
abbraxa porn -
adult friend finder -
all reality pass -
all sites access -
all star porn girls -
angels of porn video -
asian creamy pies -
ass parade -
athens girls -
bait bus -
ball honeys -
bangbros network -
bang bus -
barefoot maniacs -
big ass adventure -
big cock teen addiction -
big league facials -
big mouthfuls -
big naturals -
big tit patrol -
big tits round asses -
bikini contest porn -
black creamy pies -
black dicks latin chicks -
black gang white bang -
black mother fuckers -
blind date bangers -
boy girl bang -
boys first time -
brandi belle -
brazil bang -
brick house butts -
bubble butt orgy -
bukkake pee -
busty adventures -
butt cam -
cam crush -
cams -
captain stabbin -
casting couch teens -
coeds need cash -
college teens book bang -
cumfiesta -
cum girls -
dangerous dongs -
euro sex parties -
extreme asses -
extreme naturals -
fat ass pass -
first time auditions -
fisting lessons -
fling -
flower tucci -
french fisting -
french pee -
gag fuck -
ghetto hoochies -
giants black meat white treat -
heels and hoes -
horny spanish flies -
hung like a whore -
im live -
in focus girls -
inter mixed -
in the vip -
i spy camel toe -
its just chocolate -
jake bustsnuts -
knob squad -
kung pao pussy -
lesbian teen hunter -
little coco -
max hardcore porn -
mike in brazil -
milf hunter -
milf lessons -
milf next door -
miss pain -
money talks -
monsters of cock -
mr big dicks hot chicks -
mr cameltoe -
mr chews asian beaver -
my first porn scene -
orgy ental -
ox pass -
panties and fannies -
papi -
pee lover -
penis palooza -
phat booty brazil -
phat booty hoes -
phat white booty -
pimp my black teen -
please bang my wife -
porn multi pass -
public invasion -
pussy foot girls -
pussy pinata -
real arizona amateurs -
reality pass plus -
real orgasms -
red ass teens -
round and brown -
round mound of ass -
sado slaves -
sammy4u -
sapphic erotica -
see her squirt -
she fucks guys -
street blowjobs -
street ranger -
summer time milf -
sweet auditions -
sweet loads -
taylor bow -
team squirt -
teenie video -
teeny bopper club -
the big swallow -
the dirty old man -
thugs and juggs -
tight buttholes -
tinys black adventures -
tranny surprise -
tug jobs -
vip crew -
we live together -
white slave whores -
whore wagon -
xxx proposal -
vip crew -
2 in the stink -
8th street latinas -
40 inch plus -
abbraxa porn -
adult friend finder -
all reality pass -
all sites access -
all star porn girls -
angels of porn video -
asian creamy pies -
ass parade -
athens girls -
bait bus -
ball honeys -
bangbros network -
bang bus -
barefoot maniacs -
big ass adventure -
big cock teen addiction -
big league facials -
big mouthfuls -
big naturals -
big tit patrol -
big tits round asses -
bikini contest porn -
black creamy pies -
black dicks latin chicks -
black gang white bang -
black mother fuckers -
blind date bangers -
boy girl bang -
boys first time -
brandi belle -
brazil bang -
brick house butts -
bubble butt orgy -
bukkake pee -
busty adventures -
butt cam -
cam crush -
cams -
captain stabbin -
casting couch teens -
coeds need cash -
college teens book bang -
cumfiesta -
cum girls -
dangerous dongs -
euro sex parties -
extreme asses -
extreme naturals -
fat ass pass -
first time auditions -
fisting lessons -
fling -
flower tucci -
french fisting -
french pee -
gag fuck -
ghetto hoochies -
giants black meat white treat -
heels and hoes -
horny spanish flies -
hung like a whore -
im live -
in focus girls -
inter mixed -
in the vip -
i spy camel toe -
its just chocolate -
jake bustsnuts -
knob squad -
kung pao pussy -
lesbian teen hunter -
little coco -
max hardcore porn -
mike in brazil -
milf hunter -
milf lessons -
milf next door -
miss pain -
money talks -
monsters of cock -
mr big dicks hot chicks -
mr cameltoe -
mr chews asian beaver -
my first porn scene -
orgy ental -
ox pass -
panties and fannies -
papi -
pee lover -
penis palooza -
phat booty brazil -
phat booty hoes -
phat white booty -
pimp my black teen -
please bang my wife -
porn multi pass -
public invasion -
pussy foot girls -
pussy pinata -
real arizona amateurs -
reality pass plus -
real orgasms -
red ass teens -
round and brown -
round mound of ass -
sado slaves -
sammy4u -
sapphic erotica -
see her squirt -
she fucks guys -
street blowjobs -
street ranger -
summer time milf -
sweet auditions -
sweet loads -
taylor bow -
team squirt -
teenie video -
teeny bopper club -
the big swallow -
the dirty old man -
thugs and juggs -
tight buttholes -
tinys black adventures -
tranny surprise -
tug jobs -
vip crew -
we live together -
white slave whores -
whore wagon -
xxx proposal -
papi.com -
2 in the stink -
8th street latinas -
40 inch plus -
abbraxa porn -
adult friend finder -
all reality pass -
all sites access -
all star porn girls -
angels of porn video -
asian creamy pies -
ass parade -
athens girls -
bait bus -
ball honeys -
bangbros network -
bang bus -
barefoot maniacs -
big ass adventure -
big cock teen addiction -
big league facials -
big mouthfuls -
big naturals -
big tit patrol -
big tits round asses -
bikini contest porn -
black creamy pies -
black dicks latin chicks -
black gang white bang -
black mother fuckers -
blind date bangers -
boy girl bang -
boys first time -
brandi belle -
brazil bang -
brick house butts -
bubble butt orgy -
bukkake pee -
busty adventures -
butt cam -
cam crush -
cams -
captain stabbin -
casting couch teens -
coeds need cash -
college teens book bang -
cumfiesta -
cum girls -
dangerous dongs -
euro sex parties -
extreme asses -
extreme naturals -
fat ass pass -
first time auditions -
fisting lessons -
fling -
flower tucci -
french fisting -
french pee -
gag fuck -
ghetto hoochies -
giants black meat white treat -
heels and hoes -
horny spanish flies -
hung like a whore -
im live -
in focus girls -
inter mixed -
in the vip -
i spy camel toe -
its just chocolate -
jake bustsnuts -
knob squad -
kung pao pussy -
lesbian teen hunter -
little coco -
max hardcore porn -
mike in brazil -
milf hunter -
milf lessons -
milf next door -
miss pain -
money talks -
monsters of cock -
mr big dicks hot chicks -
mr cameltoe -
mr chews asian beaver -
my first porn scene -
orgy ental -
ox pass -
panties and fannies -
papi -
pee lover -
penis palooza -
phat booty brazil -
phat booty hoes -
phat white booty -
pimp my black teen -
please bang my wife -
porn multi pass -
public invasion -
pussy foot girls -
pussy pinata -
real arizona amateurs -
reality pass plus -
real orgasms -
red ass teens -
round and brown -
round mound of ass -
sado slaves -
sammy4u -
sapphic erotica -
see her squirt -
she fucks guys -
street blowjobs -
street ranger -
summer time milf -
sweet auditions -
sweet loads -
taylor bow -
team squirt -
teenie video -
teeny bopper club -
the big swallow -
the dirty old man -
thugs and juggs -
tight buttholes -
tinys black adventures -
tranny surprise -
tug jobs -
vip crew -
we live together -
white slave whores -
whore wagon -
xxx proposal -
reality kings -
2 in the stink -
8th street latinas -
40 inch plus -
abbraxa porn -
adult friend finder -
all reality pass -
all sites access -
all star porn girls -
angels of porn video -
asian creamy pies -
ass parade -
athens girls -
bait bus -
ball honeys -
bangbros network -
bang bus -
barefoot maniacs -
big ass adventure -
big cock teen addiction -
big league facials -
big mouthfuls -
big naturals -
big tit patrol -
big tits round asses -
bikini contest porn -
black creamy pies -
black dicks latin chicks -
black gang white bang -
black mother fuckers -
blind date bangers -
boy girl bang -
boys first time -
brandi belle -
brazil bang -
brick house butts -
bubble butt orgy -
bukkake pee -
busty adventures -
butt cam -
cam crush -
cams -
captain stabbin -
casting couch teens -
coeds need cash -
college teens book bang -
cumfiesta -
cum girls -
dangerous dongs -
euro sex parties -
extreme asses -
extreme naturals -
fat ass pass -
first time auditions -
fisting lessons -
fling -
flower tucci -
french fisting -
french pee -
gag fuck -
ghetto hoochies -
giants black meat white treat -
heels and hoes -
horny spanish flies -
hung like a whore -
im live -
in focus girls -
inter mixed -
in the vip -
i spy camel toe -
its just chocolate -
jake bustsnuts -
knob squad -
kung pao pussy -
lesbian teen hunter -
little coco -
max hardcore porn -
mike in brazil -
milf hunter -
milf lessons -
milf next door -
miss pain -
money talks -
monsters of cock -
mr big dicks hot chicks -
mr cameltoe -
mr chews asian beaver -
my first porn scene -
orgy ental -
ox pass -
panties and fannies -
papi -
pee lover -
penis palooza -
phat booty brazil -
phat booty hoes -
phat white booty -
pimp my black teen -
please bang my wife -
porn multi pass -
public invasion -
pussy foot girls -
pussy pinata -
real arizona amateurs -
reality pass plus -
real orgasms -
red ass teens -
round and brown -
round mound of ass -
sado slaves -
sammy4u -
sapphic erotica -
see her squirt -
she fucks guys -
street blowjobs -
street ranger -
summer time milf -
sweet auditions -
sweet loads -
taylor bow -
team squirt -
teenie video -
teeny bopper club -
the big swallow -
the dirty old man -
thugs and juggs -
tight buttholes -
tinys black adventures -
tranny surprise -
tug jobs -
vip crew -
we live together -
white slave whores -
whore wagon -
xxx proposal -
huge gay pass -
2 in the stink -
8th street latinas -
40 inch plus -
abbraxa porn -
adult friend finder -
all reality pass -
all sites access -
all star porn girls -
angels of porn video -
asian creamy pies -
ass parade -
athens girls -
bait bus -
ball honeys -
bangbros network -
bang bus -
barefoot maniacs -
big ass adventure -
big cock teen addiction -
big league facials -
big mouthfuls -
big naturals -
big tit patrol -
big tits round asses -
bikini contest porn -
black creamy pies -
black dicks latin chicks -
black gang white bang -
black mother fuckers -
blind date bangers -
boy girl bang -
boys first time -
brandi belle -
brazil bang -
brick house butts -
bubble butt orgy -
bukkake pee -
busty adventures -
butt cam -
cam crush -
cams -
captain stabbin -
casting couch teens -
coeds need cash -
college teens book bang -
cumfiesta -
cum girls -
dangerous dongs -
euro sex parties -
extreme asses -
extreme naturals -
fat ass pass -
first time auditions -
fisting lessons -
fling -
flower tucci -
french fisting -
french pee -
gag fuck -
ghetto hoochies -
giants black meat white treat -
heels and hoes -
horny spanish flies -
hung like a whore -
im live -
in focus girls -
inter mixed -
in the vip -
i spy camel toe -
its just chocolate -
jake bustsnuts -
knob squad -
kung pao pussy -
lesbian teen hunter -
little coco -
max hardcore porn -
mike in brazil -
milf hunter -
milf lessons -
milf next door -
miss pain -
money talks -
monsters of cock -
mr big dicks hot chicks -
mr cameltoe -
mr chews asian beaver -
my first porn scene -
orgy ental -
ox pass -
panties and fannies -
papi -
pee lover -
penis palooza -
phat booty brazil -
phat booty hoes -
phat white booty -
pimp my black teen -
please bang my wife -
porn multi pass -
public invasion -
pussy foot girls -
pussy pinata -
real arizona amateurs -
reality pass plus -
real orgasms -
red ass teens -
round and brown -
round mound of ass -
sado slaves -
sammy4u -
sapphic erotica -
see her squirt -
she fucks guys -
street blowjobs -
street ranger -
summer time milf -
sweet auditions -
sweet loads -
taylor bow -
team squirt -
teenie video -
teeny bopper club -
the big swallow -
the dirty old man -
thugs and juggs -
tight buttholes -
tinys black adventures -
tranny surprise -
tug jobs -
vip crew -
we live together -
white slave whores -
whore wagon -
xxx proposal -
huge movie pass -
2 in the stink -
8th street latinas -
40 inch plus -
abbraxa porn -
adult friend finder -
all reality pass -
all sites access -
all star porn girls -
angels of porn video -
asian creamy pies -
ass parade -
athens girls -
bait bus -
ball honeys -
bangbros network -
bang bus -
barefoot maniacs -
big ass adventure -
big cock teen addiction -
big league facials -
big mouthfuls -
big naturals -
big tit patrol -
big tits round asses -
bikini contest porn -
black creamy pies -
black dicks latin chicks -
black gang white bang -
black mother fuckers -
blind date bangers -
boy girl bang -
boys first time -
brandi belle -
brazil bang -
brick house butts -
bubble butt orgy -
bukkake pee -
busty adventures -
butt cam -
cam crush -
cams -
captain stabbin -
casting couch teens -
coeds need cash -
college teens book bang -
cumfiesta -
cum girls -
dangerous dongs -
euro sex parties -
extreme asses -
extreme naturals -
fat ass pass -
first time auditions -
fisting lessons -
fling -
flower tucci -
french fisting -
french pee -
gag fuck -
ghetto hoochies -
giants black meat white treat -
heels and hoes -
horny spanish flies -
hung like a whore -
im live -
in focus girls -
inter mixed -
in the vip -
By
Anonymous, at 1:19 AM
i spy camel toe -
its just chocolate -
jake bustsnuts -
knob squad -
kung pao pussy -
lesbian teen hunter -
little coco -
max hardcore porn -
mike in brazil -
milf hunter -
milf lessons -
milf next door -
miss pain -
money talks -
monsters of cock -
mr big dicks hot chicks -
mr cameltoe -
mr chews asian beaver -
my first porn scene -
orgy ental -
ox pass -
panties and fannies -
papi -
pee lover -
penis palooza -
phat booty brazil -
phat booty hoes -
phat white booty -
pimp my black teen -
please bang my wife -
porn multi pass -
public invasion -
pussy foot girls -
pussy pinata -
real arizona amateurs -
reality pass plus -
real orgasms -
red ass teens -
round and brown -
round mound of ass -
sado slaves -
sammy4u -
sapphic erotica -
see her squirt -
she fucks guys -
street blowjobs -
street ranger -
summer time milf -
sweet auditions -
sweet loads -
taylor bow -
team squirt -
teenie video -
teeny bopper club -
the big swallow -
the dirty old man -
thugs and juggs -
tight buttholes -
tinys black adventures -
tranny surprise -
tug jobs -
vip crew -
we live together -
white slave whores -
whore wagon -
xxx proposal -
huge tits pass -
2 in the stink -
8th street latinas -
40 inch plus -
abbraxa porn -
adult friend finder -
all reality pass -
all sites access -
all star porn girls -
angels of porn video -
asian creamy pies -
ass parade -
athens girls -
bait bus -
ball honeys -
bangbros network -
bang bus -
barefoot maniacs -
big ass adventure -
big cock teen addiction -
big league facials -
big mouthfuls -
big naturals -
big tit patrol -
big tits round asses -
bikini contest porn -
black creamy pies -
black dicks latin chicks -
black gang white bang -
black mother fuckers -
blind date bangers -
boy girl bang -
boys first time -
brandi belle -
brazil bang -
brick house butts -
bubble butt orgy -
bukkake pee -
busty adventures -
butt cam -
cam crush -
cams -
captain stabbin -
casting couch teens -
coeds need cash -
college teens book bang -
cumfiesta -
cum girls -
dangerous dongs -
euro sex parties -
extreme asses -
extreme naturals -
fat ass pass -
first time auditions -
fisting lessons -
fling -
flower tucci -
french fisting -
french pee -
gag fuck -
ghetto hoochies -
giants black meat white treat -
heels and hoes -
horny spanish flies -
hung like a whore -
im live -
in focus girls -
inter mixed -
in the vip -
i spy camel toe -
its just chocolate -
jake bustsnuts -
knob squad -
kung pao pussy -
lesbian teen hunter -
little coco -
max hardcore porn -
mike in brazil -
milf hunter -
milf lessons -
milf next door -
miss pain -
money talks -
monsters of cock -
mr big dicks hot chicks -
mr cameltoe -
mr chews asian beaver -
my first porn scene -
orgy ental -
ox pass -
panties and fannies -
papi -
pee lover -
penis palooza -
phat booty brazil -
phat booty hoes -
phat white booty -
pimp my black teen -
please bang my wife -
porn multi pass -
public invasion -
pussy foot girls -
pussy pinata -
real arizona amateurs -
reality pass plus -
real orgasms -
red ass teens -
round and brown -
round mound of ass -
sado slaves -
sammy4u -
sapphic erotica -
see her squirt -
she fucks guys -
street blowjobs -
street ranger -
summer time milf -
sweet auditions -
sweet loads -
taylor bow -
team squirt -
teenie video -
teeny bopper club -
the big swallow -
the dirty old man -
thugs and juggs -
tight buttholes -
tinys black adventures -
tranny surprise -
tug jobs -
vip crew -
we live together -
white slave whores -