Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ваниль
5 / 5 / 1
Регистрация: 09.05.2013
Сообщений: 44
#1

Оптимизация 2х вложенных циклов - C++

16.10.2015, 14:32. Просмотров 442. Ответов 5
Метки нет (Все метки)

Доброго дня!

Есть программа, рисующая притягивающиеся друг к другу шарики. В программе 2 потока: отрисовка и расчёт новых координат для отрисовки.
Каждый шарик влияет на каждый шарик, следовательно происходит N^2 операций.

Всё это безобразие тормозит уже при 10 шариках. Как оптимизировать вычисления, чтобы анимация шла гладко?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2015, 14:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оптимизация 2х вложенных циклов (C++):

Упрощение вложенных циклов - C++
Добрый день. В программе имеется несколько вложенных циклов. Пример: if () { if () { ...

Программирование вложенных циклов - C++
Программирование вложенных циклов Постановка задачи: В настоящей лабораторной работе необходимо выполнить вычисления, для...

Приоритеты вложенных циклов - C++
Nk=20; for(Ni=0;Ni<Nk;Ni++) { for(i=0;i<size;i++) { for(j=0;j<size;j++) { if(Map==Ni) {

Сотня вложенных циклов - C++
Подскажите, уважаемые, как можно упростить (рекурсивно, или как-то ещё) следующий код: int k=100; for (int i1=1; i1<=k; i1++){ ...

Использование цикла while и вложенных циклов - C++
1. Используя цикл while, напишите программу, вычисляющую сумму цифр заданного целого числа. Например, суммой цифр числа 2155 будет 2 + 1 +...

Произвольное количество вложенных циклов + рекурсия - C++
Привет. Нужен код с++, который позволит вывести все комбинации цифр от 1 до k в n-значном числе: допустим, ввод n=2, k=3, вывод: ...

5
Mesteriis
373 / 156 / 40
Регистрация: 08.08.2015
Сообщений: 1,113
Завершенные тесты: 1
16.10.2015, 14:37 #2
Ваниль, Ну как то трудно без кода что то говорить, хоть бы ссылку на гитхаб кинул если уж очень много кода. А вообще это тема для другой ветки.
0
sydigo
2 / 2 / 2
Регистрация: 07.03.2015
Сообщений: 34
16.10.2015, 14:39 #3
Подозреваю у Вас есть функции, которые делают то, что не должны делать (например когдя я начинал, была дурная привычка описать метод Print, по логике понятно, что должна выводить на экран, но в ней были изменения полей класса, логику которых было лень вывести в отдельный метод и убрать из старого).

Потоки тоже должны заниматься только своей частью, один считает - другой рисует.

Ещё как вариант, один поток по приоритету больше другого, если прорисовка не работает быстро, то скорее всего поток, который считает, выше по приоритету и работает постоянно, а другой ниже, срабатывает реже и отрисовывает позже, после чего кажется, будто тормозит. Попробуйте поднять поток отображения по приоритету.

Я в синхронизации потоков не силён, но надеюсь кто-то знающий посоветует что-то про синхронизацию, сам хочу почитать и погуглю.
0
Ваниль
5 / 5 / 1
Регистрация: 09.05.2013
Сообщений: 44
16.10.2015, 15:03  [ТС] #4
Окей. Пишу в другом разделе.
0
Mesteriis
373 / 156 / 40
Регистрация: 08.08.2015
Сообщений: 1,113
Завершенные тесты: 1
16.10.2015, 15:07 #5
Ваниль,

Не по теме:

Ты не обижайся я без наезда, просто тут особо, ну кроме гуру, не подскажет с этим!

0
Ваниль
5 / 5 / 1
Регистрация: 09.05.2013
Сообщений: 44
16.10.2015, 15:11  [ТС] #6
Mesteriis,

Не по теме:

да без проблем (-:

0
16.10.2015, 15:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2015, 15:11
Привет! Вот еще темы с ответами:

Анимация через применение вложенных циклов - C++
Ребят, надо сделать что бы стрелочка(к примеру - >) двигалась в хаотичном направлении. Например я написал что бы она двигалась вправо, 10...

Организация вывода с использование вложенных циклов - C++
Напечатать числа в виде следующей таблицы:

как выходить из нескольких вложенных циклов - C++
Столкнулся с ситуацией что нужно выходить из нескольких циклов при определенных условиях. Тут только go to ?

Программированиие алгоритмов со структурой вложенных циклов - C++
Найти сумму элементов,стоящих ниже главной диагонали матрицы А(5,5).Помоги пожалуйста


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.