|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.05.2018, 10:03 | #1 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 13
|
Оптимизация визуальной новеллы
Я делаю визуальную новеллу (интерактивная книга, картинка + текст внизу + музыка), у меня несколько вопросов
1) Я храню все (текстовый файл со сценарием, картинки и музыку) в ресурсах, правильно ли это? Или при большом количеством данных могут быть проблемы? Как лучше делать? Загружать все из ресурсов на время выполнения или хранить на винте? 2) Как можно ускорить выведение картинки в TImage, а то немного подлагивает, ну совсем, боюсь что дальше хуже будет. 3) Из-за скинов AlphaControls (нужен скин один на несколько компонентов + сами компоненты AlphaControls) и у меня приложения весит на 16 мб больше (еще тысяча файлов .dcu с исполняемым файлом создается, ну лан, не тыща, крч 10 штук где-то), не уверен, что все из них используются приложением, так вот, можно как-нибудь удалить ненужную хрень, которую я не использую из AlphaControls, а то я чет уверен что я использую максимум 1 процент, от того что присасывается к моей игре |
27.05.2018, 12:01 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Зачем это на Дельфи делать? Возьмите любой игровой движок, не придется изобретать велосипеды, не будет никаких подлагиваний TImage и сможете например немного анимации добавить )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
27.05.2018, 12:14 | #3 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 13
|
Я хочу именно на Delphi, как практика в программировании (знаю, что велосипед, но все же), на движке толком не надо никаких знаний программирования.
|
27.05.2018, 13:04 | #4 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Абстрактные вопросы - абстрактные ответы.
1) Дело вкуса, хотя не лучшая идея. Хранить можно всё и в отдельных файлах. 2) Не успевают прочитаться данные или просто моргание при быстрой смене картинки? 3) Да, что-то убрать можно.Скорее всего вот ту штуку, и ещё пару штук левее от неё. А дцу не нужны конечной программе |
27.05.2018, 13:19 | #5 | |
Пользователь
Регистрация: 27.05.2018
Сообщений: 13
|
Цитата:
|
|
27.05.2018, 13:32 | #6 | ||
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Цитата:
Цитата:
Кэшировать надо, если чтение не успевает. Если, конечно, причина установлена правильно. Тут прям как с болезнью, каждый сам выбирает лечение. Если болит спина, то выхода два. Либо к терапевту - он назначит лекарства, либо к хирургу - он позвоночник вырежет |
||
27.05.2018, 18:08 | #7 | ||
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
Цитата:
Цитата:
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. |
||
27.05.2018, 20:07 | #8 | |
Пользователь
Регистрация: 27.05.2018
Сообщений: 13
|
Цитата:
|
|
27.05.2018, 20:08 | #9 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 13
|
|
28.05.2018, 10:01 | #10 |
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
Функции GetMem, Zeromemory, а так же динамический массив байтов, который в народе и используется как буфер данных. Кэширование - это промежуточная запись часто используемых данных в быструю память(Оперативную или видеопамять). При подгрузке вы считываете данные в эту память, а уже из неё используете. Например, ближайшие объекты(сцены, персонажи, объекты) кэшируем в видеопамять, из неё они используются для создания следующего кадра, по вверх их можно накинуть шейдеры(например, погодные эффекты или физические шейдеры отвечающие за эффекты освещения), уже последующие одновременно загружаются из оперативной памяти, а третьи и вовсе с диска. При этом после использования буферы очищаются и используются заново.
Итог получаем: Минимум 2 буфера видеопамяти(для объектов графики), 2 буфера быстрой памяти и 4 потока динамической подгрузки. На счёт видеопамяти в создание фреймов(TFrame или как-то так) я не слишком уверен, но на счёт данных в быстрой памяти точно. Так же можно незадолго до использования загрузить в буфер музыку и звуки, а уже при использование воспроизводить их из памяти. Конечно, организация всех подгрузок строиться по сценарию игры и это практически всегда скрипт. Отсюда в во всех более больших играх и добавляли значок загрузки во время игрового процесса, как информатор для пользователя, что в данный момент игра подгружает объекты и FPS немного упадёт. На счёт кода - в сети очень часто всплывало использование буферов. И на этом форуме тоже.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка интерактивной визуальной среды | ЮляБелка | Помощь студентам | 16 | 02.06.2016 04:11 |
Массив в визуальной среде | Eleonor | Visual C++ | 2 | 27.04.2013 09:08 |
шифрование визуальной информации | dimassdimass | Visual C++ | 2 | 31.01.2013 10:53 |
Блок схема визуальной программы | mkv94 | Помощь студентам | 1 | 09.02.2012 04:35 |
Основы визуальной алгоритмизации | Gae4kkka | Помощь студентам | 3 | 29.11.2009 14:45 |