lazye

Üstün
Katılım
5 Şubat 2024
Mesajlar
1.462
Makaleler
1
Çözümler
14
Beğeniler
839

1. Sorunun Kaynağı​


AMD ekran kartlarında VRAM saat hızı (Memory clock), ekrana gönderilen piksel saati (Pixel Clock) ile bağlantılıdır.

  • Eğer pixel clock belirli bir eşiğin üstüne çıkarsa, ekran kartı VRAM'i sürekli yüksek frekansta çalıştırır.
  • Bu durumda boşta (Idle) güç tüketimi yükselir ve VRAM saati 1750 MHz gibi yüksek bir değere takılı kalır.
  • Özellikle HDMI 1.3/1.4 bağlantılarında 340 MHz civarı bir sınır vardır.
  • DisplayPort bağlantısında da benzer şekilde pixel clock çok yükselirse aynı sorun yaşanır.

2. Pixel Clock Nasıl Hesaplanır?​

Pixel Clock şu formülle bulunur:

Kod:
PixelClock=(Hactive+Hfront+Hsync+Hback)×(Vactive+Vfront+Vsync+Vback)×Hz

  • H (horizontal) değerleri → yatay piksel sayısı
  • V (vertical) değerleri → dikey satır sayısı
  • Hz → yenileme hızı

Kavramlar Arası İlişki​


A. Active (Görüntü Alanı)​

  • Monitör Çözünürlüğü (örneğin. 1920×1080).
  • Burada gerçek görüntü bilgisi var.



B. Front Porch (Ön aralık)​

  • Görüntü satırı bittikten sonra Sync sinyalinden önceki boşluk.
  • Çok kısa bir süre.
  • Monitörün görüntüyü işlerken “hazırlanma süresi” gibi.



3. Sync Width (Senkron Genişliği)​

  • Ekranın taramanın başını anlaması için gönderilen darbe (Sync Pulse) süresi.
  • Yatay için: Tarayıcının satır başına dönme sinyali.
  • Dikey için: Ekranın bir sonraki kareye geçme sinyali.



4. Back Porch (Arka aralık)​

  • Sync darbesinden sonraki boş alan.
  • Yani ekran “hadi başla” komutunu aldıktan sonra görüntü başlamadan önceki bekleme süresi.
  • Monitörün elektronik devresinin yeni satıra/kareye hazır hale gelmesi için gerekiyor.

Aralarındaki matematiksel ilişki formülü;

Kod:
Front Porch<Sync Width<Back Porch


5. Blanking Interval (Boşluk Süresi)​

  • Front Porch + Sync Width + Back Porch toplamı.
  • Yani bir satırın veya bir karenin görünmeyen kısmı.

Formül olarak:


Kod:
Hblanking=Hfront+Hsync+Hback

Kod:
Vblanking=Vfront+Vsync+Vback

Toplam yatay piksel:

Kod:
Htotal=Hactive+Hblanking

Toplam dikey satır:


Kod:
Vtotal=Vactive+Vblanking

Ve pixel clock:


Kod:
PixelClock (Mhz)=Htotal×Vtotal×Hz


🔗 İlişkiyi Basitleştirelim​


  • Front Porch / Back Porch / Sync Width = Tek tek parçalar
  • Blanking = Bu üçünün toplamı
  • Pixel Clock = (Active + Blanking) × Refresh Rate
  • Pixel Clock büyüdükçe → VRAM yükteymiş gibi davranır → Idle Power artar

Örnek: 1080p 144 Hz (standart CVT)​


  • H_Active = 1920
  • H_Front = 88
  • H_Sync = 44
  • H_Back = 148 → H_Total = 2200
  • V_Active = 1080
  • V_Front = 4
  • V_Sync = 5
  • V_Back = 36 → V_Total = 1125

Hesap:

Kod:
2200×1125×144≈356.4𝑀𝐻𝑧

Ortak pixel clock limitleri​

DVI​









Links​








Limit​








Data rate​








Bandwidth​
Single165 MHz3.96 Gbps4.95 Gbps
Dual330 MHz*7.92 Gbps9.9 Gbps
* Teknik olarak DVI spesifikasyonunda tanımlanmış bir sınır yoktur, ancak genellikle 330 MHz ile sınırlıdır.

HDMI​









Version​








Limit​








Data rate​








Bandwidth​
1.0-1.2a165 MHz3.96 Gbps4.95 Gbps
1.3-1.4b340 MHz*8.16 Gbps10.2 Gbps
2.0-2.0b600 MHz14.4 Gbps18 Gbps

* HDMI 2.0'a sahip olmayan AMD GPU'lar 297 MHz ile sınırlıdır. HDMI 2.0'a sahip olmayan Intel GPU'lar 300,99 MHz ile sınırlıdır.

DisplayPort​


DisplayPort sınırlamaları şerit sayısına ve bağlantı hızına bağlıdır:

  • DisplayPort'un tüm sürümleri Düşük Bit Hızı (RBR) ve Yüksek Bit Hızı (HBR) desteğine sahiptir.
  • Yüksek Bit Hızı 2 (HBR2), DisplayPort 1.2 ve daha yeni sürümler tarafından desteklenir.
  • Yüksek Bit Hızı 3 (HBR3), DisplayPort 1.3 ve daha yeni sürümler tarafından desteklenir.

4 lanes​









Link rate​








8 bpc limit​








6 bpc limit​








Data rate​








Bandwidth​
162 MHz (RBR)216 MHz288 MHz5.184 Gbps6.48 Gbps
270 MHz (HBR)360 MHz480 MHz8.64 Gbps10.8 Gbps
540 MHz (HBR2)720 MHz*960 MHz*17.28 Gbps21.6 Gbps
810 MHz (HBR3)1080 MHz1440 MHz25.92 Gbps32.4 Gbps
* NVIDIA Kepler GPU'ları 540 MHz ile sınırlıdır.

2 lanes​









Link rate​








8 bpc limit​








6 bpc limit​








Data rate​








Bandwidth​
162 MHz (RBR)108 MHz144 MHz2.592 Gbps3.24 Gbps
270 MHz (HBR)180 MHz240 MHz4.32 Gbps5.4 Gbps
540 MHz (HBR2)360 MHz480 MHz8.64 Gbps10.8 Gbps
810 MHz (HBR3)540 MHz720 MHz12.96 Gbps16.2 Gbps

1 lane​









Link rate​








8 bpc limit​








6 bpc limit​








Data rate​








Bandwidth​
162 MHz (RBR)54 MHz72 MHz1.296 Gbps1.62 Gbps
270 MHz (HBR)90 MHz120 MHz2.16 Gbps2.7 Gbps
540 MHz (HBR2)180 MHz240 MHz4.32 Gbps5.4 Gbps
810 MHz (HBR3)270 MHz360 MHz6.48 Gbps8.1 Gbps

  • 2 lane modları genelde dizüstü bilgisayarlarda ve EDP (embedded DisplayPort) panellerde kullanılır.
  • 1 lane modları çoğunlukla mobil cihazlar ve düşük çözünürlüklü uygulamalar için (örneğin VR gözlük içi ekran) kullanılır.

3. Çözüm: Blanking Değerlerini Ayarlamak​


Monitörümüz için kullanılan Giriş/Çıkış Portlarını öğrenmeliyiz. Bunun en kolay yolu da monitörümüzün tam model bilgisini üreticinin kendi web sitesi üzerinde teknik özelliklerinden tam bilgileri sağlamalıyız.

Örnek;

ASUS TUF GAMING VG249Q1A


Giriş/Çıkış Portları
DisplayPort 1.2: X 1 adet
HDMI (v1.4): X2 adet

Ekran kartım monitöre HDMI 1.4 portu üzerinden bağlı olduğu için Pixel Clock'u ≤340 MHz olabilir.

  • Vertical Back Porch ve Blanking değerlerini artırmamız gerekiyor bu da toplam vertical Total piksel sayısını artırır.
  • Böylece uygun pixel clock ile VRAM artık Idle (boştayken) durumda frekans düşürerek güç tüketimi düşüyor.

Monitörümün fabrika çıkışı zamanlama değerleri incelendiğinde, ekran kartımın HDMI 1.4 portu üzerinden bağlandığını ve bu nedenle pixel clock değerinin 340 MHz'i aşmaması gerektiğini belirtmiştim. 1920×1080 çözünürlükte 144 Hz yenileme hızında hesaplanan pixel clock değeri 328.64 MHz olarak görünse de, ekran kartının VRAM saat hızının yine de maksimum seviyeye çıktığını ve sistemin boşta çalışırken dahi gereksiz güç tüketimine yol açtığını gözlemledim.

1.webp


3.webp


Teorik olarak bu değer, VRAM'in düşük saat hızına geçmesi için yeterli olmalıydı. Ancak burada farklı bir durum ortaya çıkıyor:
  • VBlank düşük olursa → V_total küçülür → her kare daha az “boş satır” içerir.
  • Böylece toplam tarama süresi kısalır, aynı kare daha sıkışık gönderilir. Bu da pixel Clock'u düşürür . Fakat buradaki asıl mesele pixel clock saat hızı zaten sınırlar dahilindedir. Boşluklar yeterince dolu olmadığı için GPU “yüksek bant genişliği gerekiyor” diye düşünür → VRAM'i yüksek frekansta sabitler.
Son olarak değiştirilmiş değerlerim aşağıdaki gibidir.

2.webp


4.webp


Sonrasında sırasıyla ok ve ok seçiyoruz. CRU klasörünün içindeki restart64.exe iki kere çift tıklıyoruz masaüstü gidip gelecektir korkmayın. Masaüstü görüntü ayarlarından yenileme hızını kontrol edip çıkıyoruz.

Önemli olan vertical blanking değerini artırırken, pixel Clock'un 340 MHz'in üzerine çıkmasını önlemek için yatay zamanlama parametrelerinde düzenlemeler yaptım. Bu kapsamda, horizontal (front porch, Sync width ve back porch) değerlerini uygun şekilde düşürdüm. Bu düşürme işlemini, yukarıda açıkladığım aralarındaki ilişki çerçevesinde gerçekleştirdim; yani front porch en küçük, Sync width orta ve back porch en büyük olacak şekilde ayarlayarak hem pixel Clock'u hedeflenen sınırın altında tuttum hem de monitörün senkronizasyon gereksinimlerini korudum.


Kod:
Front Porch<Sync Width<Back Porch

Artık güç tüketimi yüksek tazeleme oranında bile 38W'dan 9W seviyesinde kalıyor. Bu sayede gereksiz güç tüketimi önüne geçmiş oluyoruz.

Not: Bu rehberin diğer rehberlerden temel farkı, monitörün tazeleme oranını düşürmeden veya ekran zamanlayıcı ayarlarını değiştirmeden (CVT-RB kullanmadan), matematiği kullanarak pixel clock ve blanking interval ilişkilerini anlamaya dayalı bir yöntem sunmasıdır. Bu yaklaşım sayesinde tüm değerler, teorik ve pratik sınırlar gözetilerek olması gerektiği gibi ayarlanmakta ve böylece ekran kartının boşta yüksek VRAM frekansına takılması önlenerek güç tüketimi optimize edilmektedir.

Custom Resolution Utility (CRU) uygulaması için; https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU
direkt indirme linki; https://www.monitortests.com/download/cru/old/cru-1.5.2.zip

Farklı yerlerde beni ve konuyu referans gösterip paylaşabilirsiniz. Emeğe saygı gösterip bir beğeniyi çok görmezsen sevinirim. :)
 
Son düzenleyen: Moderatör:
Çift monitör konusunda deneyimlemedim. Bildiğim kadarıyla her ikisi monitörde aynı çözünürlük ve aynı tazeleme oranında olmazsa bunu gerçekleştirmen mümkün olmayabilir. Her iki monitör de aynı çözünürlük ve aynı tazeleme oranına alıp (144 Hz) cvt_rb ile bir dene güç tüketimin düşecek mi ona göre ilerlemek daha mantıklı.
 

@lazye merhaba güzel rehber olmuş eline sağlık, tek monitörüm var AOC 27G2U/BK Display portunu kullanıyorum kutusundan çıkan orjinal kablosu ile Sapphire RX 5700xt SE ve Asus Tuf Rx 7700xt ekran kartım var iki ayrı kasaya sahibim ikisine de aynı formatı attım aynı driver(en güncel 25.11.1) sürümünü kurdum fakat 7700XT ekran kartında böyle bir problem yokken 5700XT olması insanı rahatsız ediyor DDU ile kaldırıp birkaç tane eski sürüm driver denedim değişen bir şey olmadı​

bu sorunun AMD driver' ından kaynaklandığını düşünüyorum 7700XT'de bu sorunu yaşamazken neden 5700XT de yaşıyorum anlamış değilim Custom Resolution Utility (CRU) neden bu programı kullanmak zorunda kalıyoruz 7700XT'ye göre 5700XT'nin yapamadığı ne?​

böyle bir sorundan AMD yetkililerin haberi var mı? Yoksa yetkililere nasıl iletebiliriz, yetkililerle iletişime geçen var mı? Programsız bir çözümü bulan var mı?​