Tuval harika! - sayfa 66

 
Arayüz ölçekleme gibi bazı görevler için görüntü yeniden boyutlandırma işlevini önemli ölçüde basitleştirebilirsiniz.
Verilen boyutlarda bir kaynağı yüklemek için bir fonksiyon örneği.

 bool   ImageFromResource( const string _resource, const int _w, const int _h, uint &_pic[])
{
   uint lp[];
   int wr, hr;
   if (_w< 2 || _h< 2 ) return ( false );
   if (! ResourceReadImage (_resource,lp,wr,hr))
   {
       Print ( "Еrror loading resource: " ,_resource);
       return ( false );
   }
   if (_w!=wr || _h!=hr)
   {
       //resize image
       ArrayResize (_pic,_w*_h);
       double sw=( double )_w/wr;
       double sh=( double )_h/hr;
       //
       for ( int _y= 0 ; _y<_h; _y++)
         for ( int _x= 0 ; _x<_w; _x++)
            _pic[_y*_w+_x]=lp[ int (_y/sh)*wr+ int (_x/sw)];
   } else ArrayCopy (_pic,lp);
   return ( true );
}

Yeniden boyutlandırma algoritmalarının görsel karşılaştırması, sağda basitleştirilmiş bir versiyondur.


 
fxsaber :

bu tür Terminallerin banal minimizasyonu, CPU üzerindeki ağır yükü neredeyse sıfıra indirir. Neden böyle mantıksız bir şekilde yemek yiyen bir GUI anlaşılmaz.

bunun için programcılara teşekkür etmeliyim,

örneğin, en popüler video madvr codec'inde bir duraklamada, madencilik yapıyormuş gibi yiyor)

 
fxsaber :

Evet. Geliştiricilerin, Market Watch'ın yüksek frekansta yüzlerce karakterden alıntı yaptığı beş Terminali paralel olarak çalıştırdığını sanmıyorum.

Bu tür Terminallerin banal en aza indirilmesi, CPU üzerindeki ağır yükü neredeyse sıfıra indirdiğinde çok aptalca çıkıyor. Neden böyle mantıksız bir şekilde yemek yiyen bir GUI anlaşılmaz.

Saniyede 300 kez gui çizmenin ücretsiz olduğunu düşünüyor musunuz?

Sonuçta, yanlış çizdiğimizi, çizimi bitirmediğimizi veya çizimi atladığımızı ilk beyan eden siz olacaksınız.

Bir masaüstünden bahsediyorsak, normal bir hızlı ekran kartına ihtiyacınız var - yüksek işleme sıklığından kurtulacaktır. Pencereleri simge durumuna küçültmek, en sık kullanılan çizim uygulamalarında yükü azaltır.


Bilgi için: MetaTrader, saniyede yüksek fiyat akışı nedeniyle 100-300 FPS yapabilir. Geleneksel programlar gibi saniyede 1-2 kare değil, alıntı akışlarına bağlı olarak aslında yüzlerce kare.

 
Renat Fatkhullin :

Saniyede 300 kez gui çizmenin ücretsiz olduğunu düşünüyor musunuz?

Sonuçta, yanlış çizdiğimizi, çizimi bitirmediğimizi veya çizimi atladığımızı ilk beyan eden siz olacaksınız.

Bir masaüstünden bahsediyorsak, normal bir hızlı ekran kartına ihtiyacınız var - yüksek işleme sıklığından kurtulacaktır. Pencereleri simge durumuna küçültmek, en sık kullanılan çizim uygulamalarında yükü azaltır.


Bilgi için: MetaTrader, saniyede yüksek fiyat akışı nedeniyle 100-300 FPS yapabilir. Geleneksel programlar gibi saniyede 1-2 kare değil, alıntı akışlarına bağlı olarak aslında yüzlerce kare.

Renat, şu anda 10 intel işlemci seviyesinde olan ve çekirdek başına zen2 daha hızlı çalışan tüm yeni işlemcileri test ettin, burada çalışırlar mı?

Bildiğim kadarıyla multithreading'de Intel yok, AMD multithreading'i iyi bir şekilde paralelleştiriyor, bunun için iyi bir kullanım var
 

Tuval - Harika!

Ticarette nasıl yardımcı olur?

 
Renat, hazır buradayken lütfen bir cevap yaz.
 
prostotrader :

Tuval - Harika!

Ticarette yardımcı olur mu?

Evet

 
Yury Kulikov :
Arayüz ölçekleme gibi bazı görevler için görüntü yeniden boyutlandırma işlevini önemli ölçüde basitleştirebilirsiniz.
Verilen boyutlarda bir kaynağı yüklemek için bir fonksiyon örneği.

Yeniden boyutlandırma algoritmalarının görsel karşılaştırması, sağda basitleştirilmiş bir versiyondur.

Evet, Yuri, katılıyorum. Böyle ultra hızlı bir algoritmanın yaşam hakkı vardır.
Ama tabi ciddi bir kalite kaybı var. Özellikle keskin renk geçişlerinin olduğu görüntülerde.
Örneğin, bunu açıkça gösteren bir senaryo çizdim. Sağda bu hızlı algoritma ve solda benim (4-10 kat daha yavaş bir yerde) var.
Normal bir ekran görüntüsü küçültme örneği:


ZY Bu arada, neden bu kadar göz kırpma olduğunu anladım. Her karede bitmap'i yeniden boyutlandırıyordum, bu aptalcaydı ve nedeni buydu. Şimdi kaldırıldı ve her şey sorunsuz çalışıyor.

Dosyalar:
Scaling.gif  12254 kb
scaling2.zip  290 kb
 
Fast235 :

Renat, şu anda 10 intel işlemci seviyesinde olan ve çekirdek başına zen2 daha hızlı çalışan tüm yeni işlemcileri test ettin, burada çalışırlar mı?

Bildiğim kadarıyla multithreading'de Intel yok, AMD multithreading'i iyi bir şekilde paralelleştiriyor, bunun için iyi bir kullanım var

Tüm modern işlemciler yeterince hızlıdır.

Özellikle terminal görevleri için çok fazla bellek ve NVMe diski varsa. Orta sınıf bir grafik kartı şiddetle tavsiye edilir.

Şirketimizde Intel'i reddediyoruz ve bir yılı aşkın süredir sunucular ve iş istasyonları için yalnızca AMD Epyc satın alıyoruz.

 
Renat Fatkhullin :

Tüm modern işlemciler yeterince hızlıdır. Özellikle çok fazla bellek ve NVMe sürücüsü varsa.

Bir terminal için orta sınıf bir grafik kartı şiddetle tavsiye edilir.

Şirketimizde Intel'i reddediyoruz ve bir yılı aşkın süredir sunucular ve iş istasyonları için yalnızca AMD Epyc satın alıyoruz.

Harika)