This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Defold, motorla ve proje derleme hattıyla bütünleşik profil çıkarma (profiling) araçları içerir. Bunlar performans, bellek ve kaynak (resource) kullanımı sorunlarını bulmaya yardımcı olur. Çalışma zamanına ait profil çıkarma verileri çeşitli araçlar tarafından kullanılabilir:
App Manifest içindeki Profiler ayarı, profil çıkarıcı kodunun bir derlemeye bağlanıp bağlanmayacağını denetler. Varsayılan değer Debug Only seçeneğidir; None kodu dışarıda bırakır, Always ise hem hata ayıklama derlemelerine hem de yayıma yönelik derlemelere dahil eder. game.project dosyasındaki profiler ayarları çalışma zamanı davranışını denetler ancak dışarıda bırakılmış profil çıkarıcı kodunu yeniden derlemeye bağlamaz. Özellikle Track CPU, CPU kullanımı örneklemesini denetler; App Manifest seçiminden ayrıdır.
Profil çıkarıcı desteği içeren derlemelerde, canlı bilgileri çalışan uygulamanın üzerinde gösteren bir çalışma zamanı görsel profil çıkarıcısı bulunur:
function on_reload(self)
-- Toggle the visual profiler on hot reload.
profiler.enable_ui(true)
end

Görsel profil çıkarıcı, verilerini sunma biçimini değiştirmek için kullanılabilecek çeşitli işlevler sağlar:
profiler.set_ui_mode()
profiler.set_ui_view_mode()
profiler.view_recorded_frame()
Profil çıkarıcı işlevleri hakkında daha fazla bilgi için profil çıkarıcı API başvuru belgelerine bakın.
Profil çıkarıcı desteği içeren bir masaüstü veya mobil derlemeyi çalıştırırken, etkileşimli kare ve kaynak profil çıkarıcılarına bir tarayıcı üzerinden erişebilirsiniz.
Kare profil çıkarıcısı, oyununuz çalışırken örnekler almanızı ve tek tek kareleri ayrıntılı olarak analiz etmenizi sağlar. Profil çıkarıcıya erişmek için:
Kare profil çıkarıcısı, çalışan oyunu farklı açılardan gösteren çeşitli bölümlere ayrılmıştır. Profil çıkarıcının görünümleri güncellemesini geçici olarak durdurmak için sağ üst köşedeki Pause düğmesine basın.

Birden fazla hedefi aynı anda kullandığınızda, sayfanın üst kısmındaki Connection Address alanını, hedef başlatıldığında konsolda gösterilen Remotery profil çıkarıcı URL adresiyle eşleşecek şekilde değiştirerek hedefler arasında elle geçiş yapabilirsiniz:
INFO:ENGINE: Defold Engine 1.3.4 (80b1b73)
INFO:DLIB: Initialized Remotery (ws://127.0.0.1:17815/rmt)
INFO:ENGINE: Loading data from: build/default



LuaMem değeri, Lua çöp toplayıcısının bildirdiği üzere Lua VM tarafından kullanılan belleğin kilobayt cinsinden miktarıdır. Memory, motorun kullandığı belleğin kilobayt cinsinden miktarıdır.
Max Sample Count ayarı, her karede iş parçacığı başına kaydedilen profil çıkarıcı örneklerinin sayısını sınırlar. Profil çıkarıcı sınırın aşıldığını bildirirse önce yerel kod eklentilerindeki (native extension) profil çıkarma kodunda eşleşmeyen bir kapsam başlangıç/bitiş çifti olup olmadığını kontrol edin. Üst sınırı yalnızca geçerli bir kare, yapılandırılmış sınırdan daha fazla kapsam içeriyorsa yükseltin.
Kaynak profil çıkarıcısı, oyununuzu çalışırken incelemenizi ve kaynak kullanımını ayrıntılı olarak analiz etmenizi sağlar. Profil çıkarıcıya erişmek için:
Kaynak profil çıkarıcısı 2 bölüme ayrılmıştır: biri oyununuzda o anda örnekleri oluşturulmuş koleksiyonların (collection), oyun nesnelerinin (game object) ve bileşenlerin hiyerarşik görünümünü, diğeri ise o anda yüklü olan tüm kaynakları gösterir.

HTML5, tarayıcı zaman çizelgesi için Remotery yerine Web Performance API’sini kullanır. Defold kapsamlarını kaydetmek için:
profiler.performance_timeline_enabled) ayarını etkinleştirin.Bu tarayıcı zaman çizelgesi, hem oyun içi görsel profil çıkarıcıdan hem de etkileşimli Remotery web profil çıkarıcısından ayrıdır.
Oyununuzu paketlerken bir derleme raporu oluşturma seçeneği vardır. Bu, oyun dağıtım paketinizin parçası olan tüm varlıkların (asset) boyutunu anlamak için çok yararlıdır. Oyunu paketlerken Generate build report onay kutusunu işaretlemeniz yeterlidir.

Derleme aracı, oyun dağıtım paketinin yanında report.html adlı bir dosya oluşturur. Raporu incelemek için dosyayı bir web tarayıcısında açın:

Overview, proje boyutunun kaynak türüne göre genel görsel dökümünü sunar.
Resources, boyuta, sıkıştırma oranına, şifrelemeye, türe ve dizin adına göre sıralayabileceğiniz ayrıntılı bir kaynak listesi gösterir. Gösterilen kaynak girdilerini filtrelemek için “search” alanını kullanın.
Structure bölümü, kaynakların proje dosya yapısında nasıl düzenlendiğine göre boyutları gösterir. Girdiler, dosyanın ve dizin içeriğinin göreli boyutuna göre yeşilden (hafif) maviye (ağır) doğru renklerle kodlanır.
Yerleşik araçlara ek olarak, ücretsiz ve yüksek kaliteli çok çeşitli izleme ve profil çıkarma araçları mevcuttur. Bunlardan bazıları şunlardır:
Yalnızca Lua ile yazılmış profil çıkarıcıların, kurdukları her kancayla (hook) oldukça fazla ek yük oluşturduğunu unutmayın. Bu nedenle böyle bir araçtan aldığınız zamanlama profillerine biraz temkinli yaklaşmanız önerilir. Bununla birlikte, sayım profilleri yeterince doğrudur.

Bu araç, çalışan bir Defold uygulamasını incelemenizi ve OpenGL’i nasıl kullandığını görmenizi sağlar. OpenGL işlev çağrılarını izlemenizi, OpenGL işlevlerine kesme noktaları koymanızı, uygulama kaynaklarını (dokular, programlar, gölgelendiriciler vb.) incelemenizi, arabellek içeriklerine bakmanızı ve OpenGL durumunun diğer yönlerini kontrol etmenizi sağlar.

Oyununuzun CPU, bellek ve ağ etkinliğine ait gerçek zamanlı verileri yakalayan bir profil çıkarma araçları kümesidir. Kod yürütülürken örneklemeye dayalı yöntem izleme gerçekleştirebilir, öbek dökümleri alabilir, bellek ayırma işlemlerini görüntüleyebilir ve ağ üzerinden iletilen dosyaların ayrıntılarını inceleyebilirsiniz. Aracı kullanmak için AndroidManifest.xml dosyasında android:debuggable="true" ayarını yapmanız gerekir.

Not: Android Studio 4.1’den itibaren Android Studio’yu başlatmadan profil çıkarma araçlarını çalıştırmak da mümkündür.
Bir uygulamadan grafik sürücüsüne yapılan çağrıları incelemenizi, değiştirmenizi ve yeniden yürütmenizi sağlayan bir araç kümesidir. Aracı kullanmak için AndroidManifest.xml dosyasında android:debuggable="true" ayarını yapmanız gerekir.
