Russian Qt Forum
Ноябрь 23, 2024, 03:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 3 4 [5]   Вниз
  Печать  
Автор Тема: qvector.h, line 489: Out of memory  (Прочитано 30699 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #60 : Ноябрь 18, 2014, 12:25 »

А если потом у модели позапрашивать вручную данные?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #61 : Ноябрь 18, 2014, 12:28 »

Под хранение данных из файла в QByteArray у меня все выделяется. Не совсем понимаю, как метод хранения данных может повлиять на представление.
Вы же писали про 250 Мб:
Всё что нужно - открыть файл свыше 120Мб (но из-за readAll не более 250). Будет точно такой же вылет.
Мелкие файлы читаются на ура.
Этим сообщением:
Попробуйте читать файл кусками или воспользоваться методами QFile::map, QFile::unmap в модели унаследованной от QAbstractItemModel
я как раз о 250 и выше говорил.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #62 : Ноябрь 18, 2014, 12:34 »

Да, говорил. Но это относится к функции file.readAll().
Поправьте меня, если я ошибаюсь, но эта функция не умеет читать большие файлы. Вместо нее мы можем читать файл порциями и добавлять в память прочитанные блоки.
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #63 : Ноябрь 18, 2014, 12:45 »

Поправьте меня, если я ошибаюсь, но эта функция не умеет читать большие файлы.
Умеет, но:
одним большим непрерывным куском память не выделяется.


Вместо нее мы можем читать файл порциями и добавлять в память прочитанные блоки.
Об этом я тоже писал.

P.S. И вообще при возникновении ошибки, попробуйте до нее "дотопать" отладчиком, благо, что исходники Qt есть. Как раз много нового узнаете, и прокачаете свой скил.
« Последнее редактирование: Ноябрь 18, 2014, 12:47 от Johnik » Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #64 : Ноябрь 23, 2014, 11:53 »

Что-то заинтересовал вопрос.
Возможно ли написать свой memcpy (memcpyX86) на asm, который будет работать быстрее стандартного? Или же компиляторы и так её делают максимально эффективной?
Записан
Страниц: 1 ... 3 4 [5]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.