Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 11
1

Система ресурсов Qt в играх. Хорошо или плохо?

01.12.2014, 16:58. Показов 1399. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот решил попробовать написать игру на Qt. Думаю, как можно хранить текстуры : в системе ресурсов Qt или как файлы-спутники приложения. Их там у меня не очень то много, но интересно, будет ли в варианте с системой ресурсов пожираться оперативная память(там все-таки все записывается в бинарник). И еще: я пока не научился, как засунуть файлы в apk Android-приложения. А вот с системой ресурсов, как понятно, получилось.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2014, 16:58
Ответы с готовыми решениями:

Многопоточность - хорошо или плохо?
Начал писать программы с многопоточностью. Имею 64х AMD 4-ядерный. Ранее думал, что на таком...

Ссылки - хорошо или плохо?
Сразу извиняюсь, не смог придумать более вменяемое название. А проблема вот в чем - создаю граф,...

Google: хорошо или плохо?
давайте по холливарим немного

Средний балл - хорошо или плохо
С клавиатуры вводятся оценки студента, объемом n, определить средний балл и вывести "хорошо", если...

10
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
01.12.2014, 21:17 2
Цитата Сообщение от MaxWolf Посмотреть сообщение
будет ли в варианте с системой ресурсов пожираться оперативная память(там все-таки все записывается в бинарник)
ИМХО, бинарник вовсе не весь грузится в память. А ресурсы подгружаются по мере необходимости.
Если я ошибаюсь, пусть сведущие товарищи меня поправят
1
Поклонник Qt
314 / 210 / 41
Регистрация: 09.11.2013
Сообщений: 336
Записей в блоге: 1
01.12.2014, 21:39 3
Цитата Сообщение от Байт Посмотреть сообщение
ИМХО, бинарник вовсе не весь грузится в память
Верно.

Цитата Сообщение от MaxWolf Посмотреть сообщение
или как файлы-спутники приложения.
Именно так.

Цитата Сообщение от MaxWolf Посмотреть сообщение
в системе ресурсов Qt
Этим вы существенно рискуете увеличить общее время сборки проекта, а также, в случае существенного размера текстур, во время сборки получить ошибку: cc1plus.exe: out of memory allocating 1073745919 bytes.
2
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
01.12.2014, 21:43 4
Цитата Сообщение от CriDos Посмотреть сообщение
1 073 745 919
Гигабайт, да?
1
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 11
01.12.2014, 21:43  [ТС] 5
А не знаете тогда, как можно дополнительные файлы засунуть в apk? Открыть через архиватор и всунуть - банально, глупо, и не получается.
0
Поклонник Qt
314 / 210 / 41
Регистрация: 09.11.2013
Сообщений: 336
Записей в блоге: 1
01.12.2014, 22:01 6
Лучший ответ Сообщение было отмечено MaxWolf как решение

Решение

Цитата Сообщение от Байт Посмотреть сообщение
Гигабайт, да?
Это я пробовал запихнуть в ресурсы 4 файла, весом в 8 мб (для теста)
Почему выдало такую цифру - без понятия...
Видимо, этого к-ва memory не хватило ему

Добавлено через 11 минут
Цитата Сообщение от MaxWolf Посмотреть сообщение
А не знаете тогда, как можно дополнительные файлы засунуть в apk? Открыть через архиватор и всунуть - банально, глупо, и не получается.
Попробуйте почитать об этом тут: http://qt-project.org/doc/qt-5... droid.html
В примере приложения, ориентированного на мобильные устройства, все требуемые файлы содержатся в ресурсах, но, к-во оных и размер позволяет это.
Пример Qt Quick Demo - Maroon in Trouble - если что.
2
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
01.12.2014, 22:15 7
Цитата Сообщение от CriDos Посмотреть сообщение
Это я пробовал запихнуть в ресурсы 4 файла, весом в 8 мб (для теста)
Любопытно.. И цифра 32 Мб невелика... Это было в Креаторе или в командной строке?
Мне-то с такими объемами сталкиваться не приходилось, но странно как-то...
1
Поклонник Qt
314 / 210 / 41
Регистрация: 09.11.2013
Сообщений: 336
Записей в блоге: 1
01.12.2014, 22:28 8
Цитата Сообщение от Байт Посмотреть сообщение
Любопытно.. И цифра 32 Мб невелика... Это было в Креаторе или в командной строке?
Мне-то с такими объемами сталкиваться не приходилось, но странно как-то...
Да, в среде.

Всё на самом деле просто.
Ресурсы преобразуются в вот это:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
#include <QtCore/qglobal.h>
 
static const unsigned char qt_resource_data[] = {
  // D:/dev/Qt/Projects/test/418-asja_kadric-fear_not_this_night - ?????.mp3
  0x0,0x86,0xc2,0xa9,
  0x49,
  0x44,0x33,0x3,0x0,0x0,0x0,0x0,0x13,0x78,0x54,0x49,0x54,0x32,0x0,0x0,0x0,
  0x14,0x0,0x0,0x0,0x46,0x65,0x61,0x72,0x20,0x4e,0x6f,0x74,0x20,0x54,0x68,0x69,
  0x73,0x20,0x4e,0x69,0x67,0x68,0x74,0x54,0x41,0x4c,0x42,0x0,0x0,0x0,0x26,0x0
...
И из 16 мб ресурсов, получаем - 89 мб, которые cc1plus не сможет переварить
2
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
01.12.2014, 22:55 9
CriDos, Здорово! Информация очень ценная. И дело не в среде, а в самом компиляторе. Т.е, если столкнусь - буду знать на что грешить.
Я вообще-то по старой досовской привычке дрожу над каждым лишним килобайтом. Но ресурсы... Да... За это надо платить...
У меня еще на древнем ВС 2.0 была проблемка. Надо было переработать и включить в проект чужую (фри) программу. А исходник порядка 100К. И стал мой ВС, как конь под Ильей, спотыкаться. И - out of memory! То ли таблицы у него какие-то переполнялись, то ли еще какая вожжа под хвост. Ну, пришлось порезать на несколько сорцов, да, веселое дело было...
1
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
02.12.2014, 01:23 10
В общем случае вшивать ресурсы в apk не стоит:
1. ограничение на размер в 50Mb, сколько занимает Qt не знаю;
2. девайсы с разным размером экрана и разрешением.
1
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 11
02.12.2014, 16:48  [ТС] 11
Спасибо Вам большое! Постараюсь прочитать на той странице, на которую Вы скинули ссылку. Блин, жаль английским не владею, так как в школе Deutsch.
0
02.12.2014, 16:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2014, 16:48
Помогаю со студенческими работами здесь

молодняк получил пр=0 хорошо или плохо?
молодой блог ~200 статей. тематика &quot;культура и история&quot; в Г.Панельке словил пр морды 0, раньше не...

Глобальные указатели. Плохо или хорошо?
Уважаемые знатоки, хотел уточнить один вопрос. Дело в том, что я использую глобальные указатели на...

Переменные на русском языке - хорошо или плохо?
в mvs 2012 заметил возможность в проектах c++ переменным, функциям, классам давать русско-буквенные...

Заколцованная структура БД. Это хорошо или плохо?
Всех приветствую! Вопрос в запголовке темы. Для примера привожу три таблицы: студенты, предметы,...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru