Иди учи мат часть!
20 вычитаний и 5 умножений каждый цикл... Знаешь сколько нужно просчётов чтобы в RealTime из камеры с 30 fps, разрешением в 1960х1080, используя нейронные сети, распозновать объекты машин, определять перед/зад её (по цвету знака, белый/жёлтый), и далее уже распознавать саму информацию со знака, затем эти данные посылаются на сервер, и там с невиданной частотой будут проверки в базах данных, например въезжала ли эта машина уже в центр города, или не в розыске ли она и т.п.
Это учитывая что таких камер тысячи.
Так вот теперь к теме: оптимизировать на мелочи и ровном месте, где 1мс на протяжении 3 секунд загрузки (что есть 3000мс), это много? Да темболее там и 1 мс в попу не будет.
В третьих, я предоставил код в котором есть возможность настроить высоту полосы загрузки.
И чем легко читаемый код плохой?
УЧИСЬ ПРОГРАММИРОВАТЬ.
Давай, школота будет учить жизни дедушек...
Ладно, чего я тут, не мне же потом с таким кодом работать, просто неприятно, когда по работе приходиться работать с говнокодом, от какого-то зазработчика, который "профи", и работает в своей сфере уже более 5 лет, это говорит о том, что дурные привычки, и программировать нужно учиться правильно с ранних начинаний.
Конкретнее по некорректности твоего кода:
1. "Const pr=25", хорошо, константа, число 25, а что это простите? pr - много о чём говорит.
2. "For n=50 To 575 Step pr", тоесть у нас если посчитать 21 итераций, учитывая что это потому что pr=25. А почему именно 25? Ладно забей, идём дальше:
3. "Color 255,200,130: Rect n,215,20,25,1", установка цвета каждый цикл, это вызов функции, перелокация памяти (надеюсь знаком с областями памяти, локальные/приватные переменные и т.п.?). Вызов функции установки цвета. Учитывая что это 2D, и отрисовка происходит по вызову, то установка также, произойдёт по вызову, или надеюсь Сибли просто присваивает значения 3 переменным, которые используются после (хотя учитывая что miniB3D - это полный говнокод, то страшно подумать что есть Blitz3D внутри..). Почему не вынести установку цвета прямо перед вызовом цикла? Религия не позволяет?
4. "Local a=n/pr" - простите, получать индекс таким образом? Благо я смекалистый, понимаю что a - выступает далее в роли "типо индекса", я изменю длину Step'а или колличество циклов, индекс пойдёт лесом, и всё в цикле на нём основонное тоже пойдёт дебрями.. Далее длина полосы загрузки, привязана именно к данному случаю, и "магическому" набору чисел. В моём же примере, неважно сколько медии, она всегда будет корректно отображать именно позицию, от левой части экрана до правой.
5. "gr1=LoadImage("C:\gr\"+a+".jpg")" и такие же дублежи далее, ты не смекнул что во первых это можно было обернуть в ещё один цикл, ну это так, а во вторых, проследи за "a": первая итерация а=2, вторая итерация а=3, последняя а=23. Это у нас таки номера файлов нужны: 2, 21, 22, 23, 24, 3, 31, 32, 34, 4 ..... 23, 231, 232, 233, 234
Думаю комментарии излишни..
Для пущей твоей практики, задачка (если конечно ты хочешь учиться, и прислушаешься к советам):
есть файлы, список имён файлов храниться в виде строк в текстовом файле:
ui_compass_base.png
ui_compass_glass.png
st_building_house_1.b3d
veg_tree_palm_2.b3d
veg_tree_palm_2_diffuse.jpg
veg_tree_palm_2_alpha.png
veg_tree_palm_2_normal.png
prop_case_wooden_1.b3d
prop_case_wooden_diffuse.jpg
prop_case_wooden_normal.png
Как видишь тут 10 строк. каждая разного имени, это моделька, или текстурка.
Пробегаешься по всем строкам, записываешь их в массив. Теперь у тебя "level_resources$[11]" массив, нужно загрузить эту медию, предположим она в одной папке, неважно в какой.
Напиши код который нарисует на экране полосу загрузки, при этом полоса будет иметь рамку красного цвета, затем внутрь маленький отступ (1 пиксель), и там сама полоска.
Эта полоса должна пройти во время загрузки от начала, и до конца.
Эта полоса должна иметь лёгкую возможность менять позицию, например я хочу сделать её разной длины (разные разрешения экрана), и в разной позиции на экране тоже (снова разные разрешения).
Экран чёрный, рамка оранжевая (255,128,0), а полоса голубая (0,128,255)
Всё просто тут, пишеться менее чем в 10 строк (используя только объявление переменных в одной строке, а остальное без ":").