Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Dmitry, bir şeyi yargılamadan önce, her şeyin nasıl başladığını anlamalısın ...
Her şey nerede başladı? Gerçeklikten kopuk mu?
Etikete metin çıktısı, tuvale çıktıdan 100 kat daha hızlıdır, ancak tuval onu temizlememiş, ancak metni metne yontmuş olmasına rağmen.
Yakında Canvas'ın yeterince hızlı olacağı testler sunacağım. Ayrıca ilgili kaynak kodlarını KB olarak güncelleyeceğim. Daha sonra öğrendiğim gibi, her şey zaman birimi başına güncelleme sayısını sınırlamakla ilgili. Yukarıdaki mesajlara bakın, orada tartışıldı. Bu gönderiyle başlayın: https://www.mql5.com/ru/forum/364640/page6#comment_21290218 .
Yakında Canvas'ın yeterince hızlı olacağı testler sunacağım. Ayrıca ilgili kaynak kodlarını KB olarak güncelleyeceğim. Daha sonra öğrendiğim gibi, her şey zaman birimi başına güncelleme sayısını sınırlamakla ilgili. Yukarıdaki mesajlara bakın, orada tartışıldı. Bu gönderiyle başlayın: https://www.mql5.com/en/forum/364640/page6#comment_21290218 .
Ve ben hayal kurmuyorum, ama gerçekte kullanılacak olan kodun çalışmasını ölçeceğim. Ve neyin, nerede çizildiği kesinlikle umurumda değil, programın son zamanını ölçüyorum.
Ve ben hayal kurmuyorum, ama gerçekte kullanılacak olan kodun çalışmasını ölçeceğim.
Yalnızca bir TextOut () çağrısının tamamen aptalca bir karşılaştırması bile, etikete metin çıktısı ile karşılaştırıldığında 70 kat daha yavaştır.
Eğer istemiyorsan veya çözemiyorsan, sana bir teklif vereyim:
Nikolai haklı - etiket özelliklerini düzenlemenin etiket oluşturma ile hiçbir ilgisi yok.
Etiket, grafikteki diğer herhangi bir nesne gibi, MQL5 programının çalışmasından bağımsız olarak tamamen farklı bir iş parçacığında çizilir. Robot sadece çizelgenin tekrar çizilmeye zorlanmasını isteyebilir, ancak çizim süresini ölçemez. Nesnelerle bir grafik çizmek tamamen eşzamansızdır.
Ancak, doğrudan robot iş parçacığında yapıldığından tuvalde çizimin ölçülmesi kolaydır ve ardından grafiğin bağımsız çizimi sırasında, bitmiş bitmap'in yerel BitBlit'ini pencere bağlamına dönüştürmek kalır. Bu işlem temeldir ve video kartı tarafından iyi bir şekilde hızlandırılır.
Metin etiketlerinde TTF yazı tiplerinde SetFont/TextOut oldukça pahalıdır.Bunu istemiyorsanız veya anlamak istemiyorsanız, o zaman bir teklifiniz var:
sana cevap verdim zaten
sana cevap verdim zaten
MetaQuotes'un yönetmeniyle tartışacak mısınız?
MetaQuotes'un yönetmeniyle tartışacak mısınız?
Anlaşmazlığımız yok.
Yalnızca bir TextOut () çağrısının tamamen aptalca bir karşılaştırması bile, etikete metin çıktısı ile karşılaştırıldığında 70 kat daha yavaştır.
Bunun nedeni, grafiğin ayrı bir iş parçacığında çizilmesidir. OBJ_BITMAP_LABEL için piksel dizisini, onu kullanan uygulama ile aynı iş parçacığında işlerken ve pikselleri bitmap'e geçirirken. Bu nedenle, OBJ_BITMAP_LABEL , bitmap'i çok sık güncellemediğiniz sürece uygulamayı yavaşlatabilir, ancak önemli ölçüde değil. Sadece önceki testlerimde OBJ_BITMAP_LABEL aynı sebepten dolayı ciddi bir yavaşlama verdi. Ancak bitmap güncellemelerinin sıklığını sınırlarsanız, sonuç etiketlerden daha iyi olacaktır. Ve etiket güncellemelerinin sıklığını sınırlarsanız, bunlar OBJ_BITMAP_LABEL'den biraz daha hızlı çalışırlar (ayrı bir iş parçacığında çizim nedeniyle). Basitçe, nesneleri insan gözünün algılayabileceğinden daha sık güncellemenin bir anlamı yoktur. Bu nedenle, çok sık güncellendiklerinde grafiğin tüm nesneleri frenler.