Возможная ошибка при обработке данных: перегрузка процессора [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Возможная ошибка при обработке данных: перегрузка процессора [закрыто]

Сообщение Гость »


Я пишу программу для визуализации алгоритмов сортировки. В это время, на этапе генерации, я замечаю высокую загрузку процессора. В прошлый раз я пытался избавиться от указателей, но проблема все равно осталась. У меня i9, и после запуска программы одно ядро ​​начинает работать на 100%, пока программа не завершится. Это не нормально.

2093 (184 прямых, 1909 косвенных) байта в 1 блоке определенно потеряно в записи потерь 140 из 149 по адресу 0x484DA83 calloc по адресу 0x58A716F по адресу 0x58A910A _dbus_message_loader_queue_messages по адресу 0x58B181F по адресу 0x58B195C по адресу 0x58B37B0 по адресу 0x58B3C9C по адресу 0x58985EC по адресу 0x58ACDCB dbus_pending_call_block по адресу 0x589A3BD dbus_connection_send_with_reply_and_block по адресу 0x589A65B dbus_bus_register по адресу 0x589A913

код класса формы

#include #include #include #include #include #include класс Формы { публика: Shapes(float xpos, float ypos, sf::Color color, sf::Vector2f size); виртуальные ~Shapes(); недействительными initVariables(); недействительный initShapes(); недействительное обновление(); void render(sf::RenderTarget* target); частный: форма sf::RectangleShape; }; #include "Shapes.h" Shapes::Shapes(float xpos, float ypos, sf::Color color, sf::Vector2f size) { это->shape.setPosition(xpos,ypos); это->shape.setSize(размер); это->shape.setFillColor(цвет); } void Shapes::initVariables() { } void Shapes::initShapes() { } void Shapes::update() { } void Shapes::render(sf::RenderTarget *target) { цель->рисовать(это->фигура); } Фигуры::~Shapes() { } код основного класса Game
#include "Shapes.h" класс игры { публика: Игра(); виртуальная ~Игра(); //Функции недействительный пулEvents(); недействительное обновление(); недействительный рендер(); const bool работает(); частный: окно sf::RenderWindow*; std::vector формы; sf::Событие ев; const int WIDOW_WIDTH = 1000, WINDOW_HEIGHT = 500; std::vector& VectorShapes(); недействительными initVariables(); недействительный initWindow(); };
Game::Game() { это->initVariables(); это->vectorShapes(); это->initWindow(); } void Game::initVariables() { это->окно = nullptr; } void Game::initWindow() { это->окно = новый sf::RenderWindow(sf::VideoMode(this->WIDOW_WIDTH, this->WINDOW_HEIGHT), "Игра", sf::Style::Titlebar | sf::Style::Close); } std::vector &Game::vectorShapes() { интервал rectWidth = 50; // Фиксированная ширина стороны интервал rectHeightMin = 50; // Минимальная высота перспективы int rectHeightMax = WINDOW_HEIGHT; // максимальная высота сделки int numRectangles = WIDOW_WIDTH/rectWidth; // Количество контрастов srand(static_cast(time(nullptr))); // Очищаем вектор перед добавлением новых контуров формы.очистить(); // Создаем и закрепляем монеты в векторе for (int i = 0; я window->pollEvent(this->ev)) { переключатель (this->ev.type) { случай sf::Event::Closed: это->окно->закрыть(); перерыв; случай sf::Event::KeyPressed: if (this->ev.key.code == sf::Keyboard::Escape) окно->закрыть(); перерыв; } } } const bool Game::running() { вернуть окно->isOpen(); } недействительная игра::update() { это->poolEvents(); } void Game::render() { это->окно->очистить(sf::Color(0,0,0,0)); for (авто я: это->фигуры) { i.render(это->окно); } это->окно->дисплей(); } Игра::~Game() { /* for (Фигуры* форма: фигуры) { удалить фигуру; } */ удалить это->окно; } В первой версии был вектор указателей, но я его упростил и проблема осталась. После запуска почему-то просто вылетают ядра процессора.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»