forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Как ускорить загрузку ресурсов если их много (http://forum.boolean.name/showthread.php?t=13385)

vladpol1 21.09.2010 19:53

Как ускорить загрузку ресурсов если их много
 
Blitz может довольно долго грузить, к примеру, 100 mb ресурсов для игры,
хотя на других языках на порядок быстрее.
Чем это дело можно ускорить в Блице, есть ли какая dll или ещё что, кто знает? :dontknow:

DeeJex 21.09.2010 20:16

Ответ: Как ускорить загрузку ресурсов если их много
 
да никак. хотя не, бери альтернативные наборы функционала (smooth pixel engine, xors3d) там должно быть быстрее.

Цитата:

Сообщение от vladpol1 (Сообщение 162878)
100 mb ресурсов для игры

:-D

Randomize 21.09.2010 20:25

Ответ: Как ускорить загрузку ресурсов если их много
 
Волшебной DLL для этого не бывает.

1) Упрощай ресурсы.
Модели в B3D.( *.x - уг)
Текстуры в DDS.
Звуки в Wave.

2) Не сжимай ресурсы.

3) Лишний раз не загружай схожие ресурсы - легче скопировать уже загруженое.
(допустим для разных локаций одна и та же модель)


DeeJex, зря смеёшься. 100мб по современным меркам - копейки.

vladpol1 21.09.2010 20:33

Ответ: Как ускорить загрузку ресурсов если их много
 
Спасибо DeeJex, сам что-то просмотрел такую возможность.
Насчёт упрощения ресурсов: они и так простые, тут дело в количестве и... 100 Мб

YaLAS 11.11.2010 12:15

Ответ: Как ускорить загрузку ресурсов если их много
 
vladpol1, а так ли нужно это ускорять?
Я, например, сделал просто красивую заставку, которая выводится через полсекунды после старта и держится пока грузится все что нужно в течении допустим 5-10 секунд.

vladpol1 13.11.2010 11:30

Ответ: Как ускорить загрузку ресурсов если их много
 
Цитата:

в течении допустим 5-10 секунд.
А если грузится 50-100 секунд?

Mr_F_ 13.11.2010 17:36

Ответ: Как ускорить загрузку ресурсов если их много
 
ну в реальных играх есть фоновая загрузка. а в блицевских играх обычно делают лоупольную/размытую медию либо очень мало медии между загрузками увы) если больше всего весят текстуры, сжимай их в DXT1/5, будет быстрее.

Colossus 14.11.2010 20:52

Ответ: Как ускорить загрузку ресурсов если их много
 
а прогресс бар к чему привязвается? как он вообще действует?

P.S для тех кто в танке - progress bar - полоса загрузки...

Gector 14.11.2010 21:11

Ответ: Как ускорить загрузку ресурсов если их много
 
Для этого нужно знать общий размер всех ресурсов ну и считать проценты после загрузки каждого. Правда работает только в том случае если у тебя есть какая то система загрузки. В моем быдлокоде на конкурc прокатила только заставка "Loading...":-D

vladpol1 14.11.2010 21:47

Ответ: Как ускорить загрузку ресурсов если их много
 
Например можно связать загрузку с 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")
; и тд. и тп.

is.SarCasm 14.11.2010 23:42

Ответ: Как ускорить загрузку ресурсов если их много
 
Уж лучше просто написать 'Loading...". А вообще неужели так трудно написать либу для того что бы узнавать размер загружаемых файлов?

ABTOMAT 15.11.2010 00:07

Ответ: Как ускорить загрузку ресурсов если их много
 
Дело не всегда в размере.
Например, jpeg-текстура грузится дольше bmp (хотя и весит меньше), т.к. jpeg - формат со сжатием, и требуется дополнительное время, чтоб раскодировать изображение. Или, к примеру, игру могут грузить с флешки, где скорость чтения низка, и тут уже, возможно, jpeg загрузится быстрее из-за малого веса. Так что загрузчики с процентами никогда не дадут адекватного результата. Они позволяют судить о прогрессе лишь примерно.

Colossus 15.11.2010 08:52

Ответ: Как ускорить загрузку ресурсов если их много
 
мне не нужна нанометрическая точность узнаваемого обьема)) мне нужна полоса загрузки аля Max Payne 2 или Postal 2 Элементарная полоска! никаких процентных долей мне не нужно))

Reks888 15.11.2010 09:08

Ответ: Как ускорить загрузку ресурсов если их много
 
Цитата:

Сообщение от Colossus (Сообщение 168723)
мне не нужна нанометрическая точность узнаваемого обьема)) мне нужна полоса загрузки аля 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

vladpol1 15.11.2010 14:42

Ответ: Как ускорить загрузку ресурсов если их много
 
Типа полоса одной строкой
Код:


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'ом


Часовой пояс GMT +4, время: 13:18.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot