32Bit/64Bit Uyumlu Veri Tipleri

İşte şimdi anladım hocam çok teşekkür ederim. O zaman önce bütün değerleri tablodakilerle (32 bit veri tipleri) değiştirip, sonradan ihtiyaç dahilindeki kod kısımlarını 64 bit veri tipine upgrade edeceğim.
tablodakiler 32bit veri tipi demek doğru değil. Dosyalarda bulunan sadece 32bit veri tiplerini 32 ve 64 bit iksinindede çalışabilen veri tiplerine dönüştürüyorsun.

Hocam acaba bu büyüme potansiyel max yang miktarının büyümesi mi yoksa yang hesabının bozulması mı? Yani diyelim oyunda birisi bir yaratık kesti ve 4.294.967.295 yang kazanması gerek, uint64_t değeri tanımlı bir serverda hesabına 18.446.744.073.709.551.615 yang mı eklenecek demek?
Örnekte vermek istediğim her veritipini 64_t yaptığında veriyi büyütmüş oluyorsun bilmediğin şeylerin veri tiplerini yükseltmek seni sıkıntıya sokabilir.

Envanterde 4t yang tutabiliyorsan uint32_t yaptığında uint64_t yaptığında 18 katrilyon(artık neyse saymadım) yang tutabiliyor olacaksın. Sınırları kaldırmak gibi birşey.
 
Son düzenleme:
tablodakiler 32bit veri tipi demek doğru değil. Dosyalarda bulunan sadece 32bit veri tiplerini 32 ve 64 bit iksinindede çalışabilen veri tiplerine dönüştürüyorsun.


Örnekte vermek istediğim her veritipini 64_t yaptığında veriyi büyütmüş oluyorsun bilmediğin şeylerin veri tiplerini yükseltmek seni sıkıntıya sokabilir.

Envanterde 4t yang tutabiliyorsan uint32_t yaptığında uint64_t yaptığında 18 katrilyon(artık neyse saymadım) yang tutabiliyor olacaksın. Sınırları kaldırmak gibi birşey.
Anladım hocam teşekkür ederim açıklama için.
 
Unuttuğunuz nokta. Her mimari kendi değişkenleri ile daha performanslı çalışır. Her CPU genellikle belirli bir boyutta verileri işlemeye optimize edilir. 64 bit bir CPU 64 bit türleri daha hızlı işler. 64 bit makinede 32 bit program çalıştırmayı emülatörde çalıştırma gibi düşünebilirsiniz.(Tam oturan bir örnek değil ama yakın... Windows'ta zaten direkt emülatör...)
Ram ihtiyacı konusunda arkadaşlar haklı. Boyut artacaktır. Tartışılması gereken hız ile ram ihtiyacı. Yüzbinlerce oyuncuya ulaşılmayacaksa benim görüşüm CPU hızı. Elbette bu yorumum herhangi bir teste dayanmıyor. Zaman bulursam planlarımdan biri, server'i 64'e çekip benchmark yapmak.
Bir diğer nokta sabit boyutlu değişkenler kendi başlarına hız düşürebiliyorlar. Bir başka nokta ise ram'in sıkışmasının yaratacağı yavaşlatma, CPU hızındaki farktan çok fazla olacaktır.
Bu alaşımlardaki ısı transferine benziyor. Bakırın 400 küsur, alüminyumun 200 küsur. Birleştiriyorsun bronzun 20 küsur. Demem o ki test etmeden genelleştirilmiş bir şekilde ifade edilemez. Bu bahsettiğim optimizasyonlar final işler önce hatalardan, gereksiz allocate'lerden kurtulmak lazım...Saygılarımla...
 
Unuttuğunuz nokta. Her mimari kendi değişkenleri ile daha performanslı çalışır. Her CPU genellikle belirli bir boyutta verileri işlemeye optimize edilir. 64 bit bir CPU 64 bit türleri daha hızlı işler. 64 bit makinede 32 bit program çalıştırmayı emülatörde çalıştırma gibi düşünebilirsiniz.(Tam oturan bir örnek değil ama yakın... Windows'ta zaten direkt emülatör...)
Ram ihtiyacı konusunda arkadaşlar haklı. Boyut artacaktır. Tartışılması gereken hız ile ram ihtiyacı. Yüzbinlerce oyuncuya ulaşılmayacaksa benim görüşüm CPU hızı. Elbette bu yorumum herhangi bir teste dayanmıyor. Zaman bulursam planlarımdan biri, server'i 64'e çekip benchmark yapmak.
Bir diğer nokta sabit boyutlu değişkenler kendi başlarına hız düşürebiliyorlar. Bir başka nokta ise ram'in sıkışmasının yaratacağı yavaşlatma, CPU hızındaki farktan çok fazla olacaktır.
Bu alaşımlardaki ısı transferine benziyor. Bakırın 400 küsur, alüminyumun 200 küsur. Birleştiriyorsun bronzun 20 küsur. Demem o ki test etmeden genelleştirilmiş bir şekilde ifade edilemez. Bu bahsettiğim optimizasyonlar final işler önce hatalardan, gereksiz allocate'lerden kurtulmak lazım...Saygılarımla...
Anlamadığım bir nokta var. Bu bahsettiğiniz 32 bit makinede derlenmiş bir sourceyi 64 bit makinede çalıştırmaya mı yoksa veri türleri 64 bit veri türüyle değiştirilip 64 bit makinede derlenmiş bir source içinmiydi?
 
konuyu hoplatmak istiyorum da bununla ilgili olarak ben game ve db başarıyla build yaptım 64 bitte ancak sunucuya bağlanıyorsunda kalıyor client ne yapmam gerekiyor handshake auth problemi olduğunu düşünüyorum ancak bir fikrim yok.. yardımcı olabilir misiniz..
 

Dosya Eklentileri

  • Ekran görüntüsü 2024-01-24 205946.png
    Ekran görüntüsü 2024-01-24 205946.png
    1,9 MB · Gösterim: 18
  • Ekran görüntüsü 2024-01-24 210054.png
    Ekran görüntüsü 2024-01-24 210054.png
    328,6 KB · Gösterim: 17
Geri
Üst