mantech 49 21 сентября, 2020 Опубликовано 21 сентября, 2020 · Жалоба 3 часа назад, __inline__ сказал: Мы когда делаем игры, поступаем так: сжимаем всё что сжимается ZLIB и кладём на SD карту. Затем когда что-то нужно подгрузить для конкретного уровня игры - лезем в динамический список - грузим и разжимаем в память то что нужно. Нее, так не хотят, хотят, чтоб нажав на кнопку сразу появилась картинка, причем на весь экран! Я как-то делал динам. подзагрузку, когда дело было на более простом МК - сразу фи.. а чет так думает, хочу сразу чтобы))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 22 сентября, 2020 Опубликовано 22 сентября, 2020 (изменено) · Жалоба 9 hours ago, mantech said: Нее, так не хотят, хотят, чтоб нажав на кнопку сразу появилась картинка, причем на весь экран! Я как-то делал динам. подзагрузку, когда дело было на более простом МК - сразу фи.. а чет так думает, хочу сразу чтобы))) Если в памяти хранить запакованный ZLIB'ом ресурс, затем при отображении его распаковывать - это будет довольно быстро. Тоесть в образе прошивки скомпонованы ресурсы сжатые ZLIB (на ПК предварительно с самым сильным сжатием -9 ), а при обращении к ним делается прозрачная распаковка(из памяти конечно). В играх так и сделали: заменили fopen, fread, fclose на свои - которые читают из памяти якобы файлы (на самом деле - сжатые образы в памяти). Правда тогда нужно будет организовать некий хедер (наподобие как таблица FAT) из которого как минимум будут извлекаться: имя ресурса, его размер и смещение относительно базового адреса ресурса. Что-то типа своего Data-Bundle. Так кстати в играх укатывают все ресурсы данных в один файл, который можно пристыковать к программе (GCC это может "изкаропки", для остальных - через конверсию bin to h) . А если взять smart-RLE-сжатие, то можно прямо побайтно налету разжимать картинки ))) Но по степени сжатия RLE хуже ZLIB. ZLIB ещё хорош тем, что если кто-то нехороший попытается "сломать" данные, то процесс распаковки завершится с ошибкой и можно просто завершить работу программы, обломав такого "товарища". Для усиления эффекта можно шифрование данных сверху прикрутить. Это защита для любителей патчить ресурсы или их извлекать в своих целях. Кстати, грядёт новый стандарт Си, надеюсь разработчики компилеров не прозевают и сделают все __полезные__ нововведения: https://habr.com/ru/company/badoo/blog/503140/ Особенно вот это наконец-то будет кросс-платформенно: Quote Включение двоичных файлов в исходный файл Включение двоичных данных из файлов в исполняемый файл — невероятно полезная для всех игроделов возможность : const int music[] = { #embed int "music.wav" }; 10 hours ago, Obam said: Чёт он на Сильвестра не похож: овал лица не тот, "баландын", без сигареты в углу рта и без зеркальных "Авиатор"-ов ;-). Фальшивка. Мне здесь больше дерзкая китайская выходка против игровых копирасторов понравилась И решь шла не о Кобре-Сталлоне, а о японском Кобре. Вот этот товарищ: И этот : - разные люди, не пересекающиеся друг с другом. Изменено 22 сентября, 2020 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 22 сентября, 2020 Опубликовано 22 сентября, 2020 · Жалоба 10 часов назад, __inline__ сказал: Если в памяти хранить запакованный ZLIB'ом ресурс, затем при отображении его распаковывать - это будет довольно быстро. Будет слайд-шоу, особенно на анимации, ибо там только неон помогает быстро перекидывать картинки в экранную область, тут же получается явно программное копирование, которое в разы медленнее, плюс распаковка, хоть даже и быстрая... 10 часов назад, __inline__ сказал: Включение двоичных файлов в исходный файл Никогда этим не пользовался, но неужели этого еще нет в сях?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 22 сентября, 2020 Опубликовано 22 сентября, 2020 · Жалоба 54 minutes ago, mantech said: Никогда этим не пользовался, но неужели этого еще нет в сях?? В ARMCC это делается через эмбид ресурсов через ASM-файлы. В GCC это делается через objdump + внешние extern В других, где эмбида нет - только конверсией BIN to H. 56 minutes ago, mantech said: Будет слайд-шоу, особенно на анимации А если разом всю анимацию из памяти(1) разжать в память(2), затем играть из памяти(2)? Затем освободить память(2), а из памяти (1) новую анимацию в память(2) ит.п.? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 22 сентября, 2020 Опубликовано 22 сентября, 2020 · Жалоба 1 минуту назад, __inline__ сказал: А если разом всю анимацию из памяти(1) разжать в память(2), затем играть из памяти(2)? Затем освободить память(2), а из памяти (1) новую анимацию в память(2) ит.п.? Так и делаю, иначе при требовании под 1 кадр 2-4 мегабайта, никакой памяти не хватит. Распаковку провожу в то время, пока клиент что-то делает не касаясь терминала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 22 сентября, 2020 Опубликовано 22 сентября, 2020 (изменено) · Жалоба 16 minutes ago, mantech said: Так и делаю, иначе при требовании под 1 кадр 2-4 мегабайта, никакой памяти не хватит. Распаковку провожу в то время, пока клиент что-то делает не касаясь терминала. Декодер H264 напрашивается. Там хорошее сжатие между фреймами и опенсорцный. Можно настроить качество не хуже JPEG. Странные клиенты. Чем ведро многоядерное по типу планшета их не устроило? Изменено 22 сентября, 2020 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 22 сентября, 2020 Опубликовано 22 сентября, 2020 · Жалоба 2 часа назад, __inline__ сказал: Декодер H264 напрашивается. Там хорошее сжатие между фреймами и опенсорцный. Дак тормозной же он... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 23 сентября, 2020 Опубликовано 23 сентября, 2020 · Жалоба 12 hours ago, mantech said: Дак тормозной же он... Он даже на STM32F407 с его 168 МГц работал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozelot 7 23 сентября, 2020 Опубликовано 23 сентября, 2020 · Жалоба 2 minutes ago, __inline__ said: Он даже на STM32F407 с его 168 МГц работал Ссылку можно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 23 сентября, 2020 Опубликовано 23 сентября, 2020 · Жалоба 6 minutes ago, Ozelot said: Ссылку можно? https://vrtp.ru/index.php?showtopic=29688&st=30 https://vrtp.ru/index.php?act=Attach&type=post&id=765613 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozelot 7 23 сентября, 2020 Опубликовано 23 сентября, 2020 · Жалоба Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 23 сентября, 2020 Опубликовано 23 сентября, 2020 · Жалоба 18 minutes ago, Ozelot said: Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_77 0 28 сентября, 2020 Опубликовано 28 сентября, 2020 · Жалоба В большой платке Lichee Zero V3s накосячили с Ethernet подключением. После включения Etherent в программе - процессор начинает сильно греться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 28 сентября, 2020 Опубликовано 28 сентября, 2020 · Жалоба Завести 3.3В вместо 1.1В - это серьёзная заявка на успех. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 29 сентября, 2020 Опубликовано 29 сентября, 2020 · Жалоба 18 часов назад, aaarrr сказал: Завести 3.3В вместо 1.1В - это серьёзная заявка на успех. Это где такое дело?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться