Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 21.09.2010, 19:53   #1
vladpol1
Оператор ЭВМ
 
Аватар для vladpol1
 
Регистрация: 03.11.2008
Адрес: Москва
Сообщений: 29
Написано 7 полезных сообщений
(для 11 пользователей)
Как ускорить загрузку ресурсов если их много

Blitz может довольно долго грузить, к примеру, 100 mb ресурсов для игры,
хотя на других языках на порядок быстрее.
Чем это дело можно ускорить в Блице, есть ли какая dll или ещё что, кто знает?
__________________
Шаманом можешь ты не быть, но в бубен постучать обязан!
(Offline)
 
Ответить с цитированием
Старый 21.09.2010, 20:16   #2
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

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

Сообщение от vladpol1 Посмотреть сообщение
100 mb ресурсов для игры

__________________
299 792 458
(Offline)
 
Ответить с цитированием
Старый 21.09.2010, 20:25   #3
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

Волшебной 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 за это полезное сообщение:
Антихрист (18.11.2010), Harter (21.09.2010)
Старый 21.09.2010, 20:33   #4
vladpol1
Оператор ЭВМ
 
Аватар для vladpol1
 
Регистрация: 03.11.2008
Адрес: Москва
Сообщений: 29
Написано 7 полезных сообщений
(для 11 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

Спасибо DeeJex, сам что-то просмотрел такую возможность.
Насчёт упрощения ресурсов: они и так простые, тут дело в количестве и... 100 Мб
__________________
Шаманом можешь ты не быть, но в бубен постучать обязан!
(Offline)
 
Ответить с цитированием
Старый 11.11.2010, 12:15   #5
YaLAS
AnyKey`щик
 
Аватар для YaLAS
 
Регистрация: 05.11.2010
Адрес: Красноармейск, Украина
Сообщений: 17
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

vladpol1, а так ли нужно это ускорять?
Я, например, сделал просто красивую заставку, которая выводится через полсекунды после старта и держится пока грузится все что нужно в течении допустим 5-10 секунд.
(Offline)
 
Ответить с цитированием
Старый 13.11.2010, 11:30   #6
vladpol1
Оператор ЭВМ
 
Аватар для vladpol1
 
Регистрация: 03.11.2008
Адрес: Москва
Сообщений: 29
Написано 7 полезных сообщений
(для 11 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

в течении допустим 5-10 секунд.
А если грузится 50-100 секунд?
__________________
Шаманом можешь ты не быть, но в бубен постучать обязан!
(Offline)
 
Ответить с цитированием
Старый 13.11.2010, 17:36   #7
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

ну в реальных играх есть фоновая загрузка. а в блицевских играх обычно делают лоупольную/размытую медию либо очень мало медии между загрузками увы) если больше всего весят текстуры, сжимай их в DXT1/5, будет быстрее.
(Offline)
 
Ответить с цитированием
Старый 14.11.2010, 20:52   #8
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 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
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

Для этого нужно знать общий размер всех ресурсов ну и считать проценты после загрузки каждого. Правда работает только в том случае если у тебя есть какая то система загрузки. В моем быдлокоде на конкурc прокатила только заставка "Loading..."
__________________
Ибо как сказал Бгдн:
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (15.11.2010)
Старый 14.11.2010, 21:47   #10
vladpol1
Оператор ЭВМ
 
Аватар для vladpol1
 
Регистрация: 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
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

Уж лучше просто написать 'Loading...". А вообще неужели так трудно написать либу для того что бы узнавать размер загружаемых файлов?
(Offline)
 
Ответить с цитированием
Старый 15.11.2010, 00:07   #12
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как ускорить загрузку ресурсов если их много

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

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (15.11.2010)
Старый 15.11.2010, 08:52   #13
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 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
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 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
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Старый 15.11.2010, 14:42   #15
vladpol1
Оператор ЭВМ
 
Аватар для vladpol1
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nex (16.11.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com