|
3D-программирование Вопросы, касающиеся программирования 3D мира |
06.04.2009, 01:07
|
#16
|
Ференька
Регистрация: 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
|
|
Ответ: 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 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
06.04.2009, 04:06
|
#18
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
а нафига мне VS9 без оптимизации если я могу использовать VS9 с оптимизацией?
кстати, как ты получил ASM листинг блица?
|
(Offline)
|
|
06.04.2009, 04:15
|
#19
|
|
Ответ: Blitz3d C++ или обычный Basic?
Сообщение от HolyDel
а нафига мне VS9 без оптимизации если я могу использовать VS9 с оптимизацией?
|
Можешь, но это я к тому что твое сравнение некорректно.
Сообщение от HolyDel
кстати, как ты получил ASM листинг блица?
|
Дизассемблировал
|
|
|
06.04.2009, 04:45
|
#20
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
а как корректно? обрубить половину возможностей сишного компилятора?
это все равно что сравнивать самолет и машину по скорости, но сказать чтобы самолет от земли не отрывался, а то нечестно, машина то на земле.
|
(Offline)
|
|
06.04.2009, 05:09
|
#21
|
|
Ответ: Blitz3d C++ или обычный Basic?
Сообщение от HolyDel
а как корректно? обрубить половину возможностей сишного компилятора?
это все равно что сравнивать самолет и машину по скорости, но сказать чтобы самолет от земли не отрывался, а то нечестно, машина то на земле.
|
У этих компиляторов разные весовые категории, сравнивать не имеет смысла, и так понятно что мс компилятор лучше за счет оптимизатора.
|
|
|
06.04.2009, 09:21
|
#22
|
Бывалый
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений (для 509 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
Т.к. блиц изночально был сделан под свой язык, и он достаточно стар и не развиваеться на с++ юзать блиц глупо!
на с++ есть куча других более вменяемых двигов.
__________________
Жизнь как говориться игра- делать игры моя профессия(с)
Программирование, это религия! Её нужно исповедовать.
|
(Offline)
|
|
06.04.2009, 10:33
|
#23
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
Сообщение от HolyDel
blitz дает 43 фпс
C++ дает 800 фпс.
|
да по большему счету сдк в итоге быстрее выйдет в разы, таких отличающихся по производительности мест полно
ч.т.д.?
Сообщение от FDsagizi
Т.к. блиц изночально был сделан под свой язык, и он достаточно стар и не развиваеться на с++ юзать блиц глупо!
на с++ есть куча других более вменяемых двигов.
|
а помоему не глупо, зато можно его выжать на полную +ОПП на С++ удобнее чем код блица обычный с кучей функций
|
(Offline)
|
|
06.04.2009, 11:17
|
#24
|
|
Ответ: Blitz3d C++ или обычный Basic?
Aceton
ты можешь наконец-то отличить движок от языка ?
"движок" blitz3d sdk так сказать используется в языке blitz3d
потому скорость работы движка что в blitz3d что в C++ ОДИНАКОВАЯ
а вот скорость выполнения твоего кода - разная
|
|
|
06.04.2009, 12:26
|
#25
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
jimon не цепляйся к словам, ясень пень подразумевается скорость выполнения кода! -> ты меня совсем в грязь втаптываеш такими фразами
Сообщение от jimon
Aceton
ты можешь наконец-то отличить движок от языка ?
|
|
(Offline)
|
|
06.04.2009, 13:55
|
#26
|
Бывалый
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений (для 450 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
Сообщение от Aceton
...
а помоему не глупо, зато можно его выжать на полную +ОПП на С++ удобнее чем код блица обычный с кучей функций
|
Это то понятно... а другие движки попробывать не хочешь?
|
(Offline)
|
|
06.04.2009, 14:36
|
#27
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
Сообщение от Aceton
да по большему счету сдк в итоге быстрее выйдет в разы, таких отличающихся по производительности мест полно
ч.т.д.?
а помоему не глупо, зато можно его выжать на полную +ОПП на С++ удобнее чем код блица обычный с кучей функций
|
если нужно быстрее в разы - надо забыть про Блиц.
у Блица всего два сильных момента:
1. все "просто работает"
2. DX7
они же и отрицательные
1. если "просто не работает" то к Блицу прикрутить иногда становится в разы сложнее чем написать с нуля.
2. DX7
ЗЫ: С++,С++,С++ - запарил уже... на что у тебя скорости не хватает может покажешь?
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
|
|
06.04.2009, 14:55
|
#28
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
Почему С++? - я не хочу писать на обычном бесике
Про производительность - это просто рассуждения
|
(Offline)
|
|
06.04.2009, 15:05
|
#29
|
Бывалый
Регистрация: 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
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Ответ: Blitz3d C++ или обычный Basic?
зачем мне тратить время на *бесик* , если можно сразу делать все С++
И не надо смотреть на меня как на человека, который програмит 1й день.
Конечно С++ это круто и мощно! Тут даже спорить не о чем!
Уже давно смотрю в сторону огра, в нем нет таких проблем.
НО как уже писал выше Огр не тянет на видяхах ниже жифорса 5600, или работает на них неадекватно.
Чем привлекает блиц - простота и надежность, потому и хочу реализовать его на языке С++, который дает возможности расширения шире чем бесик.
Проблема в том что на С++ мало кто пишет приложения для блица, потому и возникают такие вопросы у меня , ибо почерпнуть почти негде.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:37.
|