|
You last visited: Today at 00:27
Advertisement
[C++] Performance Frage
Discussion on [C++] Performance Frage within the C/C++ forum part of the Coders Den category.
12/12/2012, 22:00
|
#1
|
elite*gold: 0
Join Date: Nov 2012
Posts: 8
Received Thanks: 0
|
[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 = 5; i > 0; i--) { std::cout << "[INFO] _Bot Beendet sich in " << i << " 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 = 5; i > 0; i--) { std::cout << "[INFO] _Bot Beendet sich in " << i << " Sekunden." << std::endl; Sleep(1000); } exit(0); return FALSE; }else { for(int i = 0; i < Clients; i++) { std::stringstream ss; ss << i; std::string MetinHwnd = "Metin2"+ss.str(); _HWND[0][i] = FindWindow(0, (LPCWSTR)&MetinHwnd);
HWND NormalHandel = FindWindow(0, L"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
|
|
|
12/12/2012, 23:14
|
#2
|
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.
|
|
|
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
|
|
|
12/13/2012, 01:22
|
#4
|
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
der unterschied wäre aber so minimal, dass das doch relativ egal ist!
|
|
|
12/13/2012, 01:30
|
#5
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
Quote:
Originally Posted by HeavyHacker
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
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.
|
|
|
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.
|
|
|
12/14/2012, 21:08
|
#7
|
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.
|
|
|
 |
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.
|
|