ADOBE FLASH PLATFORM için Performansı En İyileştirme
|
|
- Hande Hacıoğlu
- 8 yıl önce
- İzleme sayısı:
Transkript
1 ADOBE FLASH PLATFORM için Performansı En İyileştirme
2 Yasal bildirimler Yasal bildirimler Yasal bildirimler için bkz.
3 iii İçindekiler Bölüm 1: Giriş Çalışma zamanı kodunu çalıştırmanın temelleri Algılanan performans ile gerçek performansın karşılaştırılması En iyileştirmelerinizin hedefini belirleme Bölüm 2: Belleği saklama Görüntüleme nesneleri İlkel türler Nesneleri yeniden kullanma Belleği boşaltmak Bitmap'leri kullanma Filtreleri ve dinamik bitmap'i kaldırma Doğrudan mipmap oluşturma B efektlerini kullanma Metin nesneleri ve bellek Olay modeli ile geri aramaların karşılaştırması Bölüm 3: CPU kullanımını en aza indirme CPU kullanımı için Flash Player 10.1 geliştirmeleri Uyku modu Nesneleri dondurma ve çözme Olayları etkinleştirme ve devre dışı bırakma Fare etkileşimleri Zamanlayıcılarla ENTER_FRAME olaylarının karşılaştırılması Hareket arası oluşturma sendromu Bölüm 4: ActionScript 3.0 performansı Vector sınıfının Array sınıfıyla karşılaştırılması Çizim API'si Olayı dıştan içe ve içten dışa tetikleme Piksellerle çalışma Normal ifadeler Çeşitli en iyileştirmeler Bölüm 5: Performans oluşturma Yeniden çizilen bölgeler Sahne alanı dışındaki içerik Film kalitesi Alfa karıştırma Uygulama kare hızı Bitmap'leri önbelleğe alma Bitmap'leri elle önbelleğe alma Metin nesneleri oluşturma GPU
4 İçindekiler iv Eş zamanlı olmayan işlemler Saydam pencereler Vektör şekli düzleştirme Bölüm 6: Ağ etkileşimini en iyileştirme Ağ etkileşimi için geliştirmeler Harici içerik Girdi çıktı hataları Flash Remoting Gereksiz ağ işlemleri Bölüm 7: Medya ile çalışma Video StageVideo Ses Bölüm 8: SQL veritabanı performansı Veritabanı performansı için uygulama tasarımı Veritabanı dosyası en iyileştirmesi Gereksiz veritabanı çalışma zamanı işleme Etkili SQL sözdizimi SQL ifadesinin performansı Bölüm 9: Kıyaslama ve konuşlandırma Kıyaslama Dağıtma
5 1 Bölüm 1: Giriş Adobe AIR ve Adobe Flash Player uygulamaları, masaüstleri, mobil aygıtlar, tabletler ve televizyon aygıtları gibi birçok platformda çalışır. Bu belge, bu uygulamaları dağıtan geliştiriciler için en iyi çalışma biçimlerini ana hatlarıyla kod örnekleri ve kullanım durumları üzerinden anlatır. Konular şunlardır: Belleği saklama CPU kullanımını en aza indirme ActionScript 3.0 performansını geliştirme Oluşturma hızını artırma Ağ etkileşimini en iyileştirme Ses ve videoyla çalışma SQL veritabanı performansını en iyileştirme Uygulamaları kıyaslama ve konuşlandırma Bu en iyileştirmelerin çoğu, hem AIR çalışma zamanında hem de Flash Player çalışma zamanında tüm aygıtlardaki uygulamalar için geçerlidir. Belirli aygıtlar için eklemeler ve istisnalar da ele alınmaktadır. Bu en iyileştirmelerin bazıları, Flash Player 10.1 ve AIR 2.5'te sunulan yeteneklere odaklanır. Ancak bu en iyileştirmelerin çoğu, önceki AIR ve Flash Player sürümleri için de geçerlidir. Çalışma zamanı kodunu çalıştırmanın temelleri Uygulama performansının nasıl iyileştirileceğini anlamanın bir püf noktası da Flash Platform çalışma zamanının kodu nasıl çalıştırdığını anlamaktır. Çalışma zamanı, karelerin her birinde gerçekleşen belirli hareketlerle döngü içinde çalışır. Bu durumda, bir kare, uygulama için belirtilen kare hızının belirlediği basit bir zaman bloğudur. Karelerin her birine paylaştırılan süre doğrudan kare hızına karşılık gelir. Örneğin, saniyede 30 karelik bir kare hızı belirlerseniz, çalışma zamanı, her karenin bir saniyenin 30 da biri kadar sürmesini sağlamaya çalışır. Uygulamanızın ilk kare hızını geliştirme zamanında belirlersiniz. Kare hızını Adobe Flash Builder veya Flash Professional'daki ayarları kullanarak ayarlayabilirsiniz. Birinci kare hızını kodda da belirtebilirsiniz. Yalnızca ActionScript olan bir uygulamada, kare hızını kök belge sınıfınıza [SWF(frameRate="24")] meta veri etiketini uygulayarak ayarlayın. MXML de, Application veya WindowedApplication etiketindeki framerate niteliğini ayarlayın. Her kare döngüsü üç bölüme ayrılmış iki aşamadan oluşur: olaylar, enterframe olayı ve oluşturma. Birinci aşama iki bölüm içerir (olaylar ve enterframe olayı), ikisi de büyük olasılıkla kodunuzun çağrılmasıyla sonuçlanır. Birinci aşamanın ilk bölümünde, çalışma zamanı olayları gelir ve gönderilir. Bu olaylar, bir ağ üzerinden yapılan veri yüklemeden gelen bir yanıt gibi senkronize olmayan işlemlerin tamamlanmasını veya ilerlemesini temsil edebilir. Ayrıca, bu olaylar kullanıcı girdisinden gelen olayları da içerir. Çalışma zamanı, olaylar gönderilirken kodunuzu, kaydettirdiğiniz dinleyicilerde çalıştırır. Herhangi bir olay gerçekleşmezse, çalışma zamanı bu çalıştırma aşamasını herhangi bir işlem gerçekleştirmeden tamamlamayı bekler. Çalışma zamanı, bir etkinliğin olmamasından dolayı, kare hızını asla hızlandırmaz. Olaylar çalıştırma döngüsünün diğer bölümleri sırasında gerçekleşirse, çalışma zamanı bu olayları sıraya dizer ve bir sonraki karede gönderir.
6 Giriş 2 Birinci karenin ikinci bölümü enterframe olayıdır. Bu olay, her karede bir defa gönderildiği için diğerlerinden farklıdır. Tüm olaylar gönderildiğinde, kare döngüsünün oluşturma aşaması başlar. Bu noktada, çalışma zamanı ekranda görünür olan tüm öğelerin durumunu hesaplar ve bu öğeleri ekranda çizer. Ardından bu süreç, bir parkurun etrafından koşan bir koşucu gibi kendini tekrar eder. Not: Bir updateafterevent özelliğini içeren olaylar için, görüntü oluşturma oluşturma aşamasının başlamasını beklemeden zorla başlatılabilir. Ancak, sıklıkla performans sorunlarına neden oluyorsa, updateafterevent öğesini kullanmaktan kaçının. Kare döngüsündeki iki aşamanın eşit miktarda süre harcadığını düşünmek en kolay yoldur. Bu durumda, kare döngülerinin her birinin yarısı için, olay işleyicileri ve uygulama kodu çalışır ve diğer yarısı için oluşturma gerçekleşir. Ancak, gerçekte meydana gelen durum genellikle farklıdır. Bazen uygulama kodu, kendisine ayrılan süreyi uzatarak ve oluşturma için ayrılan süreyi kısaltarak karedeki kullanılabilir sürenin yarısından fazlasını alır. Özellikle de filtreler ve karıştırma modları gibi karmaşık görsel içeriğin olduğu başka durumlarda, oluşturma işlemi, kare hızının yarısından fazlasını gerektirir. Aşamaların kullandığı gerçek süre esnek olduğundan, kare döngüsü genellikle elastik parkur olarak bilinir. Kare döngüsü işlemlerinin bileşimi (kod çalıştırma ve oluşturma) fazla uzun sürerse, çalışma zamanı kare hızını koruyamaz. Kare, kendisine ayrılan süreden daha fazlasını alarak genişler, böylece bir sonraki kare tetiklenmeden önce bir gecikme olur. Örneğin, bir kare döngüsü saniyenin otuzda birinden daha uzun süre alıyorsa, çalışma zamanı ekranı 30 kare/sn hızında güncelleştiremez. Kare hızı yavaşladığında, kullanıcının deneyimi kötüleşir. En iyi durumda bile animasyon kesik olur. Daha kötü durumlarda, uygulama kilitlenir ve boş pencere görüntülenir. Flash Platform çalışma zamanı kodunu çalıştırmayla ve oluşturma modeliyle ilgili daha fazla ayrıntı için, aşağıdaki kaynakları inceleyin: Flash Player Mental Model - The Elastic Racetrack (Flash Player Zihin Modeli - Elastik Parkur) (makale Ted Patrick tarafından yazılmıştır) Asynchronous ActionScript Execution (ActionScript i Senkronize Olmayan Bir Şekilde Çalıştırma) (makale Trevor McCauley tarafından yazılmıştır) Adobe AIR'yi kod yürütme, bellek ve oluşturma için en iyi hale getirme: (Sean Christmann'ın MAX konferansındaki sunumunun videosu) Algılanan performans ile gerçek performansın karşılaştırılması Uygulamanızın iyi performans gösterip göstermediği konusunda en son kararı verecek kişiler, uygulamanın kullanıcılarıdır. Geliştiriciler, uygulamanın performansını belirli işlemlerin çalışmak için ne kadar süre gerektirdiği veya nesnelerin kaç tane örneğinin oluşturulduğuna göre ölçebilir. Ancak, bu ölçümler son kullanıcılar için önemli değildir. Bazen kullanıcılar performansı değişik kriterlere göre ölçerler. Örneğin, uygulama hızlı ve sorunsuz bir şekilde çalışıp girdilere hızlı bir şekilde yanıt veriyor mu? Sistem performansı üzerinde negatif bir etkisi var mı? Algılanan performansla ilgili sınama yapmak için kendinize aşağıdaki soruları sorun: Animasyonlar düzgün mü yoksa kesik mi? Video içeriği düzgün mü yoksa kesik mi görünüyor? Ses klipleri devamlı oynatılıyor mu, yoksa duraklatılıp devam mı ediyor?
7 Giriş 3 Uzun işlemler sırasında pencere titriyor mu veya boş görünüyor mu? Yazmaya başladığınızda, metin girişi yazma hızıma yetişiyor mu yoksa gecikiyor mu? Bir öğeyi tıklattığınızda hemen işlem gerçekleşiyor mu, yoksa gecikme mi var? Uygulama çalışırken CPU fanı daha fazla gürültü çıkarıyor mu? Uygulama bir dizüstü bilgisayarda veya mobil aygıtta çalıştırılırken, pil gücü hızla tükeniyor mu? Uygulama çalışırken diğer uygulamalar yavaş yanıt veriyor mu? Algılanan performans ve gerçek performansın arasındaki farklar önemlidir. En iyi algılanan performansı gerçekleştirmenin yolu her zaman mutlak en hızlı performansı sağlamakla aynı yol değildir. Uygulamanızın, çalışma zamanının sık sık ekranı güncelleme ve kullanıcı girdisi alma işlemlerini gerçekleştiremeyeceği kadar kod çalıştırmadığından emin olun. Bazı durumlarda bu dengeyi sağlamak için, bir program görevi parçalara ayrılabilir, böylece çalışma zamanı, parçaların arasında ekranı günceller. (Daha özel konularda yardım almak için bkz. Performans oluşturma sayfa 46.) Burada açıklanan ipuçları ve teknikler hem asıl kod çalıştırma performansını hem de kullanıcıların performansı algılayış biçimini iyileştirmeyi hedefler. En iyileştirmelerinizin hedefini belirleme Bazı performans geliştirmeleri kullanıcılar için fark edilebilir bir geliştirme oluşturmaz. Performans en iyileştirmelerini sizin belirli uygulamanızda sorun çıkaran alanlar üzerinde yoğunlaştırmanız önemlidir. Bazı performans en iyileştirmeleri genel olarak faydalı uygulamalardır ve her zaman takip edilebilir. Diğer en iyileştirmelerin kullanışlı olup olmadığı uygulamanızın gereksinimlerine ve öngörülen kullanıcı tabanına bağlıdır. Örneğin, herhangi bir animasyon, video veya grafik filtresi ve efekt kullanmazsanız uygulamalar her zaman daha iyi performans gösterir. Ancak, uygulama oluşturmak için Flash Platform kullanmanın nedenlerinden biri de zengin ve etkileyici uygulamalara olanak veren medya ve grafik özellikleridir. Uygulamada istediğiniz zenginlik düzeyinin uygulamanın çalıştığı makine ve aygıtların performans özellikleriyle uygun bir şekilde eşleşip eşleşmediğini düşünün. Bu konuda genel olarak verilebilecek iyi bir öneri en iyileştirme işlemini erken yapmaktan olabildiğince kaçınmak tır. Bazı performans en iyileştirmeleri, kodun daha zor okunacak veya daha az esnek bir şekilde yazılmasını gerektirir. Böyle kodlar, en iyileştirildiğinde, daha zor korunur. Bu en iyileştirmeler için, genelde kodu en iyileştirmeden önce bekleyip kodun belirli bir bölümünün başarısız performans gösterip göstermediğini belirlemek daha faydalıdır. Bazen, performansı iyileştirmek için bir denge kurmak gerekir. İdeal olarak, bir uygulama tarafından kullanılan belleği düşürmek, o uygulamanın bir görevi gerçekleştirme hızını arttırır. Ancak, ideal olan iyileştirme her zaman mümkün değildir. Örneğin, bir uygulama işlem sırasında kilitleniyorsa, çözüm genellikle işi birden fazla kare üzerinden çalıştırılacak şekilde bölmektir. İş ayrıldığından, genel olarak işlemin gerçekleşme süresinin uzaması mümkündür. Ancak, uygulama girdiye yanıt vermeye devam eder ve donmazsa kullanıcı bu ek zamanı fark etmeyebilir. Neyin en iyileştirileceği ve en iyileştirmelerin faydalı olup olmadığı konusunda fikir edinmeye ilişkin püf noktalarından biri performans testleri yapmaktır. Performansın test edilmesiyle ilgili çeşitli teknikler ve ipuçları Kıyaslama ve konuşlandırma sayfa 93 bölümünde açıklanmaktadır. Uygulamanın en iyileştirme için iyi birer aday olan parçalarının belirlenmesi hakkında daha fazla bilgi için aşağıdaki kaynakları inceleyin: AIR için performans ayarlama uygulamaları: (Oliver Goldman'ın MAX konferansındaki sunumunun videosu) Performans ayarlayan Adobe AIR uygulamaları: (Oliver Goldman'ın sunuma dayalı Adobe Developer Bağlantısı makalesi)
8 4 Bölüm 2: Belleği saklama Belleği saklamak, masaüstü uygulamalarında bile uygulama gelişimi açısından her zaman önemlidir. Ancak, mobil cihazlarda bellek tüketimi daha önemlidir ve uygulamanızın kullandığı bellek miktarını sınırlamakta fayda vardır. Görüntüleme nesneleri Uygun bir görüntüleme nesnesi seçin. ActionScript 3.0 büyük bir görüntüleme nesneleri kümesi içerir. Bellek kullanımını kısıtlamaya ilişkin en basit en iyileştirme ipuçlarından biri uygun bir görüntüleme nesnesi türü kullanmaktır. Etkileşimli olmayan basit şekiller için, Shape nesneleri kullanın. Bir zaman çizelgesi gerektirmeyen etkileşimli nesneler için, Sprite nesneleri kullanın. Bir zaman çizelgesi kullanan animasyonlar için, MovieClip nesneleri kullanın. Her zaman uygulamanız için en etkili nesne türünü seçin. Aşağıdaki kod farklı görüntüleme nesneleri için bellek kullanımını gösterir: trace(getsize(new Shape())); // output: 236 trace(getsize(new Sprite())); // output: 412 trace(getsize(new MovieClip())); // output: 440 getsize() yöntemi bir nesnenin bellekte kaç bayt kullandığını gösterir. MovieClip nesnesinin özelliklerine ihtiyaç yoksa basit Shape nesneleri yerine çoklu MovieClip nesnelerin kullanılması durumunda belleğin boşa kullanıldığını görebilirsiniz. İlkel türler Kodu değerlendirmek ve görev için en etkili nesneyi seçmek için getsize() yöntemini kullanın. String haricindeki tüm ilkel türler bellekte 4-8 bayt kullanır. Belleği ilkel bir tür için herhangi bir tür kullanarak en iyileştirmenin bir yolu yoktur.
9 Belleği saklama 5 // Primitive types var a:number; trace(getsize(a)); // output: 8 var b:int; trace(getsize(b)); // output: 4 var c:uint; trace(getsize(c)); // output: 4 var d:boolean; trace(getsize(d)); // output: 4 var e:string; trace(getsize(e)); // output: 4 64 bitlik bir değeri temsil eden bir Sayıya bir değer atanmadıysa, o sayıya ActionScript Virtual Machine (AVM) tarafından 8 bayt ayrılır. Diğer ilkel türlerin tümü 4 baytlık bölümler halinde saklanır. // Primitive types var a:number = 8; trace(getsize(a)); // output: 4 a = Number.MAX_VALUE; trace(getsize(a)); // output: 8 Davranış String türü için farklıdır. Ayrılan saklama miktarı String'in uzunluğuna bağlıdır. var name:string; trace(getsize(name)); // output: 4 name = ""; trace(getsize(name)); // output: 24 name = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularized in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."; trace(getsize(name)); // output: 1172 Kodu kıyaslamak ve görev için en etkili nesneyi seçmek için getsize() yöntemini kullanın.
10 Belleği saklama 6 Nesneleri yeniden kullanma Mümkünse, nesneleri yeniden oluşturmak yerine yeniden kullanın. Belleği en iyileştirmenin başka bir basit yolu nesneleri yeniden kullanmak ve mümkün olduğunda onları yeniden oluşturmaktan kaçınmaktır. Örneğin, bir döngüde, aşağıdaki kodu kullanmayın: const MAX_NUM:int = 18; const COLOR:uint = 0xCCCCCC; var area:rectangle; for (var:int = 0; i < MAX_NUM; i++) // Do not use the following code area = new Rectangle(i,0,1,10); mybitmapdata.fillrect(area,color); Her yinelemede yeni bir nesne yaratıldığından her döngü yinelemesinde Rectangle nesnesinin yeniden oluşturulması daha fazla bellek kullanır ve daha yavaştır. Aşağıdaki yaklaşımı kullanın: const MAX_NUM:int = 18; const COLOR:uint = 0xCCCCCC; // Create the rectangle outside the loop var area:rectangle = new Rectangle(0,0,1,10); for (var:int = 0; i < MAX_NUM; i++) area.x = i; mybitmapdata.fillrect(area,color); Önceki örnek daha ufak bir bellek etkisine sahip bir nesne kullandı. Bir sonraki örnek bir BitmapData nesnesi kullanarak daha büyük bellek tasarrufunu gösterir. Aşağıda bir döşeme efekti oluşturan kod bellek harcar: var myimage:bitmapdata; var mycontainer:bitmap; const MAX_NUM:int = 300; for (var i:int = 0; i< MAX_NUM; i++) // Create a 20 x 20 pixel bitmap, non-transparent myimage = new BitmapData(20,20,false,0xF0D062); // Create a container for each BitmapData instance mycontainer = new Bitmap(myImage); // Add it to the display list addchild(mycontainer); // Place each container mycontainer.x = (mycontainer.width + 8) * Math.round(i % 20); mycontainer.y = (mycontainer.height + 8) * int(i / 20);
11 Belleği saklama 7 Not: Pozitif değerler kullanırken, yuvarlanan değerin int öğesine dağıtılması Math.floor() yönteminin kullanılmasından çok daha hızlıdır. Aşağıdaki resim bitmap döşemenin sonucunu gösterir: Bitmap döşemenin sonucu En iyileştirilmiş bir sürüm birden fazla Bitmap örneği tarafından başvurulan ve aynı sonucu üreten tek bir BitmapData örneği oluşturur. // Create a single 20 x 20 pixel bitmap, non-transparent var myimage:bitmapdata = new BitmapData(20,20,false,0xF0D062); var mycontainer:bitmap; const MAX_NUM:int = 300; for (var i:int = 0; i< MAX_NUM; i++) // Create a container referencing the BitmapData instance mycontainer = new Bitmap(myImage); // Add it to the display list addchild(mycontainer); // Place each container mycontainer.x = (mycontainer.width + 8) * Math.round(i % 20); mycontainer.y = (mycontainer.height + 8) * int(i / 20); Bu yaklaşım yaklaşık 700 KB'lık bellek tasarrufu sağlar, bu da geleneksel bir mobil cihaz için önemli bir tasarruftur. Her bitmap kabı Bitmap özelliklerini kullanarak orijinal BitmapData örneğini değiştirmeden işlenebilir:
12 Belleği saklama 8 // Create a single 20 x 20 pixel bitmap, non-transparent var myimage:bitmapdata = new BitmapData(20,20,false,0xF0D062); var mycontainer:bitmap; const MAX_NUM:int = 300; for (var i:int = 0; i< MAX_NUM; i++) // Create a container referencing the BitmapData instance mycontainer = new Bitmap(myImage); // Add it to the DisplayList addchild(mycontainer); // Place each container mycontainer.x = (mycontainer.width + 8) * Math.round(i % 20); mycontainer.y = (mycontainer.height + 8) * int(i / 20); // Set a specific rotation, alpha, and depth mycontainer.rotation = Math.random()*360; mycontainer.alpha = Math.random(); mycontainer.scalex = mycontainer.scaley = Math.random(); Aşağıdaki resim bitmap dönüştürmelerinin sonucunu gösterir: Bitmap dönüştürmelerinin sonucu Daha fazla Yardım konusu Bitmap'leri önbelleğe alma sayfa 52
13 Belleği saklama 9 Nesne kuyruğu Mümkünse, nesne kuyruğu kullanın. Başka bir önemli en iyileştirmeye nesne kuyruğu adı verilir, nesne kuyruğu zaman içinde nesnelerin yeniden kullanımını içerir. Uygulamanızın başlatılması sırasında tanımlı bir sayıda nesne oluşturup onları bir Array veya Vector nesnesi gibi bir kuyruk içerisinde saklayabilirsiniz. Bir nesne ile gerçekleştirdiğiniz işlem tamamlandığında, onu işlemci kaynaklarını tüketmemesi için devre dışı bırakabilirsiniz ve karşılıklı başvuruları kaldırırsınız. Ancak başvuruların null değerine ayarlanması bu öğeyi çöp toplama için uygun hale getireceğinden bu işlemi gerçekleştiremezsiniz. Basitçe nesneyi kuyruğa geri koyarsınız ve yeni bir nesneye ihtiyaç duyduğunuzda geri alırsınız. Nesnelerin tekrar kullanılması, nesneleri örneklendirme ihtiyacını azaltır ve bu durum fazla çaba gerektirebilir. Bu ayrıca çöp toplayıcının uygulamanızı yavaşlatarak çalışma ihtimalini de düşürür. Aşağıdaki kod, nesne kuyruğu tekniğini gösterir: package import flash.display.sprite; public final class SpritePool private static var MAX_VALUE:uint; private static var GROWTH_VALUE:uint; private static var counter:uint; private static var pool:vector.<sprite>; private static var currentsprite:sprite; public static function initialize( maxpoolsize:uint, growthvalue:uint ):void MAX_VALUE = maxpoolsize; GROWTH_VALUE = growthvalue; counter = maxpoolsize; var i:uint = maxpoolsize; pool = new Vector.<Sprite>(MAX_VALUE); while( --i > -1 ) pool[i] = new Sprite();
14 Belleği saklama 10 public static function getsprite():sprite if ( counter > 0 ) return currentsprite = pool[--counter]; var i:uint = GROWTH_VALUE; while( --i > -1 ) pool.unshift ( new Sprite() ); counter = GROWTH_VALUE; return getsprite(); public static function disposesprite(disposedsprite:sprite):void pool[counter++] = disposedsprite; SpritePool sınıfı uygulamanın başlangıcında yeni nesnelerden oluşan bir kuyruk oluşturur. getsprite() yöntemi, bu nesnelerden örnekler döndürür ve disposesprite() yöntemi onları bırakır. Kod, kuyruk tamamen kullanıldığında onun büyümesine olanak verir. Ayrıca, kuyruk yorulduğunda yeni nesnelerin ayrılmayacağı sabit boyutlu bir kuyruk oluşturmak da mümkündür. Mümkünse, döngüler halinde yeni nesneler oluşturmaktan kaçının. Daha fazla bilgi için, bkz. Belleği boşaltmak sayfa 11. Aşağıdaki kod yeni örnekler almak için SpritePool sınıfını kullanır: const MAX_SPRITES:uint = 100; const GROWTH_VALUE:uint = MAX_SPRITES >> 1; const MAX_NUM:uint = 10; SpritePool.initialize ( MAX_SPRITES, GROWTH_VALUE ); var currentsprite:sprite; var container:sprite = SpritePool.getSprite(); addchild ( container ); for ( var i:int = 0; i< MAX_NUM; i++ ) for ( var j:int = 0; j< MAX_NUM; j++ ) currentsprite = SpritePool.getSprite(); currentsprite.graphics.beginfill ( 0x ); currentsprite.graphics.drawcircle ( 10, 10, 10 ); currentsprite.x = j * (currentsprite.width + 5); currentsprite.y = i * (currentsprite.width + 5); container.addchild ( currentsprite ); Aşağıdaki kod fare tıklatıldığında tüm görüntüleme nesnelerini görüntüleme nesnesinden kaldırır ve daha sonra onları başka bir görev için yeniden kullanır.
15 Belleği saklama 11 stage.addeventlistener ( MouseEvent.CLICK, removedots ); function removedots ( e:mouseevent ):void while (container.numchildren > 0 ) SpritePool.disposeSprite (container.removechildat(0) as Sprite ); Not: Kuyruk vektörü her zaman Sprite nesnelerine başvurur. Nesneyi bellekten tamamen kaldırmak isterseniz, size SpritePool sınıfında, kalan tüm başvuruları kaldıracak bir dispose() yöntemi gerekir. Belleği boşaltmak Çöp toplamanın tetiklenmesini sağlamak için nesnelere olan tüm başvuruları silin. Flash Player ın yayınlama sürümünde çöp toplayıcıyı doğrudan başlatamazsınız. Bir nesnenin çöp olarak toplandığından emin olmak için, nesneye yapılan tüm başvuruları silin. ActionScript 1.0 ve 2.0 da kullanılan eski delete operatörünün ActionScript 3.0 da farklı davrandığını unutmayın. Operatör yalnızca dinamik nesnelerin dinamik özelliklerini silmek için kullanılabilir. Not: Adobe AIR uygulamasında ve Flash Player ın hata ayıklayıcı sürümünde çöp toplayıcısını doğrudan çağırabilirsiniz. Örneğin, aşağıdaki kod bir Sprite başvurusunu null değerine ayarlar: var mysprite:sprite = new Sprite(); // Set the reference to null, so that the garbage collector removes // it from memory mysprite = null; Şunu unutmayın ki, bir nesnenin null değerine ayarlanması bellekten kaldırılacağı anlamına gelmez. Bazen kullanılabilir bellek yeterince düşük sayılmıyorsa çöp toplayıcı çalışmaz. Çöp toplama tahmin edilemez. Nesne silme yerine bellek ayırma işlemi çöp toplamayı tetikler. Çöp toplayıcı çalıştığında, henüz toplanmamış nesne grafikleri bulur. Grafiklerde birbirine başvuran nesneleri bularak etkin olmayan ancak uygulamanın artık kullanmadığı nesneleri algılar. Bu şekilde algılanan etkin olmayan nesneler silinir. Büyük uygulamalarda, bu işlem yoğun CPU kullanımına neden olabilir, performansı etkileyebilir ve uygulamada fark edilir bir yavaşlama meydana getirebilir. Mümkün olduğunca nesneleri yeniden kullanarak çöp toplamayı kısıtlamayı deneyin. Ayrıca, mümkün olduğunda, başvuruları null olarak ayarlayın, böylece çöp toplayıcı, nesneleri bulmak için daha az işleme zamanı harcar. Çöp toplama işlemini garanti sağlayan bir işlem olarak göz önünde bulundurun ve mümkünse her zaman nesne ömürlerini açık bir şekilde yönetin. Not: Bir görüntüleme nesnesine yapılan başvurunun null olarak ayarlanması, nesnenin donduğunu garantilemez. Nesne, çöp olarak toplanana kadar CPU döngülerini kullanmaya devam eder. Başvurusunu null olarak ayarlamadan önce nesnenizi düzgün şekilde devre dışı bıraktığınızdan emin olun. Çöp toplayıcı Adobe AIR de ve Flash Player ın hata ayıklayıcı sürümünde mevcut olan System.gc() yöntemi kullanılarak başlatılabilir. Adobe Flash Builder ile paketlenen profil oluşturucu, çöp toplayıcıyı el ile başlatmanıza olanak tanır. Çöp toplayıcıyı çalıştırmak uygulamanızın nasıl yanıt verdiğini ve nesnelerin bellekten doğru bir şekilde silinip silinmediğini görmenize olanak verir. Not: Bir nesne bir olay dinleyicisi olarak kullanılmışsa, başka bir nesne ona başvurabilir. Bu durumda, başvuruları null olarak ayarlamadan önce removeeventlistener() yöntemini kullanan olay dinleyicilerini kaldırın.
16 Belleği saklama 12 Neyse ki, bitmap'ler tarafından kullanılan bellek miktarı hızlı bir şekilde azaltılabilir. Örneğin, BitmapData sınıfı bir dispose() yöntemi içerir. Bir sonraki örnek 1.8 MB'lık bir BitmapData örneği oluşturur. Kullanımda olan geçerli bellek 1,8 MB'a çıkar ve System.totalMemory özelliği daha küçük bir değer döndürür: trace(system.totalmemory / 1024); // output: // Create a BitmapData instance var image:bitmapdata = new BitmapData(800, 600); trace(system.totalmemory / 1024); // output: Daha sonra, BitmapData bellekten elle kaldırılır (atılır) ve bellek kullanımı bir defa daha kontrol edilir: trace(system.totalmemory / 1024); // output: // Create a BitmapData instance var image:bitmapdata = new BitmapData(800, 600); trace(system.totalmemory / 1024); // output: image.dispose(); image = null; trace(system.totalmemory / 1024); // output: dispose() yöntemi pikselleri bellekten kaldırsa da, başvuru yine de onu tamamen bırakmak için null değerine ayarlanmalıdır. Belleğin hemen boşaltılması için artık bir BitmapData nesnesine ihtiyaç duymadığınızda her zaman dispose() yöntemini çağırın ve başvuruyu null değerine ayarlayın. Not: Flash Player 10.1 ve AIR 1.5.2, System sınıfında disposexml() adlı yeni bir yöntem sunar. Bu yöntem XML ağacını bir parametre olarak ileterek bir XML nesnesini anında çöp toplamaya uygun hale getirir. Daha fazla Yardım konusu Nesneleri dondurma ve çözme sayfa 26 Bitmap'leri kullanma Bitmap'ler yerine vektörlerin kullanılması bellek kazanmanın iyi bir yoludur. Ancak, özellikle yüksek sayıda vektör kullanımı, işlemci ve GPU kaynağı ihtiyacını önemli ölçüde artırır. Çalışma zamanı ekranda piksel çizmek için vektör içeriği oluşturmaya kıyasla daha az işleme kaynağı gerektireceğinden, bitmap kullanmak, oluşturmayı en iyileştirmek için iyi bir yoldur. Daha fazla Yardım konusu Bitmap'leri elle önbelleğe alma sayfa 60
17 Belleği saklama 13 Bitmap altörnekleme Belleği daha etkili bir şekilde kullanmak için, Flash Player bir 16-bit ekran algıladığında 32-bit opak görüntüler 16-bit görüntülere indirgenir. Bu altörnekleme, bellek kaynaklarının yarısını tüketir, ve görüntüler daha hızlı oluşturulur. Bu özellik yalnızca Windows Mobile için Flash Player 10.1'de mevcuttur. Not: Flash Player 10.1'den önce bellekte oluşturulan tüm pikseller 32 bit'lik (4 bayt) bölümler halinde saklanıyordu. 300 x 300 piksellik basit bir logo 350 KB'lık bellek harcıyordu (300*300*4/1024). Bu yeni davranışla, aynı opak logosu yalnızca 175 KB harcar. Logo saydamsa, 16 bit e aşağı örneklenmez ve bellekte aynı boyutta yer kaplar. Bu özellik yalnızca gömülü bitmap'ler veya çalışma zamanında yüklenmiş görüntüler (PNG, GIF, JPG) için geçerlidir. Mobil cihazlarda, 16 bit ile oluşturulan bir görüntüyle 32 bit ile oluşturulan aynı görüntü arasındaki farkı anlamak zor olabilir. Yalnızca birkaç renk içeren basit bir görüntü için, algılanabilir bir fark yoktur. Daha karmaşık bir görüntü için bile farkları algılamak zordur. Ancak, resmi yakınlaştırırken az miktarda renk bozulması olabilir ve bir 32 bit degrade görüntü 16 bit olanından daha düzgün görünebilir. Tekli BitmapData başvurusu Örnekleri mümkün olduğunca tekrar kullanarak BitmapData sınıfının kullanımını en iyileştirmek önemlidir. Flash Player 10.1 ve AIR 2.5, tüm platformlar için tekli BitmapData başvurusu adında yeni bir özellik sunar. Gömülü görüntüden BitmapData örnekleri oluştururken, bütün BitmapData örnekleri için tek bir bitmap sürümü kullanılır. Bir bitmap daha sonra değiştirilirse, ona bellekte kendi benzersiz bitmap i verilir. Gömülü görüntü, kütüphaneden veya bir [Embed] etiketinden gelebilir. Not: Ayrıca, Flash Player 10.1 ve AIR 2.5, bitmap'leri otomatik olarak yeniden kullandığından mevcut içerik de bu özellikten faydalanır. Gömülü bir görüntüyü örneklediğiniz zaman bellekte ilişkili bir bitmap oluşturulur. Flash Player 10.1 ve AIR 2.5'ten önce, aşağıdaki şemada gösterildiği gibi bellekte her örneğe ayrı bir bitmap veriliyordu: Bellekteki Görüntülenen Bitmap Kaynağı Logo Örneği Bitmap Kaynağı Logo Örneği Flash Player 10.1 ve AIR 2.5 öncesinde bellekteki bitmap'ler Flash Player 10.1 ve AIR 2.5'te, aynı görüntünün birden fazla örneği oluşturulduğunda, tüm BitmapData örnekleri için bitmap'in tek bir sürümü kullanılır. Aşağıdaki şema bu kavramı gösterir:
18 Belleği saklama 14 Bellekteki Görüntülenen Logo Örneği Bitmap Kaynağı Logo Örneği Flash Player 10.1 ve AIR 2.5'te bellekteki bitmap'ler Bu yaklaşım bir uygulama tarafından birçok bitmap ile kullanılan bellek miktarını önemli ölçüde düşürür. Aşağıdaki kod bir Star sembolünün birden fazla örneğini oluşturur: const MAX_NUM:int = 18; var star:bitmapdata; var bitmap:bitmap; for (var i:int = 0; i<max_num; i++) for (var j:int = 0; j<max_num; j++) star = new Star(0,0); bitmap = new Bitmap(star); bitmap.x = j * star.width; bitmap.y = i * star.height; addchild(bitmap) Aşağıdaki resim kodun sonucunu gösterir:
19 Belleği saklama 15 Birden fazla sembol örneği oluşturacak kod sonucu Örneğin, Flash Player 10 ile yukarıdaki animasyon 1008 KB bellek kullanır. Flash Player 10.1 ile, masaüstü ve mobil aygıttaki animasyon yalnızca 4 KB kullanır. Aşağıdaki kod bir BitmapData örneğini değiştirir: const MAX_NUM:int = 18; var star:bitmapdata; var bitmap:bitmap; for (var i:int = 0; i<max_num; i++) for (var j:int = 0; j<max_num; j++) star = new Star(0,0); bitmap = new Bitmap(star); bitmap.x = j * star.width; bitmap.y = i * star.height; addchild(bitmap) var ref:bitmap = getchildat(0) as Bitmap; ref.bitmapdata.pixeldissolve(ref.bitmapdata, ref.bitmapdata.rect, new Point(0,0),Math.random()*200,Math.random()*200, 0x990000); Aşağıdaki görüntü bir Star örneğini değiştirmenin sonucunu gösterir:
20 Belleği saklama 16 Bir örneği değiştirmenin sonucu Dahili olarak, piksel değiştirmeleri işlemek için çalışma zamanı otomatik şekilde bellekte bir bitmap atar ve oluşturur. BitmapData sınıfının bir yöntemi çağrıldığında, piksel değiştirilmelerine yol açar, bellekte yeni bir örnek oluşturulur ve başka herhangi bir örnek güncellenmez. Aşağıdaki resim bu kavramı gösterir: Bellekteki Görüntülenen Logo Örneği Bitmap Kaynağı Logo Örneği setpixel() Bitmap Kaynağı Logo Örneği Bir bitmap'i değiştirmenin bellekteki sonucu Tek bir yıldız değiştirilirse, bellekte yeni bir kopya oluşturulur. Sonuçta elde edilen animasyon, Flash Player 10.1 ve AIR 2.5'te bellekten yaklaşık 8 KB kullanır.
21 Belleği saklama 17 Önceki örnekte, her bitmap ayrı ayrı dönüştürme için kullanılabilir. Yalnızca döşeme efekti oluşturmak için beginbitmapfill() yöntemi en uygun yöntemdir: var container:sprite = new Sprite(); var source:bitmapdata = new Star(0,0); // Fill the surface with the source BitmapData container.graphics.beginbitmapfill(source); container.graphics.drawrect(0,0,stage.stagewidth,stage.stageheight); addchild(container); Bu yaklaşım yalnızca tek bir BitmapData örneğinin oluşturulmasıyla aynı sonucu üretebilir. Yıldızları sürekli olarak döndürmek için her Yıldız örneğine erişmek yerine her karede döndürülen bir Matrix nesnesi kullanın. Bu Matrix nesnesini beginbitmapfill() yöntemine iletin: var container:sprite = new Sprite(); container.addeventlistener(event.enter_frame, rotate); var source:bitmapdata = new Star(0,0); var matrix:matrix = new Matrix(); addchild(container); var angle:number =.01; function rotate(e:event):void // Rotate the stars matrix.rotate(angle); // Clear the content container.graphics.clear(); // Fill the surface with the source BitmapData container.graphics.beginbitmapfill(source,matrix,true,true); container.graphics.drawrect(0,0,stage.stagewidth,stage.stageheight); Bu tekniği kullanırken, efekti oluşturmak için herhangi bir ActionScript döngüsüne gerek yoktur. Çalışma zamanı her şeyi dahili olarak gerçekleştirir. Aşağıdaki resim yıldızları dönüştürmenin sonucunu gösterir:
22 Belleği saklama 18 Döndürülen yıldızların sonucu Bu yaklaşımla, orijinal kaynak BitmapData nesnesinin güncellenmesi otomatik olarak onun sahne alanındaki herhangi başka bir yerdeki kullanımını günceller, bu da etkili bir teknik olabilir. Ancak, bu yaklaşım her yıldızın önceki örnekteki gibi teker teker ölçeklendirilmesine olanak tanımaz. Not: Aynı görüntünün birden fazla örneğini kullanırken, çizim bir sınıfın bellekteki orijinal bitmap ile ilişkili olup olmadığına bağlıdır. Bitmap ile ilişkili bir sınıf yoksa, görüntüler bitmap dolguları ile Shape nesneleri olarak çizilir. Filtreleri ve dinamik bitmap'i kaldırma Pixel Bender üzerinden işlenen filtreler dahil olmak üzere filtre kullanımından kaçının. Piksel Bükme ile mobil aygıtlarda işlenen filtreler de dahil olmak üzere, filtreler gibi etkilerin kullanımını en aza indirmeye çalışın. Bir görüntüleme nesnesine bir filtre uygulandığında, çalışma zamanı bellekte iki bitmap oluşturur. Bu bitmap'lerin her biri görüntüleme nesnesinin boyutundadır. Birincisi, görüntüleme nesnesinin rasterleştirilmiş bir versiyonu olarak oluşturulur ve sonrasında uygulanan filtre ile ikinci bir bitmap üretmek için kullanılır.
23 Belleği saklama 19 Bellekteki Görüntülenen Filtrelenmemiş bitmap versiyonu Sonuç Filtrelenmiş bitmap versiyonu Filtre uygulandığında bellekte bulunan iki bitmap Bir filtrenin özelliklerinden birini değiştirirken, ortaya çıkacak bitmap'in oluşturulması için bitmap'lerin ikisi de bellekte güncellenir. Bu işlem biraz CPU işleme gerektirir ve iki bitmap önemli bir miktar bellek kullanabilir. Flash Player 10.1 ve AIR 2.5, tüm platformlarda yeni bir filtreleme davranışı sunar. Filtre 30 saniye içinde değiştirilmezse veya gizli veya ekran dışı ise, filtrelenmemiş bitmap tarafından kullanılan bellek boşaltılır. Bu özellik tüm platformlarda bir filtre tarafından kullanılan belleğin yarısından tasarruf sağlar. Örneğin, bir bulanıklaştırma filtresi uygulanan bir metin nesnesi düşünün. Bu durumda metin basit dekorasyon için kullanılır ve değiştirilmez. 30 saniye sonra, bellekteki filtrelenmemiş bitmap boşaltılır. Metin 30 saniye boyunca gizli veya ekran dışı kalırsa aynı sonuç gerçekleşir. Filtre özelliklerinden biri değiştirilirse, bellekteki filtrelenmemiş bitmap yeniden oluşturulur. Bu özelliğe dinamik bitmap kaldırılması denir. Bu en iyileştirmelerde bile filtrelere dikkat edin; çünkü filtreler değiştirilirken yine de çok büyük miktarda işlemci veya GPU işlemesi gerektirir. Mümkün olduğunda filtreleri taklit etmek için Adobe Photoshop gibi bir geliştirme aracı üzerinden oluşturulmuş bitmap'lerin kullanılması iyi bir uygulamadır. ActionScript te çalışma zamanında oluşturulmuş dinamik bitmap'leri kullanmaktan kaçının. Harici olarak geliştirilmiş bitmap'lerin kullanılması, özellikle filtre özellikleri zaman içinde değişmediğinde, çalışma zamanının işlemci veya GPU yükünü azaltmasına yardımcı olur. Mümkünse bir bitmap üzerinde ihtiyaç duyduğunuz tüm efektleri geliştirme aracında oluşturun. Bitmap i çalışma zamanında üzerinde hiçbir işlem yapmadan görüntüleyebilirsiniz, bu işlem çok daha hızlı olabilir. Doğrudan mipmap oluşturma Gerekirse, büyük görüntüleri ölçeklendirirken mipmap oluşturma özelliğini kullanın. Flash Player 10.1 ve AIR 2.5'te mevcut olan başka yeni bir özellik mipmap oluşturmayla ilgilidir. Flash Player 9 ve AIR 1.0, ölçeği küçültülmüş bitmap'lerin kalite ve performansını iyileştiren bir mipmap oluşturma özelliği sunmuştu.
24 Belleği saklama 20 Not: Mipmap oluşturma özelliği yalnızca dinamik olarak yüklenmiş görüntüler veya gömülü bitmap'ler için geçerlidir. Mipmap oluşturma filtrelenen veya önbelleğe alınan görüntüleme nesnelerine uygulanmaz. Mipmap oluşturma yalnızca bitmap çift sayı olan bir genişlik ve yüksekliğe sahipse işlenebilir. Tek sayı olan bir genişlik veya yükseklikle karşılaşıldığında, mipmap oluşturma durur. Örneğin, 250 x 250 boyutunda bir görüntüye 125 x 125 olacak şekilde mipmap oluşturma uygulanabilir ancak daha fazlası uygulanamaz. Bu durumda, boyutların en az bir tanesi tek sayıdır. İkinin üsleri olan boyutlara sahip bitmap'ler en iyi sonuçları verir, örneğin: 256 x 256, 512 x 512, 1024 x 1024, vb. Örneğin, 1024 x 1024 boyutunda bir görüntünün yüklü olduğunu ve bir geliştiricinin görüntüyü galeride bir minik resim oluşturmak için ölçeklemek istediğini düşünün. Mipmap oluşturma özelliği, bitmap'in orta seviye altörnekleme versiyonları kullanılarak ölçeklendirildiğinde görüntüyü düzgün bir şekilde oluşturur. Çalışma zamanının önceki sürümleri bellekte bitmap'in orta seviye altörneklenmiş sürümlerini oluşturuyordu x 1024 boyutlarında bir görüntü 64 x 64 şeklinde yüklenip görüntülendiğinde, çalışma zamanının eski sürümleri yarı boyutlu bitmap'lerin her birini oluştururdu. Örneğin, bu durumda 512 x 512, 256 x 256, 128 x 128 ve 64 x 64 bitmap'ler oluşturulurdu. Şimdi, Flash Player 10.1 ve AIR 2.5 istenen hedef boyuta doğrudan orijinal kaynaktan mipmap oluşturmayı destekliyor. Önceki örnekte, yalnızca 4 MB (1024 x 1024) orijinal bitmap ve 16 KB (64 x 64) mipmap'i oluşturulmuş bitmap oluşturuluyordu. Mipmap oluşturma mantığı ayrıca dinamik bitmap kaldırma özelliğiyle de çalışır. Yalnızca 64 x 64 bitmap kullanılıyorsa, 4 MB orijinal bitmap bellekten boşaltılır. Mipmap'in yeniden oluşturulması gerekiyorsa, orijinal bitmap yeniden yüklenir. Ayrıca, çeşitli boyutlarda başka mipmap'i oluşturulmuş bitmap'ler gerekiyorsa, bitmap'in oluşturulması için bitmap'lerin mipmap zinciri kullanılır. Örneğin, bir 1:8 bitmap oluşturulması gerekiyorsa, hangisinin belleğe ilk yüklendiğini belirlemek amacıyla 1:4 ve 1:2 ve 1:1 bitmap'ler incelenir. Başka versiyonlar bulunmazsa, kaynaktan 1:1 orijinal bitmap yüklenir ve kullanılır. JPEG açıcısı kendi biçiminde mipmap oluşturma işlemini gerçekleştirebilir. Bu doğrudan mipmap oluşturma işlemi, büyük bir bitmap in sıkıştırılmamış görüntünün tamamı yüklenmeden doğrudan bir mipmap biçimi şeklinde açılmasına olanak tanır. Mipmap'in oluşturulması önemli ölçüde daha hızlıdır; büyük bitmap'ler tarafından kullanılan bellek ayrılmaz ve sonra boşaltılır. JPEG görüntü kalitesi genel mipmap oluşturma tekniğine yakındır. Not: Mipmap oluşturma işlevini gereğinden fazla kullanmayın. Bu işlev, küçük boyuta ölçeklenmiş bitmap'lerin kalitesini arttırsa da bant genişliğini, belleği ve hızı etkiler. Bazı durumlarda bitmap in harici bir araçta önceden ölçeklendirilmiş biçimini uygulamanıza içe aktarıp kullanmak daha iyi bir seçenektir. Amacınız küçülterek ölçeklendirmekse büyük boyutlu bitmap'lerle işleme başlamayın. 3B efektlerini kullanma 3B efektlerini el ile oluşturmayı göz önünde bulundurun. Flash Player 10 ve AIR 1.5, görüntüleme nesnelerine perspektif dönüştürme uygulamanıza olanak veren bir 3B motoru sundu. Bu dönüştürmeleri rotationx ve rotationy özelliklerini veya Graphics sınıfının drawtriangles() yöntemini kullanarak uygulayabilirsiniz. Ayrıca z özelliğiyle derinlik uygulayabilirsiniz.. Her perspektifi dönüştürülmüş görüntüleme nesnesinin bir bitmap olarak rasterleştirildiğini ve bundan dolayı daha fazla bellek gerektirdiğini aklınızda tutun. Aşağıdaki şekil perspektif dönüştürme kullanılırken rasterleştirme tarafından üretilen kenar yumuşatmayı gösterir:
25 Belleği saklama 21 Perspektif dönüştürme sonucu ortaya çıkan kenar yumuşatma Kenar yumuşatma, vektör içeriğinin bitmap olarak dinamik bir şekilde rasterleştirilmesinin sonucudur. Bu kenar yumuşatma, AIR ve Flash Player'ın masaüstü sürümünde ve mobil için AIR ve AIR 2.5'te 3B efektler kullandığınızda gerçekleşir. Ancak mobil aygıtlar için Flash Player'a kenar yumuşatma uygulanmaz. 3B efektinizi yerel API'ye dayanmadan elle oluşturabiliyorsanız, bu da bellek kullanımını azaltabilir. Ancak Flash Player 10 ve AIR 1.5'te tanıtılan yeni 3B özellikleri doku eşlemeyi drawtriangles() gibi yöntemler sayesinde çok daha kolay bir hale getirir. Bir geliştirici olarak, oluşturmak istediğiniz 3B efektin yerel API tarafından işlendiğinde mi yoksa elle mi daha iyi performans sağladığına karar verin. Bellek kullanımının yanı sıra ActionScript çalıştırma ve oluşturma performansını da dikkate alın. rendermode uygulama özelliğini GPU olarak ayarladığınız AIR ve AIR 2.5 mobil uygulamalarda GPU, 3B dönüştürmeleri yapar. Ancak rendermodecpu olursa, 3B dönüştürmeleri GPU değil, CPU gerçekleştirir. Flash Player 10.1 uygulamalarında CPU, 3B dönüştürmeleri gerçekleştirir. CPU 3B dönüştürmeler yaptığında, bir görüntüleme nesnesine herhangi bir 3B dönüştürmenin uygulanmasının bellekte iki bitmap gerektireceğini dikkate alın. Bir bitmap kaynak bitmap için ve ikinci bir bitmap de perspektifi dönüştürülmüş sürüm içindir. Bu şekilde 3B dönüştürmeleri filtrelere benzer bir yöntemle çalışır. Sonuç olarak, CPU 3B dönüştürmeler yaptığında, 3B özelleri tutumlu şekilde kullanın. Metin nesneleri ve bellek Salt okunur bir metin için Adobe Flash Metin Motorunu kullanın; giriş metni için TextField nesneleri kullanın. Flash Player 10 ve AIR 1.5, sistem belleğinden tasarruf sağlayan güçlü bir yeni metin motoru olan Adobe Flash Metin Motoru'nu (FTE) sunmuştu. Ancak, FTE üzerine flash.text.engine paketinde sağlanan ek bir ActionScript 3.0 katmanı gerektiren düşük düzeyli bir API'dir.
26 Belleği saklama 22 Salt okunur metinler için, düşük bellek kullanımı ve daha iyi oluşturma sunan Flash Metin Motoru kullanılması en iyisidir. Giriş metni için, girdi işleme ve kelime sarma gibi genel davranışlar oluşturmak için daha az ActionScript gerektiğinden, TextField nesnelerini kullanmak daha iyi bir seçimdir. Daha fazla Yardım konusu Metin nesneleri oluşturma sayfa 66 Olay modeli ile geri aramaların karşılaştırması Olay modeli yerine basit geri aramalar kullanmayı düşünün. ActionScript 3.0 olay modeli nesne gönderme kavramına dayanır. Olay modeli nesne yönelimlidir ve kodun yeniden kullanımı için en iyileştirilmiştir. dispatchevent() yöntemi dinleyici listesi üzerinden döngüde ilerler ve kayıtlı her nesnede olay işleyicisini çağırır. Ancak olay modelinin dezavantajlarından biri uygulamanızı kullandığınız süre boyunca çok sayıda nesne oluşturacak olmanızdır. Zaman çizelgesinden animasyon dizisinin sonunu gösteren bir olay göndermeniz gerektiğini düşünün. Bildirimin tamamlanması için, aşağıdaki örnekte gösterildiği gibi zaman çizelgesindeki belirli bir kareden olay gönderebilirsiniz: dispatchevent( new Event ( Event.COMPLETE ) ); Document sınıfı bu olayı aşağıdaki kod satırıyla dinleyebilir: addeventlistener( Event.COMPLETE, onanimationcomplete ); Bu yaklaşım doğru olsa da, yerel olay modelinin kullanılması daha yavaş olabilir ve klasik bir geri çağırma işlevi kullanmak işlemine göre daha fazla bellek kullanabilir. Olay nesneleri bellekte oluşturulmalı ve ayrılmalıdır; bu da performansta düşüşe neden olur. Örneğin Event.ENTER_FRAME olayını dinlerken olay işleyicisi için her karede yeni bir event nesnesi oluşturulur. Özellikle görüntüleme nesneleri için, görüntüleme listesi karmaşıksa zor olabilen olayı dıştan içe ve içten dışa tetikleme aşamaları nedeniyle performans yavaş olabilir.
27 23 Bölüm 3: CPU kullanımını en aza indirme En iyileştirme için başka önemli bir odak alanı CPU kullanımıdır. İşlemci işlemesinin en iyileştirilmesi, performansı ve bunun bir sonucu olarak da mobil aygıtların pil ömrünü arttırır. CPU kullanımı için Flash Player 10.1 geliştirmeleri Flash Player 10.1 CPU işlemeden tasarruf etmeyi sağlayan iki yeni özellik sunar. Özellikler arasında, ekran dışına gittiğinde SWF içeriğinin duraklatılması ve devam ettirilmesi ve bir sayfadaki Flash Player örnekleri sayısının sınırlandırılması yer alır. Duraklatma, hızını azaltma ve devam etme Not: Duraklatma, hızını azaltma ve devam etme özellikleri Adobe AIR uygulamaları için geçerli değildir. CPU ve pil kullanımını en iyileştirmek için, Flash Player 10.1 etkin olmayan örneklerle ilişkili yeni bir özellik sunar. Bu özellik ekrandaki içerik açılıp kapatıldığında SWF dosyasını duraklatıp devam ettirerek işlemci kullanımını kısıtlamanıza izin verir. Bu özellikle, Flash Player içeriğin oynatılması devam ettirildiğinde yeniden oluşturulabilecek herhangi bir nesneyi kaldırarak mümkün olduğu kadar belleği serbest bırakır. İçeriğin tümü ekran dışı olduğunda içerik ekran dışı sayılır. İki senaryo SWF içeriğinin ekran dışı olmasına sebep olur. Kullanıcı sayfayı kaydırır ve SWF içeriğinin ekran dışına taşınmasına sebep olur. Bu durumda, herhangi bir ses veya video yürütülüyorsa, içerik yürütülmeye devam eder ancak görüntü oluşturma durur. Herhangi bir ses veya video yürütülmüyorsa, oynatmanın veya ActionScript yürütülmesinin duraklatılmadığından emin olmak için haspriority HTML parametresini true olarak ayarlayın. Ancak, içerik ekranın dışındayken veya gizliyken haspriority HTML parametresinin değerine bakılmaksızın SWF içeriği oluşturma işleminin duraklatıldığını unutmayın. Tarayıcıda bir sekme açılır, bu da SWF içeriğinin arka plana taşınmasına sebep olur. Bu durumda haspriority HTML etiketinin değerine bakılmaksızın, SWF içeriği 2 ila 8 kare/sn olacak şekilde yavaşlatılır veya hızı azaltılır. Ses ve video yürütülmesi durdurulur ve SWF içeriği görünür hale gelmedikçe içerik oluşturma işlemine devam edilmez. Windows ve Mac masaüstü tarayıcılarında çalışan Flash Player 11.2 veya daha üstü için uygulamanızda ThrottleEvent öğesini kullanabilirsiniz. Flash Player, Flash Player durakladığında, hızı azaldığında veya yürütmeye devam ettiğinde bir ThrottleEvent öğesi gönderir. ThrottleEvent bir broadcast olayıdır; diğer bir deyişle, bu olay kendisi için kaydedilmiş bir dinleyiciye sahip tüm EventDispatcher nesneleri tarafından gönderilir. Broadcast olaylarıyla ilgili daha fazla bilgi için bkz. DisplayObject sınıfı. Örnek yönetimi Not: Örnek yönetimi özelliği, Adobe AIR uygulamaları için geçerli değildir. Ekranın dışındaki SWF dosyalarının yüklenmesini ertelemek için haspriority HTML parametresini kullanın.
Animasyon Teknikleri, Ses ve Video İşlemleri 1 / 18
Animasyon Teknikleri, Ses ve Video İşlemleri 1 / 18 4. SEMBOLLER Animasyon yazılımı çizilen şekilleri veya çalışma içerisine aktarılan şekilleri sembollere dönüştürerek kütüphanede saklayabilir. Kütüphanede
DetaylıKOD PARÇACIKLARI 1 / 5
KOD PARÇACIKLARI 1 / 5 Kod Parçacıkları (CodeSnipet) Kod parçacıkları paneli animasyon yazılımının beşinci versiyonunda gelmiş bir yeniliktir. Kod yazmak yerine panelden ilgili kodu seçip çift tıklamak
DetaylıSEAT on-line HSO KULLANICI EL KİTABI SÜRÜMÜ
SEAT on-line HSO KULLANICI EL KİTABI 04-2008 SÜRÜMÜ 1 Indeks 1 Giriş... 3 2 Sistem Gereksinimleri...3 3 Genel plan...3 4 Yapı... 4 5 Gezinti... 5 6 Ek Bilgi...6 7 Araçlar... 7 8 Site Haritası... 8 9 Dosya
Detaylı2. Belgeye Metin Ekleme
METİN İŞLEMLERİ Flashta 2 çeşit metin vardır:1)tlf metni 2)Klasik metin 1)TLF Metni : CS5 ile başlayan metin türü. TLF metni FLA dosyanızın yayınlama ayarlarında ActionScript 3.0 ve Flash Player 10 veya
DetaylıAçılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile
POWERPOINT PROGRAMI Powerpoint bir sunu hazırlama programıdır. Belirli bir konu hakkında bilgi vermek için, derslerle ilgili bir etkinlik hazırlamak için, dinleyicilere görsel ortamda sunum yapmak için
DetaylıGRAFİK TASARIM. ACTION SCRIPT 3.0 Ders1 YARD. DOÇ. DR. MEHTAP YALÇINKAYA
GRAFİK TASARIM ACTION SCRIPT 3.0 Ders1 YARD. DOÇ. DR. MEHTAP YALÇINKAYA Kod Parçacıklarını Kullanma ve Flash Timeline'ında Gezinme Code Snippet Panelini Kullanarak ActionScript Ekleme Timeline'a Kod Yerleştirme
DetaylıFlash ile Etkileşimli Öğretim Materyali Hazırlama Semineri
Öğretim Teknolojileri Destek Ofisi Instructional Technologies Support Office Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Semboller, Ses Ekleme, Video Ekleme Orta Doğu Teknik Üniversitesi
DetaylıArchive Player Divar Series. Kullanım kılavuzu
Archive Player Divar Series tr Kullanım kılavuzu Archive Player İçindekiler tr 3 İçindekiler 1 Giriş 4 2 Çalışma 5 2.1 Programın başlatılması 5 2.2 Ana pencere tanıtımı 6 2.3 Açma düğmesi 6 2.4 Kamera
DetaylıAKILLI KÜRSÜ KULLANIM KILAVUZU
Sayfa 1/11 AKILLI KÜRSÜ KULLANIM KILAVUZU 26.01.2017 Sayfa 2/11 Akıllı Kürsüleri Çalıştırmak Akıllı kürsüleri çalıştırabilmek için her bir kürsünün hemen yan tarafında bulunan şifre giriş panelinden yararlanılır.
DetaylıYükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6
Yükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6 Fiery Extended Applications Package (FEA) v4.2 Fiery Server ile ilişkili görevleri gerçekleştirmek için Fiery uygulamalarını
DetaylıWacker Neuson Media Pool için kısa talimatlar
Wacker Neuson Media Pool için kısa talimatlar Hoş geldiniz Media Pool, Wacker Neuson Group'un merkezi ve dünyanın her yerinden ulaşılabilir resim ve medya veri tabanıdır. Burada yüksek çözünürlükte birçok
Detaylı1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.
1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result
DetaylıConnection Manager Kullanım Kılavuzu
Connection Manager Kullanım Kılavuzu Baskı 1.0 2 İçindekiler Bağlantı yöneticisi uygulaması hakkında 3 Başlarken 3 Bağlantı yöneticisi uygulamasını açma 3 Geçerli bağlantı durumunu görüntüleme 3 Uygulama
DetaylıKurulum ve Başlangıç Kılavuzu. DataPage+ 2012 için
DataPage+ 2012 için Son Güncelleme: 29 Ağustos 2012 İçindekiler Tablosu Önkoşul Olan Bileşenleri Yükleme... 1 Genel Bakış... 1 Adım 1: Setup.exe'yi Çalıştırın ve Sihirbazı Başlatın... 1 Adım 2: Lisans
DetaylıAndroid e Giriş. Öğr.Gör. Utku SOBUTAY
Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,
DetaylıNOT: LÜTFEN BU BELGEYİ OKUMADAN YAZILIMI YÜKLEMEYİ DENEMEYİN.
INSITE YÜKLEME BÜLTENİ Sayfa 2: INSITE yükleme Sayfa 8: INSITE kaldırma NOT: LÜTFEN BU BELGEYİ OKUMADAN YAZILIMI YÜKLEMEYİ DENEMEYİN. HATALI YÜKLEME VEYA KULLANIM YANLIŞ VERİLERE VEYA EKİPMANIN ARIZALANMASINA
DetaylıHESAP MAKİNASI YAPIMI
HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan
DetaylıÇizim Yapma. Renk. Boyama
Çalışma Alanı Çalışma alanıyla ilgili temel bilgiler Çalışma alanını özelleştirme Araçlar Araç galerileri Güvenli Mod Dilimleme ve kesme aracı galerisi Birden çok çalışma yüzeyi oluşturma Çökmeden sonra
DetaylıEKİM, 2017 ABB Connect Tüm Fonksiyonlar
EKİM, 2017 ABB Connect Tüm Fonksiyonlar Hoşgeldin sayfası/ Otomatik ülke algılama Yeni tasarlanmış başlangıç sayfası, cihazın ayarlarına dayalı otomatik ülke algılama özelliğine sahiptir. October 10, 2017
Detaylıİçindekiler. Giriş... 1. Kanuni Uyarılar... 3. IRISCompressor Yüklemesi ve Kurulumu... 5. Sistem Gereksinimleri... 5. Kurulum... 5. Etkinleştirme...
Kullanım Kılavuzu İçindekiler Giriş... 1 ÖNEMLİ NOTLAR... 1 Kanuni Uyarılar... 3 IRISCompressor Yüklemesi ve Kurulumu... 5 Sistem Gereksinimleri... 5 Kurulum... 5 Etkinleştirme... 7 Otomatik Güncelleme...
Detaylıİşletim Sistemi Nedir?
İşletim Sistemi Nedir? İşletim sistemi, bilgisayar açılırken hafızaya yüklenen, bilgisayar donanım kaynaklarını yöneten ve çeşitli uygulama yazılımları için hizmet sağlayan genel amaçlı bir yazılımdır.
DetaylıKurulum ve Başlangıç Kılavuzu. DataPage+ 2013 için
DataPage+ 2013 için En Son Güncellenme Tarihi: 25 Temmuz 2013 İçindekiler Tablosu Önkoşul Olan Bileşenleri Yükleme... 1 Genel Bakış... 1 Adım 1: Setup.exe'yi Çalıştırın ve Sihirbazı Başlatın... 1 Adım
DetaylıBİL 101 - Bilişim Teknolojileri. PowerPoint 2007. http://bil.etu.edu.tr/bil101
BİL 101 - Bilişim Teknolojileri PowerPoint 2007 http://bil.etu.edu.tr/bil101 Etkili Sunum Hazırlama Teknikleri 2 Etkili Sunum Hazırlama Dinleyici kitlenizi belirleyin. Dinleyiciler uzman kişiler mi? Sıradan
Detaylıwww.elektrikogretmenleri.com
FIREWORKS (MENU OLUŞ TURMA) 1 Önce Başlat menüsü Programlar Adobe Web Premium CS3 Adobe Fireworks CS3 kısayol simgesi ile Fireworks programı açılır. 2 Fireworks programı açıldığında Karşımıza gelen Yeni
DetaylıMcAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0
Sürüm Notları McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0 McAfee epolicy Orchestrator ile birlikte kullanım içindir İçindekiler Bu sürüm hakkında Yeni özellikler Geliştirmeler Çözülen sorunlar
DetaylıBilgisayarım My Computer
My Computer Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı 12-13 Mar. 2012 Öğr. Gör. Murat KEÇECİOĞLU Bilgisayarım (my computer) simgesine sağ tıklar ve özellikler (properties) seçeneğini seçeriz.
DetaylıÜst Düzey Programlama
Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya
DetaylıStart : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.
Java Applet Nedir? Java applet nedir?apllet Örnekleri,applet ve japplet farkı Applet Nedir? Applet Web Sayfaları üzerinde yayınlabilen class dosyalarıdır. Bir applet mutlaka Apllet sınıfının alt sınıfı
DetaylıMapCodeX MapLand Kullanım Kılavuzu
MapCodeX MapLand Kullanım Kılavuzu Versiyon Numarası: 1.0 ------------------------------- Kullanım Kılavuzu 2015 info@ www. MapCodeX MapLand İşlem Araçları Çalışma Dosyası Aç Haritanın ve son çalışma dosyasının
DetaylıBurak Kıymaz 13.10.2015 JAVA FX
JavaFx neden çıktı? JAVA FX Eskiden desktop için swing kullanılırdı fakat pek iyi değildi. Javafx bu konuda css kullanmaya da izin verdiği için daha iyi bulundu. xml veriyi biçimlendirmek için kullanılan
DetaylıDers: Görsel senaryo taslağının önemi
Ders: Görsel senaryo taslağının önemi İletişim, harika bir prodüksiyonun anahtarıdır. Fikirlerinizi görselleştirmek için görsel senaryo taslakları kullanın ve etkili bir çekim planlayın. Çizilecek içerik
Detaylıİşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir
Detaylı4 Front Page Sayfası Özellikleri
4 Front Page Sayfası Özellikleri İsterseniz Frontpage penceresinin sağ tarafından, isterseniz araç çubuklarından faydalanarak yeni bir sayfa açın. Frontpage te çeşitli sayfa şablonları bulunmaktadır. Ancak
DetaylıVeritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme
Veritabanı Tasarımı Sütun Değerlerini Güncelleme ve Satırları Silme Konular UPDATE komutunu oluşturmak ve çalıştırmak DELETE komutunu oluşturmak ve çalıştırmak Tabloda güncelleme yapmak ya da veri silmek
DetaylıHızlı Başlangıç Kılavuzu
Hızlı Başlangıç Kılavuzu Microsoft Publisher 2013 önceki sürümlerden farklı görünüyor, bu nedenle öğrenmenizi kolaylaştırmak için bu kılavuzu oluşturduk. Hızlı Erişim Araç Çubuğu En sevdiğiniz komutları
DetaylıPhotoshop ta Web Sayfaları Oluşturma
Photoshop ta Web Sayfaları Oluşturma Dilimleme Photoshop ta üzerinde çalışılan resim dosyaları, düzenlenen fotoğraflar veya tasarlanan sayfalar web ortamında kullanılmak üzere hazırlanabilir. Bir web sayfasını
Detaylıİçindekiler. Giriş... 1. Kanuni Uyarılar... 3. IRISCompressor Yüklemesi ve Kurulumu... 5. Sistem Gereksinimleri... 5. Kurulum... 5. Etkinleştirme...
Kullanım Kılavuzu İçindekiler Giriş... 1 ÖNEMLİ NOTLAR... 1 Kanuni Uyarılar... 3 IRISCompressor Yüklemesi ve Kurulumu... 5 Sistem Gereksinimleri... 5 Kurulum... 5 Etkinleştirme... 7 Otomatik Güncelleme...
DetaylıHızlı Başlangıç Kılavuzu
Hızlı Başlangıç Kılavuzu Microsoft Visio 2013 önceki sürümlerden farklı görünüyor, bu nedenle öğrenmenizi kolaylaştırmak için bu kılavuzu oluşturduk. Güncelleştirilmiş şablonlar Şablonlar, istediğiniz
DetaylıNESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem
DetaylıSeçenekler Menüsünden Genel Sekmesi
Seçenekler Menüsünden Genel Sekmesi Word 2003 açtıktan sonra ARAÇLAR>SEÇENEKLER tıklanır. Karşımıza bu tür ekran çıkar. İlk komut Arka planda yeniden sayfalandır ; Siz çalışırken belgeleri otomatik olarak
DetaylıBilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı
Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki
DetaylıVERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri
VERİ KAYNAKLARI YÖNETİMİ İ İ 5. ÜNİTE GİRİŞ Bilgi sisteminin öğelerinden biride veri yönetimidir. Geleneksel yada çağdaş, birinci yada ikinci elden derlenen veriler amaca uygun veri formlarında tutulur.
DetaylıLABORATUVAR ÇALIŞMASI #2
DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİSİ VE BİLİŞİM SİSTEMLERİ LABORATUVAR ÇALIŞMASI #2 Amaç: Bilgisayar kasasına parçaların takılması ve bilinmesi gereken belli
DetaylıBilgisayarım My Computer. Elbistan Meslek Yüksek Okulu 2013 2014 Bahar Yarıyılı
Bilgisayarım My Computer Elbistan Meslek Yüksek Okulu 2013 2014 Bahar Yarıyılı Öğr.Gör. Murat KEÇECİOĞLU 11-12 Mar. 2014 Bilgisayarım (my computer) simgesine sağ tıklar ve özellikler (properties) seçeneğini
DetaylıMicrosoft PowerPoint
Microsoft PowerPoint GİRİŞ Microsoft Powerpoint bir sunum hazırlama programıdır. Microsoft Powerpoint sayesinde sunumlarınıza içerisinde ses,video,animasyon,grafik,resim,köprüler,web içerikleri ve çeşitli
DetaylıDersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar
Bilgi Teknolojileri ve Uygulamalarına Giriş Dersin Konusu ve Amaçları: Bu dersin amacı daha önce bilgisayar ve bilgi teknolojileri alanında herhangi bir bilgi ve/veya deneyime sahip olmayan öğrenciye bilgi
DetaylıGiriş. Memeo Instant Backup Hızlı Başlangıç Kılavuzu. 1. Adım: Ücretsiz Memeo hesabınızı oluşturun. 2. Adım: Depolama aygıtınızı bilgisayarınıza takın
Giriş Memeo Instant Backup, karmaşık dijital dünya için basit bir yedekleme çözümüdür. Memeo Instant Backup, C sürücünüzdeki değerli dosyalarınızı otomatik ve sürekli olarak yedekleyerek verilerinizi korur
DetaylıC# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler
C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra
DetaylıHızlı Başlangıç Kılavuzu
Hızlı Başlangıç Kılavuzu Microsoft Excel 2013 önceki sürümlerden farklı görünüyor, bu nedenle öğrenmenizi kolaylaştırmak için bu kılavuzu oluşturduk. Hızlı Erişim Araç Çubuğu'na komutlar ekleme Şeridi
Detaylıecyber Kullanıcı Kılavuzu 1 / 1 1. ecyber hakkında... 1 2. Sistem gereksinimleri:... 2 Donanım:... 2 Yazılım:... 2 3. Kullanım Rehberi...
ecyber Kullanıcı Kılavuzu 1 / 1 1. ecyber hakkında... 1 2. Sistem gereksinimleri:... 2 Donanım:... 2 Yazılım:... 2 3. Kullanım Rehberi... 3 İndirme... 3 Sunucu yazılım kurulumu... 3 Kurulum sayfası çıkacaktır...
DetaylıVodafone Akıllı Bas Konuş Servisi Masaüstü Uygulaması Kullanım Kılavuzu
Vodafone Akıllı Bas Konuş Servisi Masaüstü Uygulaması Kullanım Kılavuzu Versiyon 1 Güncelleme Tarihi 29 Ocak 2013 Güncelleme Nedeni - PC Uygulaması, Windows platformundaki masaüstü PC ler üzerinde çalışır.
DetaylıFiery Driver Configurator
2015 Electronics For Imaging, Inc. Bu yayın içerisinde yer alan tüm bilgiler, bu ürüne ilişkin Yasal Bildirimler kapsamında korunmaktadır. 16 Kasım 2015 İçindekiler 3 İçindekiler Fiery Driver Configurator...5
DetaylıKurulum (Windows)...3
Kurulum (Windows)...3 1. StarBoard Software Kurulumu...4 1.1 Sistem Gereksinimleri...4 1.2 Kurulumu Başlatma...5 1.3 Windows Media Encoder Kurulumu (Yalnızca Windows XP/Vista)...6 1.4 Kurulumu Sonlandırma...6
DetaylıBİT in Temel Bileşenleri (Yazılım-1)
Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu
DetaylıTemel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017
Temel Bilgi Teknlolojileri 1 Ders notları 5 Öğr.Gör. Hüseyin Bilal MACİT 2017 Windows işletim sistemi Kullanıcıya grafik arabirimler ve görsel iletilerle yaklaşarak, yazılımları çalıştırmak, komut vermek
DetaylıArş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015
Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari
DetaylıAndroid Ders Notları
Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje
DetaylıCopyright 2017 HP Development Company, L.P.
Kullanıcı Kılavuzu Copyright 2017 HP Development Company, L.P. Bu belgede yer alan bilgiler önceden bildirilmeden değiştirilebilir. HP ürünleri ve hizmetlerine ilişkin garantiler, bu ürünler ve hizmetlerle
DetaylıMOBİL UYGULAMA GELİŞTİRME
MOBİL UYGULAMA GELİŞTİRME PELİN YILDIRIM FATMA BOZYİĞİT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Veri Saklama 2 Veri Saklama Veri Saklama her appnin ihtiyaci
DetaylıTeknik Belge WDR. WDR: Wide Dynamic Range Geniş Dinamik Aralık nedir? Niçin Önemlidir? elektronik-guvenlik.com SECURITURK
Teknik Belge: WDR: Wide Dynamic Range nedir? Niçin Önemlidir? 1 / 10 Teknik Belge WDR WDR: Wide Dynamic Range Geniş Dinamik Aralık nedir? Niçin Önemlidir? 2018 elektronik-guvenlik.com Teknik Belge: WDR:
DetaylıFINDIK Herkese Açık Filtre 18.04.2009
FINDIK Herkese Açık Filtre 18.04.2009 FINDIK Ekibi Sunum Planı Neden içerik filtreleme? Peki neden FINDIK? FINDIK nasıl kullanılır? FINDIK uygulama tasarımı FINDIK nasıl geliştirilir? Gelecek
DetaylıC# nedir,.net Framework nedir?
1 C# nedir,.net Framework nedir? C# nedir? C#, C/C++ ve Java dillerinde türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip-güvenli(typesafe,tür dönüşümlerindeki
DetaylıHızlı Başlangıç Kılavuzu
Hızlı Başlangıç Kılavuzu Microsoft Access 2013 önceki sürümlerden farklı görünmektedir, dolayısıyla öğrenme eğrisini en aza indirmenize yardımcı olmak üzere bu kılavuzu hazırladık. Ekran boyutunu değiştirme
DetaylıWindows 8.1 Güncelleştirmesi Adım Adım Kılavuzu
Windows 8.1 Güncelleştirmesi Adım Adım Kılavuzu Windows 8.1 Yükleme ve Güncelleştirme BIOS yazılımını, uygulamaları, sürücüleri güncelleştirme ve Windows Update'i çalıştırma Yükleme türünü seçme Windows
DetaylıBaşlarken NSZ-GS7. Ağ Ortam Oynatıcısı. Ekran görüntüleri, işlemler ve teknik özellikler önceden bildirilmeksizin değiştirilebilir.
Başlarken TR Ağ Ortam Oynatıcısı NSZ-GS7 Ekran görüntüleri, işlemler ve teknik özellikler önceden bildirilmeksizin değiştirilebilir. Başlarken: ON/STANDBY Oynatıcıyı açar veya kapatır. Bağlı cihazların
DetaylıComputer Setup Kullanıcı Kılavuzu
Computer Setup Kullanıcı Kılavuzu Copyright 2007 Hewlett-Packard Development Company, L.P. Windows, Microsoft Corporation kuruluşunun ABD de tescilli ticari markasıdır. Bu belgede yer alan bilgiler önceden
DetaylıWeb tabanlı altyapı sayesinde her cihazdan erişilebilir ve düzenlenebilir dokümanlar oluşturulup anında paylaşılabilir.
Eğitimde Google Doküman Uygulamaları 1.1 Google Uygulamalarına Giriş Google Doküman uygulamaları, hem öğretmenler, hem öğrenciler, hem de veliler için birçok farklı özellik sağlar. Kelime işleme, elektronik
DetaylıBil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi
Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,
DetaylıPower BI. Neler Öğreneceksiniz?
Power BI Kendi kendinize iş zekasını keşfedin. Verilerinizi analiz edin, etkileşimli raporlar oluşturun ve bulgularınızı firmanız genelinde paylaşın. Neler Öğreneceksiniz? Bu iki günlük eğitim, güçlü görseller
DetaylıPAPERWORK TEKNİK MİMARİ
PAPERWORK ECM TEKNİK MİMARİ 1. Şekilde (1) numara ile gösterilen Content Server adı verilen Uygulama Sunucusudur. Content Server tüm iş mantığını içerir. Veri Tabanına ve arşivlenen belgelere erişim yetkisi
Detaylıİçindekiler. Akıllı Tahta Uygulaması (ATU) Kullanma Kılavuzu. İçindekiler. Bölüm 1: Uygulama Hakkında Genel bilgi 2
İçindekiler 1 İçindekiler Bölüm 1: Uygulama Hakkında Genel bilgi 2 Bölüm 2: Akıllı Tahta Uygulamasının Yüklenmesi Akıllı Tahta Uygulaması nı yükleme 3 Akıllı Tahta Uygulaması nı kaldırma 3 Akıllı Tahta
DetaylıTeknik İş Raporu. HP Sure View. Tek tuşla iş cihazı ekranı gizliliği. Mayıs Teknik İş Raporu HP Sure View 01
Teknik İş Raporu HP Sure View Tek tuşla iş cihazı ekranı gizliliği Mayıs 2018 Teknik İş Raporu HP Sure View 01 İçindekiler Giriş... 03 HP EliteBook LCD nizde gizlilik nasıl ayarlanır, etkinleştirilir ve
DetaylıVodafone dan Office 365. Satış temsilcisi ismi Tarih
Vodafone dan Office 365 Satış temsilcisi ismi Tarih Yeni Office 365 Paketleri Bir işletmenin tüm temel çalışma ihtiyaçlarını karşılayacak üretkenlik paketi Sadece Office uygulamalarını güncellemek isteyen
DetaylıVeritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme
Veritabanı Tasarımı Kullanıcı Erişimini Kontrol Etme Konular Nesne ayrıcalıkları ve sistem ayrıcalıkları arasındaki farkı karşılaştırma Bir kullanıcının bir veritabanınaerişimini etkinleştirmek için gerekli
DetaylıFiery seçenekleri 1.3 yardımı (sunucu)
2015 Electronics For Imaging. Bu yayın içerisinde yer alan tüm bilgiler, bu ürüne ilişkin Yasal Bildirimler kapsamında korunmaktadır. 29 Ocak 2015 İçindekiler 3 İçindekiler...5 Bir Fiery seçeneğini etkinleştirme...5
DetaylıBİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ MICROSOFT POWERPOINT ve MICROSOFTPOWERPOINT ÇALIŞMA SORULARI
BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ MICROSOFT POWERPOINT ve MICROSOFTPOWERPOINT ÇALIŞMA SORULARI 1. Powerpoint ne tür bir programdır? a) Sunu Tasarım Programıdır b) Tablo - Grafik Programıdır c) Kelime
Detaylıİşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,
DetaylıDoğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No.
Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013 Ad, Soyad Öğrenci No. : : Öğretim Üyesi: Doç. Dr. Zeki BAYRAM Süre: 100 dakika Talimatlar:
DetaylıHDD Password Tool. Kullanıcı Elkitabı. Türkçe
HDD Password Tool Kullanıcı Elkitabı Türkçe 1 İçindekiler Bölüm 1: Giriş... 3 Ticâri markalar... 4 Bölüm 2: Gereken İşletim Sistemi... 5 - HDD Password Tool for Windows... 5 - HDD Password Tool for Mac...
DetaylıDOSYALARI DÜZENLEMEK
DOSYALARI DÜZENLEMEK Klasörler(Dizinler) ve Dosyalar Dosya Nedir? Dosya bilgi içeren öğedir. Dosyaların içerisinde metin, resim, ses, video vb. içerikler bulunabilir. Dosyaların türleri ve kendilerine
DetaylıECDL ImageMaker Müfredat
ECDL ImageMaker Müfredat Test Hedefleri: ECDL ImageMaker testi bir görüntü işleme uygulaması kullanarak Adayın yetkin olmasını ve sayısal görüntülerin altında yatan ana kavramların bazılarını anlamasını
DetaylıAkıllı Mürekkep Tasarrufları Kılavuzu
Akıllı Mürekkep Tasarrufları Kılavuzu Fiery proserver, her zaman mümkün olan en düşük mürekkep hacmini kullanır ve dolayısıyla son derece düşük maliyetlidir. Varsayılan ayar bile ICC profilleri kullanarak
DetaylıPEDVA Kullanıcı Kılavuzu
PEDVA Kullanıcı Kılavuzu 1. Tarayıcınızı (Browser) açın, http://www.pedva.net/ yazın Bu işlemden sonra PEDVA.net sitesinin ana sayfasına erişeceksiniz: Siteyi tanımak için menüler arasında sörf yapın.
DetaylıDJCONTROL COMPACT VE DJUCED 18 İLE BAŞLAMA
DJCONTROL COMPACT VE DJUCED 18 İLE BAŞLAMA KURULUM DJControl Compact'unuzu bilgisayarınıza bağlayın DJUCED 18 uygulamasını yükleyin DJUCED 18 uygulamasını başlatın Daha fazla bilgi (forumlar, eğitim malzemeleri,
DetaylıSony FY14 BRAVIA B2B. Yeni FY14 Bravia B2B serisi tanıtımı
Yeni FY14 Bravia B2B serisi tanıtımı Sony FY14 BRAVIA B2B Uygun maliyetli kurumsal ekran, eğitim ve kurumsal TV uygulamaları için etkileşimli seçeneklere sahip ince, dikkat çekmeyen, enerji tasarruflu
DetaylıHIZLI BAşVURU KILAVUZU
HIZLI BAşVURU KILAVUZU Windows Vista için İçindekiler Bölüm 1: Sistem Gereksinimleri...1 Bölüm 2:...2 Yerel Yazdırma Yazılımını Yükleme... 2 Ağdan Yazdırma Yazılımını Yükleme... 5 Bölüm 3: WIA Sürücüsünü
DetaylıVET ON KULLANIM KLAVUZU
VET ON KULLANIM KLAVUZU TEMEL KULLANIM BİLGİLERİ Sürüm: Ön İzleme.1 Not: Ön İzleme sürümü için oluşturulmuş dokümandır. Release sürüm notlarını içermez. Zaman içerisinde klavuz içerisinde yer alan bilgiler
DetaylıIPACK LADDER. Arayüz Dökümantasyonu
IPACK LADDER Arayüz Dökümantasyonu I. Giriş Bu dökümantasyon IPack Ladder yazılımının arayüz kullanımını, kullanılan model ile ilişkilerini ve işlevsel açıklamaları kapsamak üzere hazırlanmıştır. II. Dökümantasyon
DetaylıSeçenekler Menüsünde Yazdır, Kaydet, Kullanıcı Bilgisi Ve Uyumluluk Sekmelerinin Anlatımı
Kullanıcı Bilgisi Ve Uyumluluk Yazdır,kaydet,kullanıcı bilgisi,uyumluluk sekmelerin alatımı 1-Taslak kalitesi kullan ; Belgeyi en az biçimlendirmeyle yazdırmak için bu seçeneği belirleriz. Bu, yazdırma
DetaylıVAN EDREMİT İLÇE MİLLİ EĞİTİM MÜDÜRLÜĞÜ
VAN EDREMİT İLÇE MİLLİ EĞİTİM MÜDÜRLÜĞÜ DyNed TANITIM VE BİLGİLENDİRME TOPLANTISI HAZIRLAYAN Murat ÇILGIN DyNed NEDİR? DYNED, Dynamic ve Education (Dinamik ve Eğitim) kelimelerinin bir araya getirilerek
DetaylıMicrosoft SQL Server Sorgulama
Microsoft SQL Server Sorgulama Eğitim Takvimi Tarih Eğitim Süresi Lokasyon 26 Kasım 2018 3 Gün Bilginç IT Academy Eğitim Detayları Eğitim Süresi : 3 Gün Kontenjan : 12 Ön Koşullar : Herhangi bir ön koşul
DetaylıDijibil Kullanım Klavuzu
Dijibil Kullanım Klavuzu Nedir? Bil Yayın grubu içinde yer alan Pergel Yayınları, Dersuzmanı Yayınları ve Cancan Yayınları nın ürünlerinin dijital içeriklerinin bir arada sunulduğu bir sistemdir. Sistem
DetaylıVHOPE ve VHOPE kitaplık dosyalarını kurma
VHOPE ve VHOPE kitaplık dosyalarını kurma Adım 1, VHOPE'yi kurma Bu USB sürücüsündeki sunum materyalini kullanabilmeniz için öncelikle VHOPE uygulamasının bilgisayarınıza yüklenmesi gerekir. Volvo Kurumsal
DetaylıİÇİNDEKİLER BÖLÜM-1. BİLGİSAYARIN TANIMI VE ÇALIŞMA PRENSİBİ...1 BÖLÜM-2. WİNDOWS XP İŞLETİM SİSTEMİ...27
İÇİNDEKİLER BÖLÜM-1. BİLGİSAYARIN TANIMI VE ÇALIŞMA PRENSİBİ...1 1.1. GİRİŞ...1 1.2. BİLGİSAYARIN TANIMI VE TARİHSEL GELİŞİMİ...3 1.3. BİLGİSAYARIN FONKSİYONLARI...3 1.4. BİLGİSAYARIN YAPISI VE BİLGİSAYARI
DetaylıProgramlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler
Programlama Dilleri 1 Ders 12: Belirleyiciler ve Niteleyiciler Genel Bakış Giriş Yer Belirleyicilerle Bildirim İşlemi auto Belirleyicisi register Belirleyicisi static Belirleyicisi Statik ve Global Değişkenlerin
DetaylıŞimdi Pro Zamanı: MapInfo Pro 64 bit versiyonu tanıtımı!
Şimdi Pro Zamanı: MapInfo Pro 64 bit versiyonu tanıtımı! MapInfo Professional v 12.5 MapInfo Professional v12.5 Temaları Kartografik çıktı Performans iyileştirmeleri Çıktı penceresindeki haritayla doğrudan
DetaylıBİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT
BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ 040080202 MEHMET ALİ SERT 040090521 SUNUM İÇERİĞİ Problem Tanımı Tespit Edilen Sorunlar Problemin Sonuçları
DetaylıBilgisayarların Gelişimi
Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım
DetaylıWindows İşletim Sistemi
Windows İşletim Sistemi Bilgisayar (Özellikler) Bilgisayarınızın özelliklerini görüntülemek için : Masaüstünde Bilgisayar simgesine sağ tıklayarak Özellikler e tıklayın. Çıkan pencerede bilgisayarınızda
Detaylı