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

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

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

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

Ответ
 
Опции темы
Старый 06.04.2009, 01:07   #16
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

Сообщение от HolyDel Посмотреть сообщение
сравните

Dim a(1000)
For i = 1 To 1000000
a(i Mod 1000) = i/1000
Next
и
int a[1000];
for(int i=0;i<1000000;++i)
a[i%1000] = i/1000;
что будет быстрее, а почему? если компилируется в одинаковый исполняемый код?
со скрип тамшиной я наверное погорячился, но исполняемый код генерируемый блицом несколько медленнее аналогичного кода генерируемого компилятором плюсов.

blitz дает 43 фпс
C++ дает 800 фпс.
Ладно, мы поняли

Блиц отстой,
Бэйсик - параша,
Сяхе - хой,
Россия наша!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 04:01   #17
Venom2
 
Сообщений: n/a
Ответ: Blitz3d C++ или обычный Basic?

Сообщение от HolyDel Посмотреть сообщение
сравните

Dim a(1000)
For i = 1 To 1000000
a(i Mod 1000) = i/1000
Next
и
int a[1000];
for(int i=0;i<1000000;++i)
a[i%1000] = i/1000;
что будет быстрее, а почему? если компилируется в одинаковый исполняемый код?
со скрип тамшиной я наверное погорячился, но исполняемый код генерируемый блицом несколько медленнее аналогичного кода генерируемого компилятором плюсов.

blitz дает 43 фпс
C++ дает 800 фпс.
Компилятор блица не оптимизирующий, отключи оптимизацию у сишного компилятора и получишь практически одинаковый генерируемый код:
Блиц:
;For i = 1 To 1000000
00D9009A: 30304439303039    mov [ebp-04h], 00000001h
00D900A1: 3030443930        jmp 00D900E6h
;x = i / 1000
00D900A6: 303044            mov eax, [ebp-04h]
00D900A9: 3030443930        mov ecx, 000003E8h
00D900AE: 30                cdq 
00D900AF: 3030              idiv ecx
;y = i Mod 1000
00D900B1: 303044            mov [ebp-08h], eax
00D900B4: 303044393030      sub esp, 00000008h
00D900BA: 303044            mov ebx, [ebp-04h]
00D900BD: 303044            mov [esp], ebx
00D900C0: 3030443930304330  mov [esp+04h], 000003E8h
00D900C8: 3030              mov eax, ebx
00D900CA: 3030443930        call 00946C20h
;a(y) = x
00D900CF: 3030              mov ebx, eax
00D900D1: 303044            mov eax, [ebp-08h]
00D900D4: 303044            shl ebx, 02h
00D900D7: 303044393030      add ebx, [00D9010Ch]
00D900DD: 3030              mov [ebx], eax
;Next
00D900DF: 30304439303044    add [ebp-04h], 00000001h
00D900E6: 30304439303045    cmp [ebp-04h], 000F4240h
00D900ED: 303044393030      jle 00D900A6h
VS9 без оптимизаций:
;for(int i=0;i<1000000;++i)
00005c745fc00000000   mov DWORD PTR _i$2529[ebp], 0
0000ceb09             jmp SHORT $LN3@main
                      $LN2@main:
0000e8b45fc           mov eax, DWORD PTR _i$2529[ebp]
0001183c001           add eax, 1
000148945fc           mov DWORD PTR _i$2529[ebp], eax
                      $LN3@main:
00017817dfc40420f00   cmp DWORD PTR _i$2529[ebp], 000f4240H
0001e7d21             jge SHORT $LN4@main
;x = i / 1000;
000208b45fc           mov eax, DWORD PTR _i$2529[ebp]
0002399               cdq
00024b9e8030000       mov ecx, 000003e8H
00029f7f9             idiv ecx
y = i % 1000
0002b8bc8             mov ecx, eax
0002d8b45fc           mov eax, DWORD PTR _i$2529[ebp]
0003099               cdq
00031bee8030000       mov esi, 000003e8H
00036f7fe             idiv esi
;a[y] = x
00038890c9500000000   mov DWORD PTR ?a@@3PAHA[edx*4], ecx
;}
0003febcd             jmp SHORT $LN2@main
                      $LN4@main:
ЗЫ
И кстати да, то что в блице нет никакой скрипт-машины еще на старом форуме выяснили.

Ну и еще блиц страдает тем что большинство мат. операций вынесено в функции и их код не инлайнится.

Последний раз редактировалось Platon, 06.04.2009 в 04:27.
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
ABTOMAT (06.04.2009), h1dd3n (06.04.2009), Harter (09.04.2009)
Старый 06.04.2009, 04:06   #18
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

а нафига мне VS9 без оптимизации если я могу использовать VS9 с оптимизацией?

кстати, как ты получил ASM листинг блица?
(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 04:15   #19
Venom2
 
Сообщений: n/a
Ответ: Blitz3d C++ или обычный Basic?

Сообщение от HolyDel Посмотреть сообщение
а нафига мне VS9 без оптимизации если я могу использовать VS9 с оптимизацией?
Можешь, но это я к тому что твое сравнение некорректно.
Сообщение от HolyDel Посмотреть сообщение
кстати, как ты получил ASM листинг блица?
Дизассемблировал
 
Ответить с цитированием
Старый 06.04.2009, 04:45   #20
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

а как корректно? обрубить половину возможностей сишного компилятора?

это все равно что сравнивать самолет и машину по скорости, но сказать чтобы самолет от земли не отрывался, а то нечестно, машина то на земле.
(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 05:09   #21
Venom2
 
Сообщений: n/a
Ответ: Blitz3d C++ или обычный Basic?

Сообщение от HolyDel Посмотреть сообщение
а как корректно? обрубить половину возможностей сишного компилятора?

это все равно что сравнивать самолет и машину по скорости, но сказать чтобы самолет от земли не отрывался, а то нечестно, машина то на земле.
У этих компиляторов разные весовые категории, сравнивать не имеет смысла, и так понятно что мс компилятор лучше за счет оптимизатора.
 
Ответить с цитированием
Старый 06.04.2009, 09:21   #22
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

Т.к. блиц изночально был сделан под свой язык, и он достаточно стар и не развиваеться на с++ юзать блиц глупо!

на с++ есть куча других более вменяемых двигов.
__________________
Жизнь как говориться игра- делать игры моя профессия(с)

Программирование, это религия! Её нужно исповедовать.
(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 10:33   #23
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

Сообщение от HolyDel Посмотреть сообщение
blitz дает 43 фпс
C++ дает 800 фпс.
да по большему счету сдк в итоге быстрее выйдет в разы, таких отличающихся по производительности мест полно

ч.т.д.?


Сообщение от FDsagizi Посмотреть сообщение
Т.к. блиц изночально был сделан под свой язык, и он достаточно стар и не развиваеться на с++ юзать блиц глупо!

на с++ есть куча других более вменяемых двигов.
а помоему не глупо, зато можно его выжать на полную +ОПП на С++ удобнее чем код блица обычный с кучей функций
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 11:17   #24
jimon
 
Сообщений: n/a
Ответ: Blitz3d C++ или обычный Basic?

Aceton
ты можешь наконец-то отличить движок от языка ?
"движок" blitz3d sdk так сказать используется в языке blitz3d
потому скорость работы движка что в blitz3d что в C++ ОДИНАКОВАЯ
а вот скорость выполнения твоего кода - разная
 
Ответить с цитированием
Старый 06.04.2009, 12:26   #25
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

jimon не цепляйся к словам, ясень пень подразумевается скорость выполнения кода! -> ты меня совсем в грязь втаптываеш такими фразами
Сообщение от jimon Посмотреть сообщение
Aceton
ты можешь наконец-то отличить движок от языка ?
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 13:55   #26
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

Сообщение от Aceton Посмотреть сообщение
...
а помоему не глупо, зато можно его выжать на полную +ОПП на С++ удобнее чем код блица обычный с кучей функций
Это то понятно... а другие движки попробывать не хочешь?
(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 14:36   #27
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

Сообщение от Aceton Посмотреть сообщение
да по большему счету сдк в итоге быстрее выйдет в разы, таких отличающихся по производительности мест полно
ч.т.д.?
а помоему не глупо, зато можно его выжать на полную +ОПП на С++ удобнее чем код блица обычный с кучей функций
если нужно быстрее в разы - надо забыть про Блиц.
у Блица всего два сильных момента:
1. все "просто работает"
2. DX7
они же и отрицательные
1. если "просто не работает" то к Блицу прикрутить иногда становится в разы сложнее чем написать с нуля.
2. DX7

ЗЫ: С++,С++,С++ - запарил уже... на что у тебя скорости не хватает может покажешь?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
Harter (09.04.2009), HolyDel (07.04.2009)
Старый 06.04.2009, 14:55   #28
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

Почему С++? - я не хочу писать на обычном бесике
Про производительность - это просто рассуждения
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 15:05   #29
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

Сообщение от Aceton Посмотреть сообщение
я не хочу писать на обычном бесике
Почему? Изза того что C++ это "круто" и "мощно"? Типа "бейсик это хрень устаревшая"? Мне кажется сначала надо изучить более простой язык и сделать на нем что нибудь законченное, а потом уже лезть в C++, имхо.

Последний раз редактировалось h1dd3n, 06.04.2009 в 15:15.
(Offline)
 
Ответить с цитированием
Старый 06.04.2009, 15:52   #30
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
Ответ: Blitz3d C++ или обычный Basic?

зачем мне тратить время на *бесик* , если можно сразу делать все С++

И не надо смотреть на меня как на человека, который програмит 1й день.

Конечно С++ это круто и мощно! Тут даже спорить не о чем!



Уже давно смотрю в сторону огра, в нем нет таких проблем.
НО как уже писал выше Огр не тянет на видяхах ниже жифорса 5600, или работает на них неадекватно.

Чем привлекает блиц - простота и надежность, потому и хочу реализовать его на языке С++, который дает возможности расширения шире чем бесик.
Проблема в том что на С++ мало кто пишет приложения для блица, потому и возникают такие вопросы у меня , ибо почерпнуть почти негде.
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Flash theif 1.0 Src - Pure Basic 4.20 MadMedic Проекты на PureBasic 1 07.01.2009 23:09
Blitz3D SDK win32 C++ 8 05.01.2008 21:54
Dark Basic vadim2 Наш форум 7 18.07.2006 03:38
Blitz Basic 2D pax Болтовня 7 04.02.2006 12:24


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


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