Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 00:27

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++] Performance Frage

Discussion on [C++] Performance Frage within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2012
Posts: 8
Received Thanks: 0
Wink [C++] Performance Frage

Einen schönen guten Abend,

Ich bin gerade dabei aus dem Buch C++ A - Z zu lernen , habe auch schon viel gelernt , doch jetzt wollte ich gerne einen kleinen Multi-Bot schreiben für ein Spiel, dieser soll nicht viele aufgaben haben , doch jetzt habe ich gerne eine frage, also ich möchte meinen Multi-Bot per HWND Handeln dafür habe ich mir eine neuen HWND var erstellt
PHP Code:
HWND hHandel[1][MAX_BOTTING_CLIENTS]; 
wie man sieht habe ich ein array erstellt in diesen ich mehr Handels speichern kann MAX_BOTTING_CLIENTS ist wieviele Clients Maximal hinzugefügt werden kann
PHP Code:
#define MAX_BOTTING_CLIENTS 10 
Jetzt habe ich eine Funktion geschrieben mit der ich das HWND Array fülle
PHP Code:
int _Bot::SetClient_Hwnd(int Clients)
{
    if(
Clients MAX_BOTTING_CLIENTS)
    {
        
std::cout << "[ERROR] In dieser Version koennen sie nur " << MAX_BOTTING_CLIENTS << " Clients Handeln." << std::endl
        for(
int i 50i--)
        {
            
std::cout << "[INFO] _Bot Beendet sich in " << << " Sekunden." << std::endl;
            
Sleep(1000); 
        }
        exit(
0); 
        return 
FALSE;
    }else if(
Clients <= 0)
    {
        
std::cout << "[INFO] Sie muessen die Anzahl der Clients eingeben die Gehandelt werden sollen." << std::endl;
        for(
int i 50i--)
        {
            
std::cout << "[INFO] _Bot Beendet sich in " << << " Sekunden." << std::endl;
            
Sleep(1000); 
        }
        exit(
0); 
        return 
FALSE;
    }else
    {
        for(
int i 0Clientsi++)
        {
            
std::stringstream ss
            
ss << i
            
std::string MetinHwnd "Metin2"+ss.str(); 
            
_HWND[0][i] = FindWindow(0, (LPCWSTR)&MetinHwnd);  

            
HWND NormalHandel FindWindow(0L"Metin2");

            if(!
NormalHandel)
            {
                
std::cout << "[ERROR] Es wurde kein Metin2 Client gefunden." << std::endl
            }else
            {
                
SetWindowTextA(NormalHandel, (LPCSTR)&MetinHwnd);      
            }
            
std::cout << "[SUCCESS] Client mit dem Handel " << MetinHwnd << " ist gespeichert." << std::endl
             
        }
        return 
TRUE
    }

Jetzt wollte ich gerne fragen ob dies die richtige lösung ist oder ob es noch eine Performance sparene lösung gibt.


Lg.Jin
°Jin° is offline  
Old 12/12/2012, 23:14   #2
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Es heißt handLE nicht handel... (gewöhn dir das richtige an :P
sonst könnte es später mal zum Verhängnis werden)

Wenn ich das so überfliege würd ich jetzt nichts sehen
was die Performance merklich beeinflussen würde.
.SkyneT. is offline  
Old 12/12/2012, 23:46   #3
 
elite*gold: 0
Join Date: Nov 2012
Posts: 8
Received Thanks: 0
Quote:
Es heißt handLE nicht handel... (gewöhn dir das richtige an :P
sonst könnte es später mal zum Verhängnis werden)

Wenn ich das so überfliege würd ich jetzt nichts sehen
was die Performance merklich beeinflussen würde.
Ja, du hast schon recht das nächste mal schreibe ich wie es halt geschrieben wird , ich baue den Code gerade neu auf
werde in den Posten dennoch können verbesserungsvorschläge gepostet werden.

Ps : @.SkyneT. Aber ich denke bei kleinen Code (und wenn ich nicht im Team arbeite und nicht vor haben in zu Releasen),
sollte der Code doch nur für mich verständlich sein aber dennoch werde ich drauf achten
°Jin° is offline  
Old 12/13/2012, 01:22   #4
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
etwas das mir immer sofort ins auge fällt: "i++"

i++ entspricht etwa (es sei denn es wird sehr gut optimiert)
Code:
mov eax, [i]
inc eax
mov [i], eax
++i entspricht etwa
Code:
inc [i]
der unterschied wäre aber so minimal, dass das doch relativ egal ist!
Tyrar is offline  
Old 12/13/2012, 01:30   #5
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
Quote:
Originally Posted by HeavyHacker View Post
etwas das mir immer sofort ins auge fällt: "i++"

i++ entspricht etwa (es sei denn es wird sehr gut optimiert)
Code:
mov eax, [i]
inc eax
mov [i], eax
++i entspricht etwa
Code:
inc [i]
der unterschied wäre aber so minimal, dass das doch relativ egal ist!
schwachsinniger irrglaube, solche optimierungen überlässt man dem compiler.

EDIT:
Dass das hier funktionieren soll, wage ich zu bezweifeln:
Code:
            std::string MetinHwnd = "Metin2"+ss.str(); 
            _HWND[0][i] = FindWindow(0, (LPCWSTR)&MetinHwnd);
gleiche gilt für das hier:
Code:
                SetWindowTextA(NormalHandel, (LPCSTR)&MetinHwnd);
gibt nen paar mögliche minimaloptimierungen, die aber bei deiner anwendung kaum etwas ausmachen dürften - wieso fragst du überhaupt?

EDIT 2:
wieso ein 2dimensionales handle array, wenn die erste dimension konstant 1 ist?

EDIT3:
und allg. schlechter stil, unnötiger code und einige dinge, die einfach nur FALSCH sind, bitte lerne erst einigermaßen die sprache, mache die im buch beschriebenen aufgaben und wage dich dann an eigene projekte ran.
kannst dann gerne hier fragen wenn du eine konkrete frage hast.
Dr. Coxxy is offline  
Thanks
1 User
Old 12/13/2012, 18:13   #6
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Funktionen die nur einmal aufgerufen werden und dann sowieso keine merkbare Zeit beanspruchen müssen natürlich unbedingt optimiert werden. Der Code sieht scheiße aus, optimier lieber mal das.
MoepMeep is offline  
Old 12/14/2012, 21:08   #7
 
.Scy's Avatar
 
elite*gold: 15
Join Date: Jul 2010
Posts: 3,926
Received Thanks: 1,158
ja mault ihn halt an anstatt konstruktive kritik zu geben. meine güte das was coxxy geschrieben hat ist ja noch ok aber das von die moepmeep ist einfach unnötig.
.Scy is offline  
Reply


Similar Threads Similar Threads
VC DirectX Performance Frage
08/07/2012 - C/C++ - 5 Replies
Hallo und zwar habe ich eine frage zum DirectX 9 System (d3d9). Beim einstellen des "BehaviorFlags" in STDMETHOD(CreateDevice)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DDevice9** ppReturnedDeviceInterface) PURE; Und zwar will ich dieses 3D System so viel wie möglich am GPU laufen lassen (Damit CPU freier ist). Welches Flag soll ich nehmen? #define D3DCREATE_FPU_PRESERVE ...
Mw3 wie ist die Performance ?
11/18/2011 - Call of Duty - 20 Replies
Hallo, da ich mir vorhabe MW3 trotzdem zu holen wegen dem Singelplayer und diesen Coop dingens wollte ich fragen : Wieviel FPS ihr so habt :) Also ob black ops besser läuft undso! Und ob ihr nen schlechten mittelmäßigen PC habt ? Also lg.
Best performance of rf
04/16/2010 - RF Online - 1 Replies
Can anyone give me some decent pc specs for smooth gameplay for rf?
Frage zur Performance bzw. CPU
03/15/2010 - General Coding - 2 Replies
Hallo liebe Comm, ich hoffe mal das ich hier richtig bin :D Nun kurz und knapp. Ich habe einen Bot für Metin2 entwickelt. Dieser läuft Problemlos im Hidden Mod. Habe einen relative guten PC. CPU : Intel Core Duo E8400 a 3.0 GHz a 3.5 RAM : 4 GB ; 3,5 nur adressiert mit XP 32 Bit Nunja also wenn ich den Bot nun laufen lass dann hängt das manchmal, und ab 15 Fenstern oder so kackt der PC ab, hab mir mal überlegt ob ich meinen alten PC noch irgendwie mit dem neuen zusammenschließen kann. ...
[Performance-Camtasia Studio]Wie verbessere ich die Performance?
11/13/2009 - Video Art - 4 Replies
Hallo liebe Community und Mitglieder. Wenn ich mit dem Aufnahmeprogramm „Camtasia Studio" ein Fenster aufnehme, z.B. das Client Fenster von Metin2, verschlechtert sich die Performance beim späteren angucken des Resultates. D.h. es bleibt bei mehreren Hängern und es ist kein flüssiger Film. Was habe ich versucht? #Die Frames pro Sekunde zu erhöhen(bis 200 Frames pro Sekunde, aber dann gibt es auch schon bei der Aufnahme Hänger, bzw. beim produzieren) #Das Video in der Bearbeitung zu...



All times are GMT +1. The time now is 00:27.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.