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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Отображение процента загрузки dll  (Прочитано 3033 раз)
Hrundel
Гость
« : Август 18, 2013, 18:36 »

Всем привет,

вопрос не совсем простой. Программа динамически подгружает и выгружает некоторое количество dll-ей. По размеру они не очень большие - от 10 MB.
Машина у меня быстрая, посему я на своей машине не замечаю как они грузятся. Но я предполагаю, что в какой-то момент в одной из библиотек будет лежать
видео-ролик, тут и возникает вопрос:

как сделать загрузочную паузу для библиотеки и отображать ее загрузку.

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

Буду рад всем советам и предложениям.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #1 : Август 19, 2013, 09:24 »

Если речь идёт о том, чтобы отобразить прогресс загрузки ОС отдельной DLL - то подозреваю, что никак. Если DLL загружаются динамически через QLibrary, то какие-то костыли прикрутить можно, но, на мой взгляд, не нужно.
Но я предполагаю, что в какой-то момент в одной из библиотек будет лежать
видео-ролик
Скорость "загрузки" (это смотря что ещё понимать под "загрузкой"!) DLL практически не зависит от её размера. Скорее она будет зависеть от количества экспортируемых символов, и то различия будут на уровне погрешности измерения. А вот если там в DLLMain исполняется сложный пользовательский код - тогда разница может быть заметной, но это уже будет зависеть от самой DLL.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #2 : Август 19, 2013, 13:02 »

можно просто задать счётчик загруженых либ, и отображать в прогрессбаре его. на сколько я понимаю либы целиком не грузятся в озу (ресурсы и прочее скорее всего подгружается по мере необходимости, хотя может и ошибаюсь)..
Записан
mutineer
Гость
« Ответ #3 : Август 19, 2013, 13:11 »

А что видеоролик должен делать в dll? Почему не засунуть его в какие-нить ресурсы?
Записан
Hrundel
Гость
« Ответ #4 : Август 19, 2013, 20:58 »

Спасибо, хотя бы, что-то проясняется.

Эти библиотеки устроены так, что они вызываются автоматом состояний и грузят свои ресурсы. В ресурсах у них как правило лежат картинки, но в двух из них понадобится положить видеоролик на 12-15 секунд. Типа заставки. Не хотелось бы, чтобы из-за ролика пострадал перформанс на  слабых машинах.

Это, собственно, и причина вопроса.

Полагаю, ответ xokc'a прояснил мне немного ситуацию. Думаю, что нужно тестировать на слабой машине, и если будут тормоза, то читать и проигрывать файл обычным ходом.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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