LINUX.ORG.RU
 

Немцы доказали...


0

0

что на Java 1.5.0 можно писать даже 3D-игры. При этом скорость игры измеренная в fps, ничуть не меньше, чем для скомпилированного C-кода

Если кто-то подумал, что взята какая-то левая самодельная игрушка, пусть сходит по ссылке. Сравнивается C-compiled и Java-версия игры Quake 2

>>> Подробности

anonymous ()
Проверено: Demetrio (04.01.2005 19:53:41)

[#]  

Re: Немцы доказали...

OpenGL рулит

anonymous ()
[#]  
Stalwart

Re: Немцы доказали...

Квака снова становится популярной 8)

*** ()
[#]  

Re: Немцы доказали...

ну и что если теперь то что они написали на Java переписать
на С, будет в разы быстрее работать. Они всего оптимизировали алгоритмы.
На черта это было сделано не знаю.

А если OpenGL еще на Java переписать вот будет тормоз.

ЗЫ
засим прощаюсь, не понятно что и кому они хотели доказать.
дети какие-то, ей-богу.

anonymous ()
[#] Ответ на: Re: Немцы доказали... от anonymous 04.01.2005 19:59:41  
cyclon

Re: Немцы доказали...

А ей что нужен виндовый квак ??

***** ()
[#] Ответ на: Re: Немцы доказали... от anonymous 04.01.2005 20:06:29  

Re: Немцы доказали...

> будет в разы быстрее работать

в разы - может быть, но только если будет работать...

(а если на ассемблере... у-у-у)

anonymous ()
[#]  
W

Re: Немцы доказали...

"это наверное немцы придумали... оно всегда так - немцы придумают, а русскому человеку потом мучайся..." (цэ) "Мы из джаза"

вот :)

**** ()
[#]  

Re: Немцы доказали...

яваиздаинг, редай асхолз

anonymous ()
[#] Ответ на: Re: Немцы доказали... от anonymous 04.01.2005 20:10:33  

Re: Немцы доказали...

>(а если на ассемблере... у-у-у)

и много ты программ написал?

C и есть ассемлер, только универсальный.
см. ядро.

anonymous ()
[#] Ответ на: Re: Немцы доказали... от anonymous 04.01.2005 20:24:21  
carrot

Re: Немцы доказали...

действительно, причем тут java? за них все openGL делает.
Может тогда mesaGL на java переписать?

()
[#] Ответ на: Re: Немцы доказали... от carrot 04.01.2005 20:27:49  

Re: Немцы доказали...

Java тут притом, что скоро на телефоны портируют кваку =)

anonymous ()
[#] Ответ на: Re: Немцы доказали... от anonymous 04.01.2005 20:33:34  

Re: Немцы доказали...

ну-ну. Только GL на яве перепишут. :)

anonymous ()
[#] Ответ на: Re: Немцы доказали... от anonymous 04.01.2005 20:42:12  
carrot

Re: Немцы доказали...

и GL на телефоны портируют скоро

()
[#] Ответ на: Re: Немцы доказали... от carrot 04.01.2005 20:45:16  

Re: Немцы доказали...

как-то ява отстает! причем сильно в полноэкранном режиме. А давно Си стал ассембрером? си уневерсален, а вот ассемблер нет, да еще вроде как си язык высокого уровня, а ассемблер низкого. просто си с адресами помяти работает здорово!

кстати в вот под линуксом квака шустрее, даже виндовс-версии!

()
[#]  

Re: Немцы доказали...

Изменений по сравнению с 1.4.2 было шибко много, что так оно (1.5) рулит?

anonymous ()
[#] Ответ на: Re: Немцы доказали... от libricon 04.01.2005 21:00:07  
just

Re: Немцы доказали...

Незнаю как квака, а дум 3 шустрее под линуксом. В смысле тормозит чууууть-чуть поменьше ;)

* ()
[#] Ответ на: Re: Немцы доказали... от just 04.01.2005 21:12:07  
just

Re: Немцы доказали...

Неправильно выразился Правильно наверное надо было сказать- Шустрее тормозит :)

* ()
[#] Ответ на: Re: Немцы доказали... от just 04.01.2005 21:14:01  

Re: Немцы доказали...

Еще бы крестики-нолики сравнивали на производительность.

anonymous ()
[#] Ответ на: Re: Немцы доказали... от just 04.01.2005 21:14:01  

Re: Немцы доказали...

А под оффтопик есть такая игрушка, названия не помню, но суть в том, что в код размером в 70 с лишком КИЛОБАЙТ они умудрились запихать поддержку DX9(с соответствующей графикой), 3D звука(кажется) и с десяток уровней :-)

Тоже немцами сделана...

# ()
[#] Ответ на: Re: Немцы доказали... от carrot 04.01.2005 21:31:52  

Re: Немцы доказали...

Ага, ага... Читали.... Только вместо Java 1.5 был .Net1.1 :) Цифры теже. Собствено напрашиваеться вывод: что жаба, что дот нет, одни и теже яйца, просто одни под лозунгом сельсофта и только под винду (извеняйте, c# от vb.net отличить можно только на уровне синтаксиса: там есть ; тут нету...) а другие "типо" свободные, и запускать надо не просто кликом, а набирая java -jar... :)

***** ()
[#] Ответ на: Re: Немцы доказали... от SK 04.01.2005 21:24:19  

Re: Немцы доказали...

Так ведь только под оффтопик она и есть и нужен ей DX9

anonymous ()
[#]  
mikhail

Re: Немцы доказали...

А сколько jake2 памяти отжирает, и сколько quake2?

# ()
[#]  

Re: Немцы доказали...

> Немцы доказали... что на Java 1.5.0 можно писать даже 3D-игры.

Аффигеть.

А в это время весной задрипанного 2001-го года под оффтопиком вышла этакая небезызвестная игрушка "ИЛ-2 Штурмовик". И мало кто заметил, что она написана бОльшей частью на Java.

** ()
[#]  

Re: Немцы доказали...

Как раз меньше, читай внимательно ...

The fps values are not an absolute performance comparision Java vs C. But they show that at least 60% of C performance are achievable with Java. In comparision with object oriented C++ Code Java would look even better.

Jake2 0.9.2 can achieve up to 85% of the framerate of the C version.

anonymous ()
[#]  

Re: Немцы доказали...

Да в сети валяеться гама kkreger. Один уровень (кстати ничего так, по размеру примерно как один уровень в Q1) Всё 3d. Звук есть, несколько типов оружия, враги. Босс даже :) Вобщем всё как надо. ~100kb. Тока системные требования у неё очень неплохие. Оперативы от 512, видюха на 128, ну и всё в таком духе. Камень хороший нужен

()
[#]  

Re: Немцы доказали...

Заглянул тут на страницу. гы-ы. Посмеялся. Они бы ещё первый Doom на Athlon XP 2400 запустили. Его хоть на Васике переписывай - один хер, на таком камне изменений заметно не будет (почти). Вот они бы Doom3 на java переписали, тогда сразу бы и стало понятно, что java это для мобильников и 2d игрушек.

()
[#] Ответ на: Re: Немцы доказали... от libricon 04.01.2005 21:00:07  

Re: Немцы доказали...

>>да еще вроде как си язык высокого уровня,

Вот именно, что *вроде как* ;) A на самом деле, Си - ни разу не язык высокого уровня, а самый что ни на есть _портабельный_ ассемблер со всеми отсюда вытекающими.

anonymous ()
[#] Ответ на: Re: Немцы доказали... от libricon 04.01.2005 21:00:07  

Re: Немцы доказали...

>А давно Си стал ассембрером?

си - это универсальный ассемблер,

напишите тысяч десять строк на асме,
а потом подумайте как это переделать в C код.

и окажется что для этого хватит небольшого скрипта.

а если вам непонятно вышеуказанное утверждение,
посмотрите любой комплятор, каким образом он переводит
С код в объектный(Hint Для этого не требуется слишком много работы).

ЗЫ
а еще C++ называют объектным ассемблером, не слышали?

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

также как в ранний период C++ компиляторы всего лишь переводили,
C++->в C а потом компилировали.

Если вам интересно как, то посмотрите на GTK+.

такое ощущение что GTK+ именно так и сделан.

()
[#] Ответ на: Re: Немцы доказали... от linux_guru 04.01.2005 22:34:20  

Re: Немцы доказали...

c кстати и был разработан чтобы быть универсальным ассемблером.

()
[#] Ответ на: Re: Немцы доказали... от linux_guru 04.01.2005 22:45:43  
Pi

Re: Немцы доказали...

дык никто с тобой не спорит :)

***** ()
[#] Ответ на: Re: Немцы доказали... от Pi 04.01.2005 22:54:31  
carrot

Re: Немцы доказали...

linux_guru (linux_guru?)

>также как в ранний период C++ компиляторы всего лишь переводили,
>C++->в C а потом компилировали.

тоже самое происходит и в "поздний преиод", то-бишь сейчас

()
[#] Ответ на: Re: Немцы доказали... от carrot 04.01.2005 23:28:00  

Re: Немцы доказали...

в современных C++ компиляторах это не так.

anonymous ()
[#] Ответ на: Re: Немцы доказали... от carrot 04.01.2005 23:28:00  

Re: Немцы доказали...

Что-то не так с моим ником?

>то-бишь сейчас

это не совсем так

()
[#] Ответ на: Re: Немцы доказали... от anonymous 04.01.2005 23:36:14  
carrot

Re: Немцы доказали...

>Что-то не так с моим ником?

"я не узнаю Вас в гриме ... Linus Torvalds, Alan Cox?"

()
[#] Ответ на: Re: Немцы доказали... от carrot 04.01.2005 23:40:23  

Re: Немцы доказали...

Вообще-то мое имя Пупкин,
Вася Пупкин.

()
[#] Ответ на: Re: Немцы доказали... от carrot 04.01.2005 22:08:54  

Re: Немцы доказали...

> afaik, сейчас и X-ы на GLе переписывают

Неужели они наконец-то разгрузят CPU и нагрузят GPU ? А заодно и с памятью то же самое сделают :)

anonymous ()
[#] Ответ на: Re: Немцы доказали... от linux_guru 04.01.2005 22:34:20  

Re: Немцы доказали...

C в asm легко, обратно - херушки. На асме можно много всякого наколбасить.

anonymous ()
[#] Ответ на: Re: Немцы доказали... от linux_guru 04.01.2005 22:34:20  

Re: Немцы доказали...

>напишите тысяч десять строк на асме,
>а потом подумайте как это переделать в C код.

>и окажется что для этого хватит небольшого скрипта.

Вранье. Если ты про inline, то это не будет портируемо, как это предполагает C, а в общем случае - задача не решаема без создания виртуальной машины. А с ней получатся реальные тормоза.

**** ()
[#] Ответ на: Re: Немцы доказали... от Whoo 04.01.2005 22:13:33  
JB

Re: Немцы доказали...

> А в это время весной задрипанного 2001-го года под оффтопиком вышла этакая небезызвестная игрушка "ИЛ-2 Штурмовик". И мало кто заметил, что она написана бОльшей частью на Java.

движок Chrome тоже полностью написан на яве

***** ()
[#]  
JB

Re: Немцы доказали...

блин, а на перле или питоне игр еще никто не писал?

***** ()
[#] Ответ на: Re: Немцы доказали... от alt-x 05.01.2005 1:05:20  

Re: Немцы доказали...

>Вранье. Если ты про inline, то это не будет портируемо, как это предполагает C, а >в общем случае - задача не решаема без создания виртуальной машины. А с ней >получатся реальные тормоза.

я имею ввиду
а)переводить прикладную задачу на ассемблере
б)для конкретного ассемблера и конкретной архитектуры

по-моему задача вполне решаемая.

()
[#] Ответ на: Re: Немцы доказали... от JB 05.01.2005 1:11:58  

Re: Немцы доказали...

>блин, а на перле или питоне игр еще никто не писал?

писали, а что.

почти на каждом более или менее известном языке написана пара игр.

встречал написанную на перле игру с сюжетом звездных воин или чего-то похожего.

()
[#] Ответ на: Re: Немцы доказали... от linux_guru 05.01.2005 1:23:56  

Re: Немцы доказали...

>для конкретного ассемблера и конкретной архитектуры

Напиши мне "скрипт", который переведет любую прикладную (что является критерием?) прогу (на x86 асме и PC архитектуре), которую я ему подсуну, в С, без инлайнов и других способов вставок ассемблерного или машинного кода. Если он правильно переведет прогу которую я ему подсуну - я дам тебе $1000. Если нет - ты мне $50. Идет?

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

**** ()
[#] Ответ на: Re: Немцы доказали... от alt-x 05.01.2005 1:51:30  

Re: Немцы доказали...

> Если он правильно переведет прогу которую я ему подсуну - я дам тебе $1000.

Да за это корпорация вроде интела и $1000000 не пожалеет :)

anonymous ()
[#]  
Syncro

Re: Немцы доказали...

народ, вы че с луны ?

1) жаба 3Д для мобильных существует уже давно, нивидиа уже графические чипы для мобильных устройств клепает

2) GL по идее должен обсчитываться на видеочипе поэтому интерпретируемость джавы не должна сильно повлиять на скорость основной массы вычислений, а именно - рендериг, который и считается карточкой, весь перец ОпенГЛ именно в этом, ну и в том еще, можно кодить на чем угодно а не в ассемблерных кодах:)) Кстати код на Си будет не сильно отличаться от кода на джаве

3) Интереснее всего программить ОпенГл на питоне:))

pyopengl.org

pygame.org

***** ()
[#] Ответ на: Re: Немцы доказали... от Whoo 04.01.2005 22:13:33  
Kuzmich

Re: Немцы доказали...

А я-то думаю, чего он это так тормозит? ;)

** ()
[#]  

Re: Немцы доказали...

>Если кто-то подумал, что взята какая-то левая самодельная игрушка, пусть сходит по ссылке. Сравнивается C-compiled и Java-версия игры Quake 2

Ну правильно, если головой подумать, то все закономерно. Какие мы имеем плюсы/минусы производительности Java в данном случае?

1. GC? Насколько мне известно, исходный движок Quake активно использует пулинг. Соответственно, GC остается за горизонтом (практически, все-такие какое-то минимально число объектов в процессе наверняка создвется). Можно проверить каким-нибудь профайлером.

2. Дополнительные рантайм проверки? Ну, на пару процентов FPS скинет. Это немного, особенно с учетом JIT/Hotspot.

3. JIT. Думаю, от-JIT-тиный код по скорости от кода, откомпилированного сразу в нативный сильно не отличается. Хотя надо признать, что у MS (по субъективным ощущениям и паре тестов) JIT лучше Sun-овского.

4. Hotspot. Не знаю, насколько он помогает. В любом случае это чисто плюс к прооизводительности, для C (например) Hotspot-а не бывает.

5. Маршаллинг. Тут без понятия, но расходы должны быть достаточно велики. Но при грамотной реализации основной объекм данных при загрузке сцены.

6. Всякие хитрые битовые операции, и.т.д. Это копейки.

7. Больший потребляемый объем памяти. При большом количестве памяти это почти не влияет.

Соответственно, два самых сильных минуса (на мой взгляд :) ), 1 и 5 можно довольно легко нейтрализовать. 4 - это плюс. 3 - при грамотной реализации VM, это тоже плюс (тормоза при загрузке не уучитываем). 2 - это минус, но небольшой.

Так что это теоретически обосновано. :) Всякие слова о "тормознутости Java", "тормознутости JVM" - от лукавого, надо понимать, что под крышкой-то находится.

Правда, после "тюнинга" 1 и 4 результат лучше выбросить и переписать на чем-нибудь более подходящем (например, C++), потому как плюсов такого программирования на Java я не вижу...

anonymous ()