Mesele ortak aslında. Oyunlarda da bir program parçasını test ederken de bazen yüksek hız için yapılan numaralar sıkıntı oluşturabiliyor. Çabucak bu özellikleri açıp kapatabilmek kullanıcıya çok zaman kazandırıyor. Bir nevi 386'lardaki turbo tuşu gibi, hakim olduğu hız bandı çok daha geniş.
Bana gelirsek, 10yıl ya da biraz daha fazla zaman önce herhalde inanılmaz çok boş zamanım vardı ki saatlerimi program yazma ve denemeler başında geçirirdim. Bir fonksiyonu kurcalarken tekrar tekrar compile edip işini nasıl yapıyor, doğru mu, hız nasıl değişti, takılma varmı vb bakardım.
Burada kontrol edilemeyen faktörler cache'ler ve işlemcinin hızlandırıcı özellikleri. Programın gideceği yolu bir nevi ana yola paralel otoban gibi benzetme yaparsak programın ne zaman otobana çıkacağını ve hızlı çalışacağını assembly kullanmadan her seferinde tutturmak pek mümkün değil.
Benim tecrübe ettiğim en ağır program parçaları 3d texture mapping. Herşey çok hızlı olmalı, cache'lerden pipeline'lerden sonuna kadar faydalanmalı. Cache pipeline vb disable edip denemeler yapmak ve adım adım en uygun algoritmayı tespit ettikten sonra (yani yeter bundan fazlasıyla uğraşamayacağım artık dedikten sonra) assembly optimizasyona geçip program parçasını cache ve pipeline'leri en iyi kullanacak hale getirmek gerek. (Bu işlere yardımcı olmak için intel'in v-tune vb programları var bu arada)
Sıkıştırma/açma program parçaları da aynı şekilde cache/pipeline'lerden çok etkileniyor. Birebir uğraşmadım ama ses mix işleme vb de benzer şekilde hassas sanırım.
Bir ara lafı geçmişti clip ve 3gfx programlarını göndermiştim. Bunlar tabii son ürüne çok uzak şeyler, ama denemeler yapmamı kolaylaştırıyor. Clip win32 altında 32-bit texture map yapar, matematik işlemci kullanır, matematik işlemci kullanmayacak şekilde baştan yazmak lazım. 3dgfx 386/486 için ekran kartı hızını kabaca test için yazmıştım, çizgi çizme ve ekran doldurma ile test yapar.
http://www.commodore.gen.tr/forum/index.php?topic=13169.msg154280#msg154280Daha gerçek işler olarak utah-glx'in nvidia tnt driverinde düzeltmelerim vb var, dri yokken nvidia kartlarda 3d hızlandırmak için onu kullanıyorduk. hexen 2 hammer of tyrion'un macosx'e port edilmesinde de bir miktar emeğim vardır (esas işi yapan özkan sezer, üstüme kalmasın
