|
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
|
||||||
Приложение Qt Quick: "Программа неожиданно завершилась"13.12.2014, 05:39. Показов 1505. Ответов 10
Метки нет (Все метки)
Доброго времени суток. Столкнулся с проблемой при запуске приложения с большим количеством объектов
![]() Вот вся форма: Кликните здесь для просмотра всего текста
Смысл такой: создать "карту" в клеточку с количеством клеток, равным (mapWidth x mapHeight). В моем примере количество клеток равно 300х300 и он не запускается если количество клеток изменить на меньшее, скажем на 200х200, то приложение запускается и отжирает очень много памяти - почти 400мб У меня есть такие подозрения, что я неправильно создаю это поле в клетку =) Может нужно другие компоненты использовать? Подскажите ![]() п.с. В этих клетках вместо Rectangle:cell в дальнейшем будет компонент Image, а он ведь еще больше памяти сожрет
0
|
||||||
| 13.12.2014, 05:39 | |
|
Ответы с готовыми решениями:
10
Программа неожиданно завершилась Программа неожиданно завершилась |
|
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
|
|||||||||||
| 15.12.2014, 09:35 [ТС] | |||||||||||
|
В общем сделал мега-костыль который загружает нужный "кусок" из модели в зависимости от отображаемой части на экране. Потребление памяти, как и следовало ожидать, упало в разы
Сейчас приложение съедает примерно 20 Мб!Как я и писал выше - я делаю игровую карту, которую можно двигать свапом. Карта большая - 200х200 клеток, из-за чего приложение съедает кучу памяти если загружать ее целиком. Чтобы загружать только нужный участок карты я сделал такой костылёк: main.qml: Кликните здесь для просмотра всего текста
LevelModel.qml: Кликните здесь для просмотра всего текста
0
|
|||||||||||
|
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
|
||
| 15.12.2014, 11:27 [ТС] | ||
|
ListView же есть, он всё сам делает. GridView тоже, но он может пролистываться только либо вертикально, либо горизонтально - из-за этого и он не подошел (
0
|
||
|
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
|
||
| 15.12.2014, 13:24 [ТС] | ||
|
0
|
||
|
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
|
||||||||||||||||||||||
| 24.12.2014, 05:50 [ТС] | ||||||||||||||||||||||
|
Попробовал через QPAinter получать нужное изображение и выводить его в Image через провайдера, стало еще хуже - в момент перерисовки видимой части картинки ощущается сильный лаг. Что-то я все-таки делаю не так... ;( Кликните здесь для просмотра всего текста
Добавлено через 28 минут Тьфу... оказывается весь лаг таился в загрузке картинки из ресурсов. Большая часть карты состоит из двух тайлов - под номерами 1 и 2000. Вынес их загрузку в конструктор и лаг практически исчез, дает о себе знать только в тех местах, где видно другие тайлы. В общем код стал таким: Кликните здесь для просмотра всего текста
Тогда вопрос такой: если у меня очень много тайлов, скажем, штук 50, как их правильнее предварительно загружать в память? Засунуть QImage в массив? Или есть более разумные способы? =)
0
|
||||||||||||||||||||||
| 24.12.2014, 11:20 | |||
|
Жесть. Я то думал, что будет использоваться Painted Item
Обычно сначала собирается одно большое изображение по размеру равное или чуть больше видимой части. Когда происходит смещение, не перерисовывается всё изображение, а делается трансформация(матрица смещения), а потом дорисовывается по краям.
1
|
|||
|
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
|
||||
| 24.12.2014, 11:36 [ТС] | ||||
думаю оставлю в массиве, раз уж это не критично.п.с. я не силен в геймдеве, потому и спросил делается ли так вообще ))
0
|
||||
| 24.12.2014, 12:00 | |
|
0
|
|
| 24.12.2014, 12:00 | |
|
Помогаю со студенческими работами здесь
11
Программа неожиданно завершилась Qt C++ Программа неожиданно завершилась. Программа неожиданно завершилась Программа неожиданно завершилась Программа неожиданно завершилась Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В качестве. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|