|
|
|
Железный канал: «WebAssembly» |
|
|
Voha 931 EGP
Рейтинг канала: 9(1038) Репутация: 167 Сообщения: 4926 Откуда: Moscow, Russia Зарегистрирован: 15.02.2001 |
|
БулерМэн : |
То есть, юнити-плеер запускает компиляцию этого blob'a с кодом библиотеки, беря в качестве исходника 'Build/tanks.json', содержащий скорее всего текст на каком-то языке?
|
Э... ну там в json метаданные для запускаемого инстанса.
https://webassembly.org/demo/Tanks/Build/tanks.json
Код: |
{
"TOTAL_MEMORY": 50331648,
"dataUrl": "tanks.data.unityweb",
"wasmCodeUrl": "tanks.wasm.code.unityweb",
"wasmFrameworkUrl": "tanks.wasm.framework.unityweb",
"asmCodeUrl": "tanks.asm.code.unityweb",
"asmMemoryUrl": "tanks.asm.memory.unityweb",
"asmFrameworkUrl": "tanks.asm.framework.unityweb",
"splashScreenStyle": "Dark",
"backgroundColor": "#222C36"
} |
_________________ Time will show... |
|
|
seaman 59 EGP Репутация: 2 Сообщения: 18 Откуда: Самара Зарегистрирован: 15.01.2017 |
|
Там разные вещи. Как двоичные, так и код на js и код вот такого типа:
Cкрытый текст (кликните здесь для просмотра)
Код: |
(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=global.Math.fround;var X=env.abort;var Y=env.assert;var Z=env.enlargeMemory;var _=env.getTotalMemory;var $=env.abortOnCannotGrowMemory;var aa=env.invoke_viiifiii;var ba=env.invoke_diddi;var ca=env.invoke_fiff |
|
Вроде тоже js
И вот тот большой blob файл, который так просто не скачать. Только с запущенной игрой и только через отладчик. А в отладчике браузера там сразу показывает код на wasm.
Типа:
Cкрытый текст (кликните здесь для просмотра)
Код: |
(func $func687 (param $var0 i32) (param $var1 i32) (param $var2 i32) (param $var3 i32) (param $var4 i32)
(local $var5 i32) (local $var6 i32) (local $var7 i32) (local $var8 i32)
block
get_local $var0
i32.const 0
i32.store
get_local $var0
i32.const 4
i32.add
tee_local $var4
i32.const 0
i32.store
get_local $var0
i32.const 0
i32.store offset=8
get_local $var2
i32.load
tee_local $var3
get_local $var1
i32.load
tee_local $var1
i32.sub
tee_local $var2
i32.const 180
call $func542
set_local $var5
get_local $var2
i32.eqz
if
return
end
get_local $var2
i32.const 0
i32.lt_s
if
get_local $var0
call $func33496
end
get_local $var4 |
|
Последний раз редактировалось: seaman (18:31 01-03-2019), всего редактировалось 1 раз |
|
|
БулерМэн 420 EGP
Рейтинг канала: 4(58) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006 |
|
То есть там двоичный файл, который отладчик "дезассемблирует"?
Судя по названиям функций - это автоматическая генерация имен функций и переменных.
ЗЫ Так в чем же необходимость данного кода, если говорится, что при выполнении такой код не быстрее нативного JS?
добавлено спустя 11 минут:
Может нужно для защиты исполняемого файла от всеобщего доступа? Но в чем смысл, если отладчик в любом случае показывает содержимое программы?
_________________ Дулички и фигушки
Последний раз редактировалось: БулерМэн (18:49 01-03-2019), всего редактировалось 1 раз |
|
|
seaman 59 EGP Репутация: 2 Сообщения: 18 Откуда: Самара Зарегистрирован: 15.01.2017 |
|
Цитата: |
при выполнении такой код не быстрее нативного JS
|
Где такое говорится. Как раз наоборот - говорится, что wasm работает намного быстрее.
Как я понимаю - это смахивает на CIL у мелкомягких. Т.е. Заранее компилируется в некий промежуточный язык, который браузер уже компилирует рантайм в что-то нативное. Компиляция из промежуточного значительно быстрее, чем интерпретация js
Вот тот блоб файл и есть скопилированная прога в промежуточный язык.
Насчет "браузер дизассемблирует". Похоже, но не на 100%. Т.к. сам файл отдельно я не смог скачать.
Последний раз редактировалось: seaman (18:59 01-03-2019), всего редактировалось 1 раз |
|
|
AnrDaemon 860 EGP
Рейтинг канала: 8(787) Репутация: 37 Сообщения: 12301
Зарегистрирован: 17.10.2004 |
|
О птичках… (кликните здесь для просмотра)
|
_________________ Люблю свободный полёт... :) |
|
|
_RAZAAR_ 62 EGP
Рейтинг канала: 2(11) Репутация: -13 Сообщения: 2854 Заблокирован Откуда: РАЗААРЪ - 40Лы от Лаве Зарегистрирован: 15.04.2008 |
|
AnrDaemon : |
О птичках… (кликните здесь для просмотра)
|
|
Это запугивание или объяснение чем плох/хорош веб ассемблер?
https://board.asm32.info/
Если люди(вебкодеры) поинтересуются и попрактиковавшись станут лучше понимать интернет протоколы что в этом плохого?
_________________ Quaere Vērum
------------------------
Последний раз редактировалось: _RAZAAR_ (08:40 10-03-2019), всего редактировалось 1 раз |
|
|
AnrDaemon 860 EGP
Рейтинг канала: 8(787) Репутация: 37 Сообщения: 12301
Зарегистрирован: 17.10.2004 |
|
Это шутка, _RAZAAR_.
Причём бородатая и никак не относящаяся к WebAssembly.
_________________ Люблю свободный полёт... :) |
|
|
_RAZAAR_ 62 EGP
Рейтинг канала: 2(11) Репутация: -13 Сообщения: 2854 Заблокирован Откуда: РАЗААРЪ - 40Лы от Лаве Зарегистрирован: 15.04.2008 |
|
AnrDaemon : |
Это шутка, _RAZAAR_.
Причём бородатая и никак не относящаяся к WebAssembly.
|
Шутка на картинке с бородатым нечто?
Или шутка этот ВВ написаый используя flat assembler который разумеется никак не относится к WebAssembly, но даже используя flat assembler вовсе необязательно убиваться при виде чего-то необычного, незнакомого или просто мало понятного
_________________ Quaere Vērum
------------------------ |
|
|
Sh.Tac. 151 EGP
Рейтинг канала: 1(2) Репутация: 14 Сообщения: 1426
Зарегистрирован: 27.07.2005 |
|
попробовал сделать deploy в html5 одному проекту найденному на UE4 marketplace
получилось 100 метров вот такого добра
Cкрытый текст (кликните здесь для просмотра)
|
_________________ This is what you get ...
(c) Radiohead |
|
|
seaman 59 EGP Репутация: 2 Сообщения: 18 Откуда: Самара Зарегистрирован: 15.01.2017 |
|
WebAssembly за пределами веба
|
|
|
|
|
|
Железный канал: «WebAssembly» |
|