Ich hab erst vor kurzem angefangen mich ein bisschen mit C++ auseinanderzusetzen.
Jetzt habe ich mir ein wirklich kleines Programm geschrieben, das aber eine CPU-Auslastung von 50 - 70% erzeugt, was viel zu viel ist (wenn ich überlege, dass ich High-End-Games spielen kann und die gerade mal 15-20% brauchen?).
Ich weiß aber auch nicht wie ich das hinsichtlich der Performance hinbekomme, deswegen habe ich hier mal einen Quellcode und hoffe, dass ihr mir einen Tipp geben könnt, wo mein Problem liegt und wie ich das in den Griff bekomme:
Im Moment soll da also nur eine Minute die Maus geklickt werden, es sollte noch eine zweite Funktion rein (die musste ich erstmal löschen weil mein Programm dann komplett abstürzt) deswegen möchte ich auch einen thread damit dann beide funktionen zeitgleich laufen können.
(Und ja: Ich möchte es benutzen um in Minecraft zu bescheißen - man muss da ewig lange mit der Maus klicken. Shame on me! Mir fiel einfach sonst kein sinnvoller Zweck für ein Programm ein um zu lernen und n Taschenrechner fand ich langweilig *g*)
Aber es kann doch nicht richtig sein, dass so ein Mini-Programm so eine hohe CPU-Auslastung hat? Was genau mach ich denn da falsch?
Jetzt habe ich mir ein wirklich kleines Programm geschrieben, das aber eine CPU-Auslastung von 50 - 70% erzeugt, was viel zu viel ist (wenn ich überlege, dass ich High-End-Games spielen kann und die gerade mal 15-20% brauchen?).
Ich weiß aber auch nicht wie ich das hinsichtlich der Performance hinbekomme, deswegen habe ich hier mal einen Quellcode und hoffe, dass ihr mir einen Tipp geben könnt, wo mein Problem liegt und wie ich das in den Griff bekomme:
C++:
#define WIN32_LEAN_AND_MEAN
#include <iostream>
#include <string>
#include <Windows.h>
#include <thread>
class Funktionen {
public:
Funktionen();
void Funktionen::SimMausklicks();
~Funktionen();
};
Funktionen::Funktionen()
{
}
void Funktionen::SimMausklicks() {
while (true) {
// Simuliere langen Mausklick mit Druck auf Linke Alt-Taste
if (GetAsyncKeyState(18)) {
mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, NULL, NULL);
Sleep(60000);
mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, NULL, NULL);
}
}
}
Funktionen::~Funktionen()
{
}
int main()
{
Funktionen Funktionen;
std::thread thread1(&Funktionen::SimMausklicks, &Funktionen);
thread1.detach();
bool run = true;
while (run)
{
// Programm schließen mit Q
if (GetAsyncKeyState(81))
{
run = false;
}
}
return 0;
}
Im Moment soll da also nur eine Minute die Maus geklickt werden, es sollte noch eine zweite Funktion rein (die musste ich erstmal löschen weil mein Programm dann komplett abstürzt) deswegen möchte ich auch einen thread damit dann beide funktionen zeitgleich laufen können.
(Und ja: Ich möchte es benutzen um in Minecraft zu bescheißen - man muss da ewig lange mit der Maus klicken. Shame on me! Mir fiel einfach sonst kein sinnvoller Zweck für ein Programm ein um zu lernen und n Taschenrechner fand ich langweilig *g*)
Aber es kann doch nicht richtig sein, dass so ein Mini-Programm so eine hohe CPU-Auslastung hat? Was genau mach ich denn da falsch?