Önceki başlık :: Sonraki başlık |
Yazar |
Mesaj |
OsmanTuran

Kayıt: Apr 09, 2004 Mesajlar: 210 Nereden: Mersin - K.Maraş gel-git halinde
|
Tarih: Sun Dec 19, 2004 1:11 pm Mesaj konusu: Her insan hata yapar |
|
|
Oncelikle Herkese Merhaba,
Uzun zamandir is yogunlugundan dolayi mesaj atamiyordum. Buldugum bir hatayi bildireyim dedim. Boylece bir yere kacmadigimi bildirmis olurum
Malum bundan bir kac ay once Doom3 cikti. Eger hatirlayanlar varsa elimdeki antika bir makinede calismadigini soylemistim (P2 400, GF2 64 MB, 256 MB RAM). Fakat nedenini bulamamistim. Cunku John Carmack ve ekibinin kodlama mantigini biraz taniyorsam adamlar "Bu program gecersiz bir islem yuruttu ve kapatilacak" yazisinin cikmasina izin vermezler.
Basindan beri tahmin ettigim sey dogru cikti. Ilk kez id Software CPU extensionlarini kullaniyordu ve tahmin ettigim gibi hata yaptilar.
Hata ne?
Normalde MMX ve MMX+ komutlari cok sık karistirilir. MMX+ da olup da MMX de olmayan "MOVNTQ" diye bir komut var. Bu cok hizli bellek aktarimini sagliyor. Normalde en temel komut olan MOVQ komutu ise MMX den itibaren mevcut bir komut.
Gecenlerde SDK si dagitilan Doom3 un kodlarini inceliyordum. Hakketen eski kodlara gore bayaga bir yol almislar. Herseyi en kisa yoldan halletmeyi becermisler. Hersey object programlama tarzinda. Lakin tahmin ettigim hatayi da yapmislar.
MMX bitini sorgulayip MOVNTQ komutuna sahip memory copy rutinini aktif hale getiriyorlar. Normalde bu Intel de SSE komutlariyla gelen bir komut. AMD ve Cyrix de ise MMX+ diye ayrica bir bit var ve MMX+ le birlikte geliyor. Sadece MMX bitini sorgulayiminca da olan oluyor iste.
Ama adamlar bu kadar kucuk bir hata da yapmis olsa cok iyi bir urun cikardiklarini soylemeden gecemeyecegim. Tebrik etmek lazim...
Kolay Gelsin |
|
Başa dön |
|
 |
cjungie

Kayıt: Jun 09, 2004 Mesajlar: 806 Nereden: Istanbul
|
Tarih: Sun Dec 19, 2004 3:04 pm Mesaj konusu: |
|
|
iyi sen bu hatayı yapmazsın artık kendi motorunda. |
|
Başa dön |
|
 |
3ddreams

Kayıt: Nov 28, 2003 Mesajlar: 352 Nereden: İstanbul
|
Tarih: Sun Dec 19, 2004 3:43 pm Mesaj konusu: |
|
|
Bunu bildirsene John Carmack abiye. |
|
Başa dön |
|
 |
MD-C

Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
|
Tarih: Sun Dec 19, 2004 6:32 pm Mesaj konusu: |
|
|
Bu da hata mı? Sanmam, buna teknolojinin geriye dönük olmaması denir heralde? Ama yakalaman iyi oldu, bravo |
|
Başa dön |
|
 |
HakanNehir

Kayıt: Mar 22, 2004 Mesajlar: 60
|
Tarih: Sun Dec 19, 2004 8:23 pm Mesaj konusu: hata değil |
|
|
dostum o söylediğin doğru ancak bu bir hata değil. bunu sen gördüğüne göre onlar da çok rahat görmüştür zaten. bu sadece eski tip işlemci komut seti uzantılarına destek verip vermeme meselesi. o zaman S3 savage ekran kartında çalışmayan bir oyunun koduna da baktıgımız da yine "hata yapmışlar bu karta uygun komut setini kullanmamışlar" dememiz lazım. |
|
Başa dön |
|
 |
OsmanTuran

Kayıt: Apr 09, 2004 Mesajlar: 210 Nereden: Mersin - K.Maraş gel-git halinde
|
Tarih: Sun Dec 19, 2004 10:40 pm Mesaj konusu: |
|
|
Birsey yanlis anlasilmis sanirim. Basinda da dedigim gibi John normalde su islev icin bilgisayariniz yetersiz gibi bir yaziyi secerdi. Fakat benim demek istedigim aynen sununla benzerlik gosteriyor:
"Oyun multitexturing i destegini kontrol ediyor. Ama multitexturing in yaninda env combine yi de kullaniyor. Sonuc oyun env combine destekli her makinede calisiyor (env combine multitexturing uzerine kurulu bir extension) ama her multitexture destekli makinede calismiyor ve nedensiz yere kilitlenip kapaniyor"
Demek istedigim yukaridaki benzeri bir durum. Zaten MMX komutlari olmadan da memory copy yapmanin mumkun oldugunu sanirim soylememe gerek yok. Yani Intel de SSE bitini, AMD ve Cyrix de MMX+ bitini kontrol ederek bu islem saglanabilir.
Uzun lafin kisasi geriye uyumlulukla ilgili bir sorun tam olarak degil. |
|
Başa dön |
|
 |
|