Wednesday, May 23, 2007

CopyPixel is faster then Sprites?

As soon as you think you've come up with a pretty good way to do something you always find something better. So the other day I post a pretty fast AS3 example here on my blog and on the FlashKit forum. The example takes advantage of a couple performance techniques and seemed to work quite well.

Soon after my post, someone suggested giving it a shot using the copyPixels method on BitmapData to see if it gets faster. I wasn't sure of the results as the copyPixel examples I'd seen were generally really specific to tile engines or some such and not to lots of moving sprites.

So I figured I'd give it a shot. I ran into some trouble with the alpha channels initially but it's all working now and you can see it here:

http://www.electrotank.com/junk/mike/flash/copyPixel/

The performance is so much better and uses less code that it makes me sad. In short, I have arrow objects in memory to represent every arrow. In the render loop (onEnterFrame event) I update their positions/status and create new ones as needed. Once that's done, I create a new BitmapData, loop over all the arrows and use copyPixels from my sprite sheet onto the correct position of the new BitmapData. Finally, I take the new BitmapData, convert it to a bitmap and replace the old bitmap with the new one. That's it. No tricks for performance or anything and it flys.

One thing I don't understand though, in the previous engine (located here) the time spent in the onEnterFrame event is less (look at the "render" field on the right) but the frame rate is lower too. In the new model, the time in onEnterFrame is higher but the frame rate is higher as well. My thought, and this is a total guess, is that the copyPixels method has more code-execution overhead but produces something easily rendered while the pooling sprite approach is the opposite; small code overhead but lots of objects to render.


Sadly, this would mean that you need to choose your approach on what you are trying to do. If you need lots of available horsepower for code, then use pooling. If you need lots of objects then use copyPixels. Obviously this is a generalization but you get the picture. Anyways, have fun!

113 comments:

Yohami said...

hey Mike,

I followed your experiment and did some tests with 200 png animated sprites over an animated background. The results are kinda confusing.

-----------

MOVIECLIP TEST, 31 fps

The sprites are movieclips, 18 frames long, every frame contains a different png. The background is a really big image animated with a tween.

-----------

COPYPIXELS, PURE TEST, 23 fps

I have a 640x480 canvas bitmapdata. I have a single offscreen png which contains all 18 frames of the sprites animation. I bitmap-cached the offscreen background animation into an array. Then, onEnterFrame, I copy pixels from the background and every one of the sprite objects and paste them in the big bitmapdata. I tried removing and creating that bitmapdata each time but it got slower, so Im writing to the same bitmapdata all the time. The result is disapointing.


----------------

COPYPIXELS2, MIXED TEST, 31 fps

Here I have a Sprite for each sprite, each contains a bitmap, each contains a bitmapdata which gets its pixels from the same png instance. I guess this would be faster than having vector animated movieclips, but it seems theres no improvement for png-animated movieclips

----------------------

CONCLUSION?

I am probably going to cache bitmapdatas in arrays and use them with single sprites only when I use vector animation.

Copypixelling to a single bitmapdata didnt improve the speed... or maybe Im doing something wrong so I will do a few more tests.

The other thing that worries me about copypixelling to a single bitmapdata is I cant alter the pixel dimensions with a transform matrix, so I cant incorporate this rendering method to a 3D engine

-------

Here are the files in case you want to peek

www.cublogames.com/copyPixels.rar

Here is the game I did and Im trying to optimize www.stardustmovie.com

Best,
Yohami

Mark Fennell said...

Nice test Mike, any chance of a peek at the source, I'd like to get my head around this copy pixels stuff! :D

SteveM said...

Just turn on Show Redraw Regions and you can see that the copyPixels method does a lot less work... the trick is that it's less work on one side of the equation. If your demo was something different, I would imagine quite different results (potentially).

neoRiley said...

I'm working with a client right now, who's CPU is soaring who's drawing all pixels to one container. Now, he's drawing the full browser area (not fullscreen, just the entire area - so if the browser area was 1400x700, they're drawing that entire area on every frame.

I've done a bunch of tests to prove that letting the player decide redraw regions was actually the way to go for better performance. It seems obvious that a Flash player that's optimized for raster handling and pixel management (redraw regions), would be faster than a JIT/AS3 replacement in using copyPixel where you have no way of deciding which area to draw (IE: not draw the entire screen every itteration).

I've seen a couple of posts around the web that indicate that the player assessing redraw regions makes it slower. But every test I've done and from what I know, this seems crazy to me.

Can someone put a technical light on "why" they think redraw regions from the player (running at the machine code level) would be slower than a JIT/AS3 copyPixel operation redrawing the entire area?

I appreciate this post very much, there's very little information/tests out there ;)

John Grden

neoRiley said...

PS> your link is broken for the sample. Says that I can't browse the directory - maybe index.html is missing?

Mike Grundvig said...

Oops, fixed the broken links, just needed to set the default page in those directories to index.html.

As for the redraw regions - I don't have a real answer. I just know that the fastest performance people are getting out of AS3 right now is running CopyPixel operations onto a stage clip. Now implementing your own redraw regions would probably speed things up a bit. Have fun!

neoRiley said...

Well, I think the issue is however, if you're drawing all pixels of the entire stage area, then you're circumventing what the flash player is actually good at - deciding with pixels need updating. If you're just moving objects around and only those regions are affected, the flash player is still making decisions on what to draw/when since you're not updating the entire stage area - right? I mean, you ultimately have to draw to a Sprite container with copyPixel and at that point, the Flash Render engine takes over and draws just that area.

Mike Grundvig said...

I agree with you in theory, but thus far taking it over ourselves and rendering it all with copy pixel is faster in practice. I'd love for someone to come up with a better way.

If you want to just try moving sprites around and let Flash handle it, you will see how much slower it is. There are several examples on the web showing that already and I have one using "object pooling" and it is slower too. In those cases, Flash is handling the redraw regions and rendering.

tonypee said...

how are you rotating the aarow? is the Aarow sprite a sequence of bitmaps.. each a little more rotated - or are you drawing the vector content to a bitmap - or something else?

flash game programming said...

hey

Really nice tips!

will try to keep it in my mind

thanks!

Dave said...

Very cool. Are you re-drawing the entire screen every frame? I'm using copypixels() to draw the background, then all the objects. But I'm not getting near the performance you are! Can you please post the source? That would be awesome, or better discuss it line by line? eek! Would be great for us copypixel noobs. Thanks!

Oz said...

I noticed I your post that you are creating a new bitmapdata every frame. That sounds like a big and unnecessary overhead since calling new BitmapData() every frame is a time waster (and don't forget about the time wasted in garbage collection) . Have you tried using fillrect to just clear the working bitmapdata? Also do you use lock() and unlock()?

Anonymous said...

Now do you worried about that in the game do not had enough 2moons dil to play the game, now you can not worried, my friend told me a website, in here you can buy a lot 2moons gold and only spend a little money, do not hesitate, it was really, in here we had much 2moon dil, we can sure that you will get the cheap 2moons gold, quick to come here to buy 2moons dil.

Now do you worried about that in the game do not had enough 9Dragons gold to play the game, now you can not worried, my friend told me a website, in here you can buy a lot 9 Dragons gold and only spend a little money, do not hesitate, it was really, in here we had much 9Dragons money, we can sure that you will get the cheap 9Dragons gold, quick to come here to buy 9 Dragons gold.

Anonymous said...

Now do you worried about that in the game do not had enough aion kina to play the game, now you can not worried, my friend told me a website, in here you can buy a lot aion online kina and only spend a little money, do not hesitate, it was really, in here we had much aion gold, we can sure that you will get the cheap aion kina, quick to come here to buy aion kina.

Now do you worried about that in the game do not had enough aion kina to play the game, now you can not worried, my friend told me a website, in here you can buy a lot aion online kina and only spend a little money, do not hesitate, it was really, in here we had much aion gold, we can sure that you will get the cheap aion kina, quick to come here to buy aion kina.

Aion china gold said...

I like play online game, I also buy Aion gold and Aion gold, the Aion china gold is very cheap, and use the Aion China kina can buy many things, I like Aion chinese gold, thanks, it is very good.

Anonymous said...

29047126483369175 I play dofus Replica Watches for one year, I Replica Rolex Watches want to get some Replica Watch kamas to buy Replica Chanel Watches item for my character. So, I search "Replica Swiss Watches" on google and found many website. As Exact Replica Graham Watch the tips from the forum, I just review the Swiss Replica Watches websites and choose some Replica Montblanc Watches quality sites to Replica Cartier Watches compare the price, and go to their Replica Breguet Watches online support to make Replica Breitling Watches the test. And Last Chaos Gold I decide to use Replica BRM Watch at the end. And Tag Heuer Replica Watch that is the Replica IWC Watch beginning..

Adi said...

Oes Tsetnoc | Mengembalikan Jati Diri Bangsa | Kenali dan Kunjungi Objek Wisata di Pandeglang | Oes tsetnoc | Online Marketing | Electronics Gadgets | etips solution | Travel Guide

Edwin said...

Buy Kamagra
Earn Google
Viagra Cialis
Cheap Kamagra
Cheap Viagra
Cheap Cialis
Make Money on Google
M65 Jacket
M65 Field Jacket
Airline Dog Carrier
Airline Dog Carriers
Viagra Cialis
Earn Google
Airline Dog Carrier
Airline Dog Carriers
Airline Approved Dog Carriers
ED Hardy Wholesale
Copy DVD Software
How to Send Fax
14k Yellow Gold
Redneck Costume
14k Gold Heart
Tandem Baby Stroller

dove said...

Cheap Beats By Dre
Cheap Monster Beats
Cheap Dr Dre Beats Sale
Monster Beats Outlet

ilizyonist said...

Travesti Siteleri,
Travesti,
İstanbul Travestileri,
Ankara Travestileri,
İstanbul Travestileri,
Antalya Travestileri,
Bursa Travestileri,
İzmir Travestileri,
Kocaeli Travestileri,
Gaziantep Travestileri,
Travesti,
Kayseri Travestileri,
Travesti,
Escort,
Jigolo,
Escort,
Ankara Escort,
İzmir Escort,

ilizyonist said...

Escort Bayan ilanları,
porno izle,
sikiş izle,
travesti video,
Escort Bayan,
travesti videoları,
travesti videoları izle,
seks izle,
Travesti,
Travesti Radyo,
Travesti,
Escort Bayan,
Ankara Travestileri,
İzmir Travestileri,
Bursa Travestileri,
Mersin Travestileri,
Antalya Travestileri,
Travesti,
Travesti Resimleri,
Travesti,
Travesti Radyo,
Travesti,

ilizyonist said...

Escort Bayan,
Ankara Escort Bayan,
Bayan Escort,
Ankara Escort Bayan,
Escort Bayan,
İzmir Escort Bayan,
Escort Bayan,
Travesti,
Escort Bayan Partner,
Bayan escort partner,
masöz,
masör,
masaj salonları,
escort bayan,
Escort Web Tasarım,
Web Tasarım,
Ankara Escort Harika,
escort bayan,
bayan escort,
Eskort Bayan,
Escort Bayan,

ilizyonist said...

trabzon Escort Bayan,
İstanbul Travestileri,
Escort Bayan,
Travesti,
Escort Bayan Ankara,
Escort Bayan İstanbul,
Travesti,
Escort Bayan İstanbul,
Escort Bayan,
Ankara Escort Bayan,
Escort Bayan,
Ankara Escort,
Ankara Escort Görkem,
Escort Bayan,
Escort Bayan,
Escort Bayan,
Escort Bayan,

ilizyonist said...

Travesti,
Escort Bayan,
Travesti,
Escort Bayan,
Adana Escort Bayan,Ankara Escort Bayan,
Antalya Escort Bayan,istanbul anadolu yakası Escort Bayan,
istanbul avrupa yakası Escort Bayan,
Bursa Escort Bayan,
izmir Escort Bayan,
Kayseri Escort Bayan,

first years wave stroller said...

I can't seem to get my head around this copy pixels stuff. I would love to see more posts on this topic sometime if its not too much trouble.

Sandra Dener
Parant Councellor
First Years Wave Stroller

how to have self confidence said...

I have no self confidence doing this stuff mike. i can't seem to get it!!!

Cure ear infection said...

Your post is really good .
Home remedies for cough Ear wax removal
Home remedies for pneumonia Home remedies for boils Raw food diet Toenail fungus infection Health benefits of almonds Top fertility foods Common digestive disorders Common digestive system diseases and disorders Migraine headache Home remedies for common fever Home remedies for itching Home remedies for burns Cure ear infectionCommon digestive disorders Common digestive system diseases and disorders Top fertility foods Smooth and glowing skin

boilx said...

I can't seem to get my head around this stuff Mike. it's a little confusing to me.

Phillip Morris
Liverpool University
boilx @ treatment for boils

natural remedies for hot flashes said...

Yes i agree with the above poster, it is difficult for me to get my head around this also. I review Natural remedies for hot flashes so it's not really my forte.

teralifeonline said...

buy eden gold
Runescape gold
buy Runescape gold

отели в барселоне said...

It won't work in actual fact, that's exactly what I suppose.

partner ara said...

I followed your experiment and did some tests with 200 png animated sprites over an animated background. The results are kinda confusing Toptan mal satışı Yapan Bütün Toptancıların Buluştuğu bir borsa toptan mallar satmak ve isteyen herkes aradığını burada bulabilir : toptan

Online film dizi belgesel seyredebileceğiniz sinema kaçırdığınız tv programları nı sitemizden izleyebilirsiniz. Online film izle dizi dizi izle belgesel izle, sinema, sinema izle, kaçırdığınız tv programları : korku filmleri izle

Antalya otelleri istanbul ve Türkiye geneli Oteller, Pansiyonlar ve Tatil köyleri için online rezervasyon. Tatil turları tatil paketleri fiyatları hakkında bilgiler otel, oteller, otelleri, pansiyon, pansiyonlar, pansiyonları, tur, turlar, turları, hotels, hotel tatil rehberi, online rezarvasyon : oteller

jigolo ankara, jigolo izmir, jigolo siteleri, kiralık jigolo, jigolo arıyorum, rentboy, jigolo partner, jigola, gigolo
jigolo olmak, jigolo arayan bayanlar, jigolo arayan kadınlar, jigololuk, jigolo, jigololar, jigolo katalog, jigololuk jigolo

Bayan escortlar istanbul ankara, İzmir, escort istanbul ve Antalya da resimli eskort kadınlar gecelik telekızlar. Türkiye eskort servisi ajansı bayanlar : escort ataşehir

escort kızlar ankara
Ankara escort bayan ilan siteleri, Ankara partner kızlar eskort Ankara masaj salonları. Escort Ankara bayan ilanları eskort kızların telefon numaraları, Masöz kızlar Ankara escort bayan ilan Platformu University : escort


Travesti siteleri travestiler, travesti ilanları, shemale gay transexüel escortlar travesti İstanbul, Ankara, İzmir, Bursa trv tro siteleri travesti arama ve ilan platformu.

travesti travesti siteleri travesti ilanları, shemale gay transexüel tro trv travesti İstanbul travesti Ankara, travesti İzmir travesti Bursa.
travesti izmir

Steel building said...

This was really a fascinating subject, I am very lucky to have the ability to come to your weblog and
I will bookmark this page in order that I might come back one other time.
Steel building

mirandatang787 said...

Debt Factoring is the most effective way to stabilize cash flow for your business. Find more information on debt factoring


http://www.debt-factoring-express.com/

Remote Earn said...

cosmetic dentists las vegas
invisalign las vegas
cosmetic dentistry las vegas
las vegas dental implant
las vegas cosmetic dental
las vegas dental implants
las vegas denture
las vegas dentures
las vegas implant dentistry
las vegas cosmetic dental care
henderson dentures
sedation dentistry las vegas
las vegas implant dentist
las vegas sedation dentist
las vegas cosmetic dentists
denture repair las vegas
cosmetic dentist las vegas
henderson invisalign
dental implants in las vegas
henderson invisalign dentist
las vegas nevada dentures
las vegas nevada cosmetic dentist
las vegas nevada cosmetic dentistry
henderson sedation dentistry
las vegas nevada dental implants
las vegas invisalign dentist
las vegas sedation dental
cosmetic dentist in las vegas
las vegas nevada implant dentist
las vegas nevada cosmetic dental care
cosmetic dentistry in las vegas
henderson cosmetic dentist
dentures las vegas nv
las vegas nevada implant dentistry
las vegas nv cosmetic dentistry
las vegas sedation dentists
henderson sedation dentist
henderson cosmetic dentistry
dentures in las vegas
las vegas nv dental implants

playhouse plans said...

"Thanks for sharing such a great post. You may want to learn enchanting leveling guide or get in shape with led vs lcd or getting to know on Canon 550d
"

how to get a girls number said...

"Thanks for sharing such a great post. You may want to learn wow enchanting guide or get in shape with p90x or getting to know on what do you need for p90x

Tarzana dental implants said...

Thanks for sharing such a great post. Doctor Maytesyan Dental - Tarzana, Encino,Woodland Hills,Implant&Braces
Tarzana teeth braces
Sherman Oaks teeth braces
Encino teeth braces

P90X said...

"Thanks for sharing such a great post. You may want to learn wow enchanting guide or get in shape with p90x or getting to know on what do you need for p90x"

mydesertdenta said...

A. Desert Dental:
cosmetic dentists las vegas
invisalign las vegas
cosmetic dentistry las vegas
las vegas dental implant
las vegas dental implants
las vegas dental implants
las vegas denture
las vegas dentures
las vegas implant dentistry
las vegas cosmetic dental care

B. Desert Dental:
henderson dentures
sedation dentistry las vegas
las vegas implant dentist
las vegas sedation dentist
las vegas cosmetic dentists
denture repair las vegas
cosmetic dentist las vegas
henderson invisalign
dental implants in las vegas
henderson invisalign dentist

mydesertdenta said...

C. Desert Dental:
las vegas nevada dentures
las vegas nevada cosmetic dentist
las vegas nevada cosmetic dentistry
henderson sedation dentistry
las vegas nevada dental implants
las vegas invisalign dentist
las vegas sedation dental
cosmetic dentist in las vegas
las vegas nevada implant dentist
las vegas nevada cosmetic dental care

D. Desert Dental:
cosmetic dentistry in las vegas
henderson cosmetic dentist
dentures las vegas nv
las vegas nevada implant dentistry
las vegas sedation dentists
las vegas sedation dentists
henderson sedation dentist
henderson cosmetic dentistry
dentures in las vegas
las vegas nv dental implants

personal statement said...

Thank u for the great idea u have given here. We are looking for an Expert Proofreading at Reasonable Prices. Contact Us_ Expert Proofreading at Reasonable Prices
essay editing
http://www.myessaypro.com/

dramik said...

Thanks for your great post. It's very helpful.
Sherman Oaks Cosmetic Dentistry
Encino Cosmetic Dentistry
Tarzana teeth braces
Sherman Oaks teeth braces
Encino teeth braces

C3 Admission Advising said...

college consulting

araç kiralama said...

public lectures and events featuring world renowned figures since January 2012. You can listen to them or download them here

escort ankara said...

Ankara Escort,
Ankara Escort,
Ankara Escort,
Ankara Escort,
Escort Ankara,
Escort Ankara,
Escort Ankara,
Escort Ankara,
Escort Bayan Ankara,
Escort Bayan Ankara,
Escort Bayan Ankara,
Escort Bayan Ankara,
Escort Ankara,
Ankara Escort,
Escort Bayan Ankara,
Escort Ankara,
Ankara Escort,
Escort Bayan Ankara,
Ankara Escort,
Escort Ankara,
Escort Bayan Ankara,

best acne treatment said...

Thank you for an additional good post. Exactly where else could anybody get that kind of information and facts in these a perfect way of writing? I’ve a presentation subsequent week, and I’m around the appear for like facts.

escort ankara said...

Ankara Escort,
Escort Ankara,
Escort Bayan Ankara,
Escort Ankara,
Ankara Escort,
Escort Bayan Ankara,
Escort Ankara,
Ankara Escort,
Escort Bayan Ankara,
Escort Ankara,
Ankara Escort,
Escort Bayan Ankara,
Ankara Escort,
Escort Ankara,
Escort Bayan Ankara,

escort ankara said...

Ankara Escort,
Ankara Escort,
Ankara Escort,
Ankara Escort,
Escort Ankara,
Escort Ankara,
Escort Ankara,
Escort Ankara,
Escort Bayan Ankara,
Escort Bayan Ankara,
Escort Bayan Ankara,
Escort Bayan Ankara,
Escort Ankara,
Ankara Escort,
Escort Bayan Ankara,
Escort Ankara,
Ankara Escort,
Escort Bayan Ankara,
Ankara Escort,
Escort Ankara,
Escort Bayan Ankara,
Ankara Escort,
Escort Ankara,
Escort Bayan Ankara,

wristbands said...

I just started posting comments for blog and facing problem of lots of rejections. I think your suggestion would be helpful for me. I will let you know if its work for me too. Thanks for sharing.

Patch Panels said...

The next time I read a blog, I hope that it doesnt disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought youd have something interesting to say. All I hear is a bunch of whining about something that you could fix if you werent too busy looking for attention

Under Armour T-shirts said...

I was surfing net and fortunately came across this site and found very interesting stuff here. Its really fun to read. I enjoyed a lot. Thanks for sharing this wonderful information.

Canadian Maple Leaf said...

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I'll be subscribing to your feed and I hope you post again soon.

wedding bands said...

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I'll be subscribing to your feed and I hope you post again soon.

kaney said...

Boils are a painful, embarrassing condition that afflict millions of people around the world. Some people with boils are so influenced by the condition that the change their lifestyle in some very negative ways. Some cover up their skin, others refuse physical contact with anybody and in some extreme cases, people with boils refuse to leave their homes. In this article we discuss effective ways to treat boils.

Mag Glycinate Multigenics Intensive Care

acupuncture for weight loss said...

Outstanding article, all of this is quite similar to a site that I publish. Please check it out sometime and feel free to leave me a comenet on it and tell me what you think. I'm always looking for feedback.

Mothers Family Necklace said...

Thanks for the great piece of sharing.I have already bookmarked your blog for future references.The article was really great and that smart phone was very good looking.I am planning to buy a new phone ,so why not try the one I see here...

plus size lingerie said...

Thanks for the great piece of sharing.I have already bookmarked your blog for future references.The article was really great and that smart phone was very good looking.I am planning to buy a new phone ,so why not try the one I see here...

mail forwarding said...

A very good and informative article indeed . It helps me a lot to enhance my knowledge, I really like the way the writer presented his views.

compression leggings said...

Whether desirable results can be achieved for youth development indeed depends on the support and efforts of all of us.May peace and love fill your heart, beauty fill your world, and contentment and joy fill your days!

Counter Strike Online said...

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I'll be subscribing to your feed and I hope you post again soon.

escort ankara said...

Escort Ankara,
Escort Bayan,
Escort Bayan Ankara,
Ankara Escort,
Escort Ankara
Escort Ankara,
Ankara Escort,
Escort Bayan Ankara,
Ankara Escort,
Escort Ankara Bayan,
Escort Bayan Ankara,
Ankara Escort,
Escort Bayan Ankara,
Escort Ankara,
Escort Ankara,
Escort Bayan Ankara,
Ankara Escort,

Nakliyeci said...

uçak bileti
herbalife
wordpress indir
sex shop
magna rx

London Crumpet said...

London escorts directory London Crumpet is created to expose Independent escorts and escort agencies in London. Everybody can post their advert on this directory for FREE.

london girl said...

London Asian Escorts is an Asian and Oriental escort agency operating in Central London. The agency provides escort service for a true gentlemen.

Win Clothes said...

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I'll be subscribing to your feed and I hope you post again soon.

Donna Christensen said...

Thank You Admin for such a Great Post. We the biggest picasso face painter and face painter VA and face painter Hampton Roads serving in the Virginia Area. We Offer Face Painting, Belly Bumps, Glitter Tattoo and Theatrical Makeup with Reasonable Prices.
Thank You Admin for such a Great Post. We the biggest face painter Williamsburg and face painter Chesapeake serving in the Virginia Area. We Offer Face Painting, Belly Bumps, Glitter Tattoo and Theatrical Makeup with Reasonable Prices.
Thank You Admin for such a Great Post. We the biggest face painter and body painter serving in the Virginia Area. We Offer Face Painting, Belly Bumps, virginia face painter serving in the Virginia Area. We Offer glitter tattoo and theatrical makeup with Reasonable Prices.

Solinteg Groupe Conseil said...

Thanks for the Great Post. Groupe Conseil Solinteg can support -

office 365 , ms office 365 , cloud services , ms cloud services , sharepoint online , ms sharepoint online , exchange online , ms exchange online , lync online , ms lync online , cloud services montreal , infonuagique montreal , microsoft crm montreal , microsoft crm montreal , windows intune , microsoft product montreal

and many more services and product from Microsoft Corporation. Thanks.

Craig Chilvers said...

I just wanted to leave a comment to say that I enjoy your blog. Looking at the number of comments, I see others feel the same way! Congratulations on a very popular blog.

Car finance repayments

escort bayan ankara said...

As for the redraw regions - I don't have a real answer. I just know that the fastest performance people are getting out of AS3 right now is running CopyPixel operations onto a stage clip. Now implementing your own redraw regions would probably speed things up a bit. Have fun!

escort ankara said...

escort bayan nakara ilan sietsinde ankara eryaman escort, ilanlarına ulaşabilirsiniz.

Kama Life Styles said...

Thanks for the nice post. This is a Nice Blog. Do you know.. How To Be More Confident A number of men need tips and advice on how to be more confident with women. Women adore confident men who believe in their own abilities and themselves. Kama Lifestyles dating coaching specialises in teaching men how to be confident.It doesn’t depend on personal traits and characteristics, but can be learned by anyone. It does, however, take some work to turn negative thoughts and behaviours into something positive, and no one can do the work but the man who needs to change his attitude.

Knowledge Plus Australia said...

Thanks for the Great Post. Knowledge Plus is a Registered Training Organisation. training provider australia, certificate iv in business australia, diploma qualifications australia, elearning australia diploma qualifications australia and many more Training and Supports.

fast hemorrhoids relief said...

Thanks for the great piece of sharing.I have already bookmarked your blog for future references.The article was really great and that smart phone was very good looking.I am planning to buy a new phone ,so why not try the one I see here...

kuku fashion australia said...

WOW!, Thanks for the nice Blog. This is really Fantastic. Enjoy online fashion shopping with us! We are- Kuku fashion Australia, with Kuku, Kuku dress, kuku dresses, Kuku fashion, Mad Love stockist, mad love fashion, Toi et Moi online, Toi et Moi jacket. Thanks for staying with us.

buy youtube views said...

Whether desirable results can be achieved for youth development indeed depends on the support and efforts of all of us.May peace and love fill your heart, beauty fill your world, and contentment and joy fill your days!

escort ankara said...

Hi, Thank you write.
to share is Escort Bayan Ankara thank you share.
good site admin


Ankara Escort
Escort Ankara
Ankara Escort Bayan
Escort Bayan Ankara
Escort Ankara Bayan
Ankara Escort
Escort Ankara
Ankara Escort Bayan
Escort Bayan Ankara
Escort Ankara Bayan

escort ankara said...

Hi, Thank you write.
to share is Escort Bayan Ankara thank you share.
good site admin


Ankara Escort
Escort Ankara
Ankara Escort Bayan
Escort Bayan Ankara
Escort Ankara Bayan
Ankara Escort
Escort Ankara
Bursa Escort
Escort Bayan Ankara
Escort Bursa
Escort Bayan Bursa
Ankara Escort
Escort Ankara
Ankara Escort Bayan
Escort Bayan Ankara
Escort Ankara Bayan
Ankara Escort
Escort Bayan Ankara
Escort Ankara

newport news hyundai said...

I will bookmark your blog because your posts are very informative. We appreciate your posts and look forward to coming back. Thanks for sharing this. Keep it up.

escort ankara said...

Hi, Thank you write.
to share is Ankara Escort thank you share.
good site admin


Ankara Escort
Escort Ankara
Ankara Escort

http://www.bathroomvesselsinks.com said...

Thank you for another fantastic posting. Where else could anyone get that kind of information in such a perfect way of writing? I have a speech next week, and I was looking for more info ;)

green products said...

Thanks for the Great Post. We want a Green earth for LIVE, why we need- green home, green products, green product, buy green, eco friendly products, environmental products, eco green products, environmentally friendly products. Thank you for staying with us.

buy facebook votes said...

I usually don't comment on blogs but this blog inspired me to make one compliment as I know it's not enough for the meaningful context in your writing as one could understand it easily. Thanks for sharing.

escort ankara said...

Hi, Thank you write.
to share is Ankara Escort thank you share.
good site admin


Escort Ankara
Escort Ankara
Ankara Escort
Ankara Escort
Escort Ankara
Escort Ankara
Ankara Escort
Escort Ankara
Ankara Escort
Escort Bayan Ankara
Escort Bayan Ankara
Ankara Escort
Escort Ankara
Escort Ankara
Escort Ankara
Ankara Escort

golf stayz said...

Very interesting discussion glad that I came across such informative post. Keep up the good work friend. Glad to be part of your net community.

Gold coast golf

Travesti said...

Travesti
Ankara Travesti
İstanbul Travesti
Escort
Ankara Escort
Bayan Escort
Bayan Escort Ankara
Ankara Escort Kızlar
Ankara Escort Kızlar

london escort said...

Thanks for this great share. This site is a fantastic resource.

Branding Brisbane said...

I really loved reading your blog. It was very well authored and easy to understand. Unlike additional blogs I have read which are really not good. I also found your posts very interesting. In fact after reading, I had to go show it to my friend and he enjoyed it as well

Marsha said...

What namely you're saying is a terrible blunder.

http://www.best-essay.info/ said...

I am very enjoyed for this blog. Its an informative topic. It help me very much to solve some problems. Its opportunity are so fantastic and working style so speedy. I think it may be help all of you. Thanks a lot for enjoying this beauty blog with me. I am appreciating it very much! Looking forward to another great blog. Good luck to the author! all the best!

london asian escorts said...

Your blog is really great! Your blog is great for anyone who wants to understand this subject more.

escort bayan said...

escort bayan
escort bayan

İbrahim said...

ibrahim saraçoğlu
seal
blogger indeks
saç ekimi
estetik
meme küçültme
liposuction
meme büyütme

Kaan Tekin said...

escort

escort bayanlar

escort bayan

bayan escort

bayan escortlar


escort

escort bayanlar

escort bayan


escort istanbul

escort bayanlar istanbul

escort bayan


bayan escort

bayan escortlar

escort istanbul

escort bayanlar istanbul

escort bayan istanbul

Kaan Tekin said...

kalıcı makyaj

ipek kirpik

kuaför

Spanx said...

Thank you for an additional good post. Exactly where else could anybody get that kind of information and facts in these a perfect way of writing? I’ve a presentation subsequent week, and I’m around the appear for like facts.

help for nonprofits said...

Very worthwhile internet site. I just got practically nothing to do and so I am just killing time searching the web and I think that I've got located some very practical web-site. Thanks a lot

Antalya Escort said...

Travestilere Özel Kampanya... www.antalyaescortmodel.com escort tanıtım sitemiz yogun talepler üzerine Antalya escort Travesti Katogorisini acarak siz antalyalılara sunmuş bulunmaktayız Antalyanın Elit Traveestilerinın yer alacağı Antalya escort Model Tanıtım sitemizde İlan başvuruları için sitemizi ziyaret edebilirsiniz....

fgdg said...

The bravery of each bull is then rated with care according to the number of times he demonstrates his willingness to charge in spite of the sting of the blade Runescape gp, Henceforth will I recognize that each day I am tested by life in like manner. If I persist, if I continue to try, if I continue to charge forward, I will succeed rs gp, Your future depends on your dreams Runescape2 Gold. So go to sleep. Do not keep anything for a special occasion..

fgdg said...

The past is gone and static. Nothing we can do will change it.scarlet blade gold, the future is before us and dynamic. Everything we do will affect it rs gold, You laugh at mescarlet blade gold for being different , but I laugh at you for being the same.

Powercom RF2 said...

Great publish ! I want to learn if you update your blog, can anyone help me subscribe for your weblog?.The idea aided me a good deal. I was little bit aware of that but your post p
rovided apparent thought

bedouin dubai desert said...

This is really good site and it's looking so nice...I love this site.. bedouin dubai desert .

Buy Youtube Comments said...


The blog was absolutely fantastic! Lot of great information which can be helpful in some or the other way. Keep updating the blog, looking forward for more contents.

Buy Youtube Comments

clipping path said...

This article is well written and full of useful information. This is exactly what I was looking for. I would like more information about this. I think you spend numerous effort and time updating your blog. I wanna appriciate you for this great effort. I had bookmarked your site and waiting for your next post. clipping path

Buy Vine Followers said...

I am so glad to see this post on your blog. It is highly informative and contains latest information on the discussed topic. Keep updating such types of posts on your blog

Clipping Path said...

It’s really extraordinary and informational blog such a good thinking. It's on a different issue but it has pretty much the same design and layout.

Antalya Escort said...

Antalya escort Travesti Katogorisini acarak siz antalyalılara sunmuş bulunmaktayız Antalyanın Elit Traveestilerinın yer alacağı Antalya escort Model Tanıtım sitemizde İlan başvuruları için sitemizi ziyaret edebilirsiniz....

antalya tabela said...

I am so glad to see this post on your blog. It is highly informative and contains latest information on the discussed topic. Keep updating such types of posts on your blog

antalya tabela said...

AntaThis page certainly has all of the info I wanted about this subject and didn’t know who to ask. Antalya Tabela

porno said...

porno

Ankara Kızlar said...

ankara escort,
escort ankara,

ankara escort,
escort ankara,

mersin escort,
izmir escort,
bursa escort,
bodrum escort,
seks hikayeler,

Clipping Path said...

I kind of disagree in some points you have mentioned, but overall was a good article. I would like you to share more about this experience in the future. Hope you get the best results.

adana escort said...

Adana escort adana eskort Adana escort