3 ms·
... I don't think you fully understand what Adobe is doing -- they are compiling down to AVM2 bytecode using LLVM. And DirectX is abstracted out of Actionscrip
by ed 19y ago
...
I don't think you fully understand what Adobe is doing -- they are compiling down to AVM2 bytecode using LLVM. And DirectX is abstracted out of Actionscript, so you gain the benefits of DirectX when it's available, but the AVM will resort to other means when it's not.
That Quake II demo is a completely self-contained flash animation, and will run anywhere Flash runs (including linux).
Edit: It sounds like some people think Adobe is promising to run ANY C++/Java/Whatever application in Flash. They're not. Some C applications however, like Quake II, can be coerced to run in Flash's single-threaded platform-agnostic environment. The developer who gave that presentation at Max described the work he had to do to emulate threading in order for Quake II to run. It wasn't easy, but I'm sure it was far easier than porting the whole codebase.
- bilbo0s 19y agoWRONG. There is no SUITABLE replacement for DirectX instancing under OpenGL that would be available on other platforms. To say that you will get the benefits of DirectX where it is not available is to be disingenuous. Microsoft goes to great lengths to make sure that, even with a VM doing the work for you, game developers will find it difficult to "gain the benefits of DirectX when it's available, but the AVM will resort to other means when it's not" - as you put it. Over the years 100's of millions of dollars have been spent to ensure that you CAN'T do that. If you talk to Parallels or VMWare they will tell you that they can get DirectX 8 to work at times, Direct X 9 seldomly, and then they will have a good belly laugh while pointing at you when you ask them about virtualizing Direct X 10. This is the way things are for now, until the requisite extensions have been developed for OpenGL. This is not just me spouting off at the mouth. The entire gaming industry has grudgingly accepted this for quite some time. Steve Jobs has been looking for ways around it forever. If Adobe has people who can do this, they won't have them for long, because Steve is sending over a limo I guarantee it. And what about proprietary templates? Adobe is going to translate all of those too. Multicore programming? Gonna translate between the Intel multicore stuff and . . . say . . . the Cell processor stuff? Taking it further, we all know that CUDA code will work beautifully if the machine you're on happens to have an NVidia card, but what if you have an ATI card? Don't even get me started on some of these templates for mapped memory management . . . RESPONSE TO PARENT EDIT: Thanx for clarifying the assertions you were making.
- jey 19y agoYou're right, it's unlikely anyone would create a DirectX wrapper for the ActionScript VM. But really, who cares?