PCI latency timer/PCI gecikme sayacı günlük kullanımda hiç karşılaşmadığınız bir terimdir. Hatta BIOS'u kurcalamayanlar böyle bir şeyin varlığından bile haberdar değildir. Peki nedir bu PCI gecikmesi?


PCI bant genişliği, tüm PCI cihazlar tarafından paylaşılır. Eğer birden fazla PCI kart kullanıyorsanız paylaşımın nasıl olacağı çok önemlidir. IRQ ayarlarını duymuşsunuzdur. Interrupt Request demek. Yani müdahale isteği denebilir. Kafanızda canlandırma yapmak için şöyle bir örnek vereyim. Siz bir sınıfta öğretmensiniz. Sınıfta ders anlatırken bir öğrenci parmak kaldırıp söz istedi. İşte bu Interrupt requesttir. Eğer çocuk parmak kaldırmazsa öğretmen çocuğun bir sorusu olduğunu anlayamaz ve onunla ilgilenemez. Öğretmen bu örnekte CPU, çocuklar da sistemdeki bileşenler oluyor. Bileşenler IRQ ile işlemciye ben burada bir şeyler yapıyorum ilgilen derler. İşlemci de o işle ilgilenir. Ses işleme işi varsa işler, görüntü işleme işi varsa işler, farenizin hareket etmesi gerekiyorsa ettirir gibi. Eğer IRQ çakışması olursa cihaz isteğini işlemciye bildiremez ve o işlem yapılamaz. Siz de kart bozuk diye bilgisayarcının yolunu tutarsınız :) Neyseki günümüzde işletim sistemleri APIC desteği sayesinde IRQ sıkıntısı yaşanmasını engeller. Dolayısıyla artık bugün IRQ çakışması sorununu yaşamıyoruz. Ancak bir sorun çaktırmadan bizi etkilemekte.


Çocuk parmağını kaldırdı ve öğretmen onunla ilgilendi. Ancak sırada soru soracak başka çocuklar da var. Eğer söz alan öğrenci öğretmeni çok meşgul ederse diğerleri sorularını soramazlar. İşte PCI latency timer burada devreye giriyor. Öğrenciye sorusunu tamamlaması için belli bir süre veriyor. Süre bitiminde diğer çocuklar da söz alıyor. Ama söz alacak kimse yoksa ilk öğrenciye tekrar söz verilebiliyor. PCI kartlar da PCI veri yolunu ancak belli bir süreyle meşgul edebilirler. PCI latency timer bu süreyi ayarlamak için kullanılır ve BIOS'ta bulunur.



Burada 32 değeri anakart üreticisi tarafından atanmış. Peki bu sayı neyi ifade ediyor?


Gecikme zamanlayıcısından söz ediyorsak bir de zaman olmalı değil mi? İşte bu sayı o zamanı gösteriyor. Yani bir bileşenin PCI veriyolunu ne kadar süreyle meşgul edeceğini gösteriyor. Diyelimki ses kartınız bir ses işleme operasyonu yapacak. Bu ayarda ses kartı PCI veriyolunu 32 saat döngüsü meşgul edebilir.32 saat döngüsü tamamlanınca sırada bekleyen diğer bileşenlere yol verilir. Sırada bekleyen ses kartı işine devam eder. Diyelim ki bu sayı bir başka bileşen için 64. O zaman 64 gecikme değeri olan kart PCI veriyolunu daha uzun süre meşgul edeceğinden sırada bekleyen kart buna ayak uyduramaz ve bir şekilde işini göremez ya da olması gerektiği gibi göremez. Fakat çok da düşük olursa bu defa da kart tam veri yolundan yararlanırken süre çabucak dolar ve sıra diğer karta geçer. Yani yaptığı iş sık sık bölünür. Bu da, örneğin, performans kaybına yol açar.


Bu yazımızın amacına gelirsek: Yukarıda PCI gecikme değerinin BIOS'tan ayarlandığını gördük. Sorun şu ki, BIOS'a girdiğimiz değer kullandığımız kartlar tarafından saf dışı bırakılıyor. Yani bir kart, üreticisi isterse BIOS'ta ayarlandığından daha farklı, genelde daha yüksek, bir değer verebilir. Bunu da PCI paylaşımında olabilecek sorunlardan kendi ürünlerinin etkilenmemesi ve biraz performans kazancı için yapıyorlar. Peki bunu kim ister? Öncelikle ekran kartı ürütecileri. Çünkü 1 FPS fark yüzünden kartlar birinci ya da ikinci ilan edilebiliyor. Bunun yanında sorun çıkma ihtimalini de azaltarak kendilerine gelecek şikayetleri de azaltıyorlar. Ancak bunun yan etkleri olabiliyor. Yüksek gecikme değerli kartlar diğer kartları olumsuz etkiliyor.


En sık gelen şikayet ses kartlarında müzik dinlerken, film izlerken ya da ses kaydı yaparken oluşan çatlama tarzı uzun sürmeyen fakat aralıklarla meydana gelip rahatsızlık veren sesler ve hatta kesintiler. Bu sık karşılaşılan bir durum ama zannetmeyin ki sadece ses kartı etkileniyor. Ben ses kartı yüzünden bu konuda araştırma yaptığımdan bu örneği veriyorum ama birazdan anlatacağımız çözümü uyguladıktan sonra sisteminde olumlu değişiklikler görenler de olmuş. Şikayeti olmayanlar bir şey yapmak zorunda değil ama özellikle birden fazla kart kullananlar dikkat etmeli. Kendi Audigy kartımda seste yukarıda bahsettiğim kirliliği yaşıyordum ve bir çok Audigy kullancısı da yaşıyor. Sürücü güncellemeleri faydalı olmadı. Creative bu sorunun PCI gecikmelerinden kaynaklanabildiğini bunun da anakart üreticilerinin sorumluluğunda olduğunu söylürdu. Çözüm olarak da PCI gecikmeleriyle oynanması gerektiğini belirtiyorlardı. Halbuki sorun çok başka bir kaynaktan geliyordu. Anakart BIOS'ta seçenek sunsa da kartlar bunu dikkate almayabiliyordu. Bu da anakart üreticisinin sorunu değil tabii.


Ben de nette yaptığım araştırmaların sonucunda meşhur Power Strip programının geçerli PCI gecikmelerini gösterdiğini ve hatta müdahale şansı verdiğini öğrendim. PowerStrip öncelikli olarak ekran kartı ayarlarını kurcalamaya ve kartları overclock etmeye yarayan bir yazılım. Ve paralı. Ben de kendime bu iş için başka bir yazılım bulmuştum ama bu son durum beni tekrar PowerStrip'e döndürdü. Siz de buradan çekebilirsiniz. Paralı ama bizim işimizi görüyor.


Programı kurduktan sonra aşağıda gördüğünüz gibi options'tan adapters'e giriyorsunuz.



Adapters'ı seçince karşınıza bilgi ekranı gelecek.



İşte Radeon 9700Pro ve latency yani gecikme değeri. Tam 248! 32-64 civarı bir şey beklerken ne bulduk. Devam ediyoruz.



RAID konrtolcüsü ise 96 gecikme süresi almış.



Bu da Audigy. Olması gerektiği gibi çalışıyor. Şunu sorabilirsiniz. Diğerleri yüksekse ses kartını da yükseltiriz. Ben yüksek olanları aşağı çekme taraftarıyım. Ayrıca ses kartını 64 yapınca winamp yarım saat düzgün çalıştıktan sonra slow-motion çalmaya başladı :)


İlk olarak RAID'i 32 ve ekran kartını da 80 yaptım. Şu anda ses kartım çok düzgün çalışıyor ve RAID ile ekran kartı yeni ayarlardan olumsuz etkilenmedi. Siz de kendi değerlerinizi bulmalısınız. Ekran kartı burada kritik, çünkü en yüksek gecikme değeri onda. Ben 80'den memnunum. Siz de bir oyunla benchmark yapın ve önce bu örnekte 248 iken deneyip sonucu kaydedin sonra da 80 ile deneyin. Baktınız FPS düşüyor o zaman daha yüksek bir değer girin; örneğin 120. 8'e bölünebilme şartı var. Bu şekilde hem ses sorununuzu hem de varsa diğer sorunlarınızı çözer hem de ekran kartının performansını fazla düşümezsiniz. Belki de hiç düşmez. Denemeniz gerek. Bir iki FPS için sistemin dengesini bozmak gereksiz.



Şimdi aynı ekranın tamamını görüyoruz. Burada üç yere bakacaksınız. Hepsi işaretli. Önce ayar yapabilmek için sağ alt köşedeki read only yazan kısmındaki işareti kaldırın. Sonra ekran kartına latency yazan yerden yeni değeri girin. Oklardan seçim yapabilirsiniz. Daha sonra diğer kartları görmek için sağ üst köşedeki oklardan diğer kartları seçin ve gecikme değerlerini görün. Fazla olan varsa 32'ye getirin. Bu çözüm nforce2'lerdeki ses sorunlarının da çözümüne katkıda bulunabilir. Nforce2'de APU için gecikme ayarı yok ama belki bu olayla, yaşanan ses sorunlarının ilişkisi olabilir. Denemesi bedava olduğundan bence sorun yaşıyorsanız bir bakın.


Bu çözüm benim sorunlarımı çözdü. Umarım size de faydası olur. Tecrübelerinizi paylaşmak için forumumuzdaki ilgili bölüme uğrayın.