crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Рисование линий и память, QGraphicsScene и QLine
Алексей1153
  опции профиля:
сообщение 8.7.2011, 6:21
Сообщение #11


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата
Так как прога будет обновлять значения не чаще чем раз в пару секунд, а не каждые 100мс как сейчас, то думаю проблем не будет.


будут, поверь :)

А всего то нужно сделать следующее: (я названия методов QList не помню, сделаю аналогию на STL)

class MyLineShot
{
   std::vector<QLineF> m_vec;
   enum{e_max_size=1000;}//>1

   public:
   MyLineShot();
   void Append(const QLineF& l);
};

MyLineShot::MyLineShot()
{
   m_vec.reserve(e_max_size);
}

void MyLineShot::Append(const QLineF& l)
{
   межпоточный_синхронизатор.lock();  

   if( m_vec.size()>(e_max_size-1) )
   {
      const int to_del=m_vec.size()-(e_max_size-1);
      m_vec.erase(m_vec.begin(), m_vec.begin()+to_del);
   }

   m_vec.push_back(l);


   межпоточный_синхронизатор.unlock();  
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 9.7.2011, 13:07
Сообщение #12


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Я STL не знаю. <_<
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 9.7.2011, 15:30
Сообщение #13


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


RazrFalcon, контейнеры Qt имеют похожий интерфейс

суть в том, чтобы перед добавлением обеспечить такой размер контейнера, чтобы после добавления размер не стал больше заданной величины
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.4.2024, 12:18