Sosyal açıldı! Bir göz at → Hemen gir →

ÇÖZÜLDÜ Oyunun çok fazla CPU harcaması

Levia

Graph. Desig.
Yardımsever
KAYIT
13 May 2021
Mesajlar
356
Çözümler
14
Tepki puanı
183
Kullanılan Database
homeko
Versiyon
v2369
Herkese selamlar.

Şuan üzerinde çalıştığım dosya çok CPU harcıyor. Yani farklı sunucularda %17-18 bandında gezerken bende %30 bandında geziyor.
Bir kaç fikir aldım hook vs dediler. Pek anladığım bir konu değil öğrenebileceğim bir yerde bulamadım. Dokunup bir şeyleri bozmakta istemiyorum.
alta bi görsel bıraktım bakabilirsiniz.

Bunu çözmeme yardım edebilecek babayiğit varsa iyi olur.
 

Ekli dosyalar

  • Adsız.png
    Adsız.png
    10.3 KB · Görüntüleme: 111
Çözüm
ÇÖZDÜM.

ekte eski ve yeni cpu kullanımlarına ait görseller mevcut

Düzenleme öncesi %30 / 32 arası kullanılan CPU
Düzenleme sonrası %18/19 bandına kadar geriledi.
Üzerinde çalışmaya devam ediyorum

Kısaca anlatıyorum çözemeyen olursa bana discorddan yazsın anlatırım ÜCRETSİZ.

Anticheat src yi visualde açıp yukarından sleep kelimesini arayın ve çıkan tüm sonuçları tek tek chat gpt ye kontrol ettirip düzenleyin

örnek:

DWORD WINAPI PearlEngine::SuspendCheck(PearlEngine* e)
{
SYSTEMTIME time;
DWORD TimeTest1 = 0, TimeTest2 = 0;
DWORD lastCheckTime = 0;

// Başlangıçta zaman bilgisi alınıyor
GetLocalTime(&time);
Sleep(1000); // İlk başta bekliyoruz

while (true)
{
DWORD currentTime = GetTickCount();

// Her 10 dakikada bir...

HALOx

KY Kıdemli Üye
KAYIT
29 Kas 2024
Mesajlar
201
Tepki puanı
47
Anti tarafındaki title taramaları class taramaları yüksek cpu kullanımına sebep veriyor. Visual ile dll'i bağlayıp performans profili ile bu problemi çözebilirsiniz.
 

xman06

KY Cezalı Üye
KY Kıdemli Üye
KAYIT
14 Haz 2022
Mesajlar
330
Tepki puanı
40
Tarama %5 %10 farkk eder, zaten Hook sistemi başlı başına yuksek cpu tuketimine yol açan bir sistem yapacak bsi yok, günümüz nesilerin pc leri ileri seviylerde.
 

Levia

Graph. Desig.
Yardımsever
KAYIT
13 May 2021
Mesajlar
356
Çözümler
14
Tepki puanı
183
Anti tarafındaki title taramaları class taramaları yüksek cpu kullanımına sebep veriyor. Visual ile dll'i bağlayıp performans profili ile bu problemi çözebilirsiniz.
bunu inceleyebileceğim bir konu veya kaynak var mı? öğrenebileceğim
 

swatxx

KY Saygın Üye
Coder
Yardımsever
KAYIT
21 Mar 2024
Mesajlar
865
Çözümler
10
Tepki puanı
703
Web
tguardsystems.com
Sourcenize optimizasyon yapmanız gerekiyor.
Bu optimizasyonu ödeme yapmadan kimsenin yardım edeceğini sanmam çünkü ne yazık ki basit bir işlem değil.
Ekteki resimde görüldüğü optimizasyonlu ve optimizasyonsuz hali.
 

Ekli dosyalar

  • 1.png
    1.png
    46.6 KB · Görüntüleme: 90

Levia

Graph. Desig.
Yardımsever
KAYIT
13 May 2021
Mesajlar
356
Çözümler
14
Tepki puanı
183
güncel -- hala el atıp öğretecek bir arkadaş arıyorum
 

Levia

Graph. Desig.
Yardımsever
KAYIT
13 May 2021
Mesajlar
356
Çözümler
14
Tepki puanı
183
ÇÖZDÜM.

ekte eski ve yeni cpu kullanımlarına ait görseller mevcut

Düzenleme öncesi %30 / 32 arası kullanılan CPU
Düzenleme sonrası %18/19 bandına kadar geriledi.
Üzerinde çalışmaya devam ediyorum

Kısaca anlatıyorum çözemeyen olursa bana discorddan yazsın anlatırım ÜCRETSİZ.

Anticheat src yi visualde açıp yukarından sleep kelimesini arayın ve çıkan tüm sonuçları tek tek chat gpt ye kontrol ettirip düzenleyin

örnek:

DWORD WINAPI PearlEngine::SuspendCheck(PearlEngine* e)
{
SYSTEMTIME time;
DWORD TimeTest1 = 0, TimeTest2 = 0;
DWORD lastCheckTime = 0;

// Başlangıçta zaman bilgisi alınıyor
GetLocalTime(&time);
Sleep(1000); // İlk başta bekliyoruz

while (true)
{
DWORD currentTime = GetTickCount();

// Her 10 dakikada bir temizleme işlemi
if (time.wMinute % 10 == 0 && Engine->m_bHookStart && time.wSecond == 0)
{
Engine->ClearListString(Engine->uiNoticeWind->m_pChatOut);
}

// Süreyi kontrol et, zaman 1 saniyeden fazla geçerse işlem yapılır
TimeTest1 = TimeTest2;
TimeTest2 = GetTickCount();

if (TimeTest1 != 0)
{
DWORD elapsedTime = TimeTest2 - TimeTest1;
if (elapsedTime > 8000)
{
e->Shutdown(xorstr("Hile kullananin anasini sikiyoruz.")); // Süre aşımı durumu
break;
}
}

// `WaitForSingleObject` kullanımı, burada sadece 1 ms aralıkla çağrılıyor
DWORD waitResult = WaitForSingleObject(e->MainThread, 1);
if (waitResult == WAIT_OBJECT_0)
{
e->Shutdown(xorstr("All the pieces of the game can't be working together."));
break;
}

// Zaman kontrolü sadece her saniyede bir yapılır
if (currentTime - lastCheckTime > 1000)
{
lastCheckTime = currentTime;
GetLocalTime(&time); // Zaman sadece her saniyede bir alınır
}

// 10ms bekleme, CPU kullanımı azaltmak için kısa aralıkla bekliyoruz
Sleep(10); // Bu, CPU'yu fazla zorlamadan geçiş yapmamızı sağlar
}

return 0;
}

yukarıdaki kod benim kendi src içerisinde kullandığım ve chat gpt ile düzenlenmiş kod.

Diyelimki çok fazla CPU harcayan bir sunucunuz var. sleep yazınca çıkan satırların bulunduğu bölümleri kopyalayıp chatgpt ye yapıştırın ve şunu yazın " BU KODU EN AZ CPU HARCAYACAK ŞEKİLDE DÜZENLE" çıkan sonuç kodunu yapıştırıp built alın ve bunu her seferinde yapın. Her buildde eğer bi sorun yoksa hayırlı olsun. eğer sorun varsa ulaşın elimden geleni yaparım.

DC: leviacaster
 

Ekli dosyalar

  • image.png
    image.png
    13.3 KB · Görüntüleme: 95
  • Adsız.png
    Adsız.png
    10.3 KB · Görüntüleme: 99
Son düzenleme:
Çözüm

xemlod

KY Kıdemli Üye
KAYIT
2 Ocak 2022
Mesajlar
244
Çözümler
2
Tepki puanı
177
Yeni yaptığın güncellemenin CPU derece kaç oldu konuyu düzenleyip atar mısın
 

Levia

Graph. Desig.
Yardımsever
KAYIT
13 May 2021
Mesajlar
356
Çözümler
14
Tepki puanı
183
sleep değerini düşürmek oyun akışında sıkıntı yaratabilir diye düşünüyorum
şuan herhangi bir problem yok. Ve genel olarak mantığı şöyle ayarladım. İşlevi sürekli olarak check etmesi değil gerektiğinde check etmesi üzerine düzelttim. Yani CR yokken CR kodlarını çalıştırıp kontrol etmesinin bir manası yok sonuçta
 
Son düzenleme:
Anasayfa Kayıt ol Giriş yap
Üst Alt