|
3D-программирование Вопросы, касающиеся программирования 3D мира |
21.09.2010, 19:53
|
#1
|
Оператор ЭВМ
Регистрация: 03.11.2008
Адрес: Москва
Сообщений: 29
Написано 7 полезных сообщений (для 11 пользователей)
|
Как ускорить загрузку ресурсов если их много
Blitz может довольно долго грузить, к примеру, 100 mb ресурсов для игры,
хотя на других языках на порядок быстрее.
Чем это дело можно ускорить в Блице, есть ли какая dll или ещё что, кто знает?
__________________
Шаманом можешь ты не быть, но в бубен постучать обязан!
|
(Offline)
|
|
21.09.2010, 20:16
|
#2
|
Разработчик
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений (для 329 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
да никак. хотя не, бери альтернативные наборы функционала (smooth pixel engine, xors3d) там должно быть быстрее.
Сообщение от vladpol1
100 mb ресурсов для игры
|
__________________
299 792 458
|
(Offline)
|
|
21.09.2010, 20:25
|
#3
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
Волшебной DLL для этого не бывает.
1) Упрощай ресурсы.
Модели в B3D.( *.x - уг)
Текстуры в DDS.
Звуки в Wave.
2) Не сжимай ресурсы.
3) Лишний раз не загружай схожие ресурсы - легче скопировать уже загруженое.
(допустим для разных локаций одна и та же модель)
DeeJex, зря смеёшься. 100мб по современным меркам - копейки.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
|
|
21.09.2010, 20:33
|
#4
|
Оператор ЭВМ
Регистрация: 03.11.2008
Адрес: Москва
Сообщений: 29
Написано 7 полезных сообщений (для 11 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
Спасибо DeeJex, сам что-то просмотрел такую возможность.
Насчёт упрощения ресурсов: они и так простые, тут дело в количестве и... 100 Мб
__________________
Шаманом можешь ты не быть, но в бубен постучать обязан!
|
(Offline)
|
|
11.11.2010, 12:15
|
#5
|
AnyKey`щик
Регистрация: 05.11.2010
Адрес: Красноармейск, Украина
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
vladpol1, а так ли нужно это ускорять?
Я, например, сделал просто красивую заставку, которая выводится через полсекунды после старта и держится пока грузится все что нужно в течении допустим 5-10 секунд.
|
(Offline)
|
|
13.11.2010, 11:30
|
#6
|
Оператор ЭВМ
Регистрация: 03.11.2008
Адрес: Москва
Сообщений: 29
Написано 7 полезных сообщений (для 11 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
в течении допустим 5-10 секунд.
|
А если грузится 50-100 секунд?
__________________
Шаманом можешь ты не быть, но в бубен постучать обязан!
|
(Offline)
|
|
13.11.2010, 17:36
|
#7
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
ну в реальных играх есть фоновая загрузка. а в блицевских играх обычно делают лоупольную/размытую медию либо очень мало медии между загрузками увы) если больше всего весят текстуры, сжимай их в DXT1/5, будет быстрее.
|
(Offline)
|
|
14.11.2010, 20:52
|
#8
|
Разработчик
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений (для 92 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
а прогресс бар к чему привязвается? как он вообще действует?
P.S для тех кто в танке - progress bar - полоса загрузки...
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb
Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)
Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
|
(Offline)
|
|
14.11.2010, 21:11
|
#9
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
Для этого нужно знать общий размер всех ресурсов ну и считать проценты после загрузки каждого. Правда работает только в том случае если у тебя есть какая то система загрузки. В моем быдлокоде на конкурc прокатила только заставка "Loading..."
__________________
Ибо как сказал Бгдн:
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.11.2010, 21:47
|
#10
|
Оператор ЭВМ
Регистрация: 03.11.2008
Адрес: Москва
Сообщений: 29
Написано 7 полезных сообщений (для 11 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
Например можно связать загрузку с for next циклом, предварительно назвав ресурсы 1,2,3 и тд.,
и так же в цикле отображать полосу загрузки умножив/разделив коофициент загрузки относительно полосы.
Профи с помощью апи функций узнают текущий объём опер. и вид. памяти,
отнимают из этого объёма известный объём ресурсов игры и ждут
когда память достигнет отнимаемого уровня следя по полосе загрузки
Или самый простой принцип
tex1=LoadTexture( "media/g1.jpg" )
if tex1=true then LoadSprite("5%.jpg")
;....
tex2=LoadTexture( "media/g2.jpg" )
if tex2=true then LoadSprite("10%.jpg")
;....
tex3=LoadTexture( "media/log3.jpg" )
if tex3=true then LoadSprite("15%.jpg")
; и тд. и тп.
__________________
Шаманом можешь ты не быть, но в бубен постучать обязан!
Последний раз редактировалось vladpol1, 14.11.2010 в 23:17.
|
(Offline)
|
|
14.11.2010, 23:42
|
#11
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
Уж лучше просто написать 'Loading...". А вообще неужели так трудно написать либу для того что бы узнавать размер загружаемых файлов?
|
(Offline)
|
|
15.11.2010, 00:07
|
#12
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
Дело не всегда в размере.
Например, jpeg-текстура грузится дольше bmp (хотя и весит меньше), т.к. jpeg - формат со сжатием, и требуется дополнительное время, чтоб раскодировать изображение. Или, к примеру, игру могут грузить с флешки, где скорость чтения низка, и тут уже, возможно, jpeg загрузится быстрее из-за малого веса. Так что загрузчики с процентами никогда не дадут адекватного результата. Они позволяют судить о прогрессе лишь примерно.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.11.2010, 08:52
|
#13
|
Разработчик
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений (для 92 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
мне не нужна нанометрическая точность узнаваемого обьема)) мне нужна полоса загрузки аля Max Payne 2 или Postal 2 Элементарная полоска! никаких процентных долей мне не нужно))
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb
Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)
Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
|
(Offline)
|
|
15.11.2010, 09:08
|
#14
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
Сообщение от Colossus
мне не нужна нанометрическая точность узнаваемого обьема)) мне нужна полоса загрузки аля Max Payne 2 или Postal 2 Элементарная полоска! никаких процентных долей мне не нужно))
|
While Progress#<100
Progress#=Progress+Rnd(100)*.01
Delay(Rnd(1000,10000))
;тут чето грузим
Cls()
DrawCube(loadX,loadY,Progress#,Height)
Flip()
Wend
|
(Offline)
|
|
15.11.2010, 14:42
|
#15
|
Оператор ЭВМ
Регистрация: 03.11.2008
Адрес: Москва
Сообщений: 29
Написано 7 полезных сообщений (для 11 пользователей)
|
Ответ: Как ускорить загрузку ресурсов если их много
Типа полоса одной строкой
Graphics 640,480,0,2:Rect 35,215,570,30,0:For n=40 To 600:Line n,240,n,220:Delay 8:Next:WaitKey ()
;или
;Graphics 640,480,0,2:Rect 45,210,555,35,0:For n=50 To 575 Step 25:Rect n,215,20,25,1:Delay 200:Next:WaitKey()
вместо Delay стоит пофантазировать с Loading'ом
__________________
Шаманом можешь ты не быть, но в бубен постучать обязан!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:57.
|