2009年11月17日星期二

silverlight 会支持 OpenGL吗?

http://forums.asp.net/p/1232923/2229827.aspx

Does silverlight support opengl or directx graphic engine.

Silverlight neither includes nor provides access to any true 3D library. The reasons I've heard for this are

1. they want to keep the download small,
2. there's (allegedly) no cross platform 3D library that has a sufficient install base, and
3. the Silverlight dev team has limited programmer resources, and needs to target (what their marginally effective management thinks is) lower hanging fruit.

I would argue, however, that none of these reasons are nearly strong enough to defend this (unbelievably poor) decision, which has persisted for several *years* now.

The most important objective, by far and away, for Silverlight or Flash or any other Web Widget, is increasing the install base and the developer base. That objective is far more important than any other. Being a small download is a means to that end. Using cross platform libraries is a means to that end. Aiming their developer resources at strategic targets is a means to that end!

OpenGL is a cross platform, true 3D library with an install base that numbers in the 10's of millions, if not 100's of millions, and if either Adobe Flash or Microsoft Silverlight (or any other web widget, for that matter) provided access to it, within 6 months to a year, you would see that number jump dramatically. (How strong is the gaming market in Asia? How strong is the on-line gaming market in general? How often have we vastly underestimated computer users' desire for the convenience, cheapness, and perceived safety of the web browser over other options?)

The OpenGL api is consistent (or plenty consistent enough) across OSX, Linux, and Windows. If you're looking for a cross-platform 3D library, OpenGL is the clear winner. By far and away. Hello, it is the obvious answer. So by saying "there's no cross platform external library with sufficient install base" what they really must be saying is "there's no *Microsoft controlled* cross-platform external library with sufficient instal lbase"! For crying out loud, if we're waiting around for a Microsoft controlled external 3D library to penetrate OSX and Linux - well, which should we wait around for, that, or for hell to freeze over? The world will stop turning, and start going the other way first! I mean, seriously, that will happen when pigs fly out of my bottom and into the sky.

The fact is, there is nothing that could be done to improve Silverlight that would go anywhere near as far toward achieving what has to be by far the most important Silverlight objective as providing access to OpenGL. This would be an easy thing for them to do, if they'd just get over themselves (Microsoft-wise), develop some balls (courage-wise) and give it a shot. If they did, on-line game developers would jump onto the Silverlight platform en masse, and large masses of users would download whatever library was required to play the games.

There is no question that these things are true, they are obviously true. It's time, it's been time, it should've been done at the outset. The failure of the team to even pursue it for all this time is disappointing, disheartening, and completely inexcusable.

Silverlight 会支持OpenGL或者DirectX这样的图形引擎库么?

Silverlight不会支持或者包含真正的3D图形引擎库。我所听到的理由是:

1, 为了让下载包小一些

2, 实际上没有一种真正的合适的跨平台3D图形引擎库

3, 这个Silverlight开发组只有有限的开发人员资源,他们追求的是容易实现的目标。

但是我认为没有一项可以成为这个(难以置信的可怜的)已经固执了几年的决定的辩护理由。到目前为止,对于Silverlight或者Flash或者其他的Web小工具来说,最重要的目标就是增加安装用户和开发用户。这个目标和其他目标比较起来极其至关重要。小的下载包是实现这个目标的一个手段;采用跨平台库是实现这个目标的一个手段;在战略目标上瞄准他们的开发者资源也是实现这一目标的手段。

OpenGL是一个跨平台的真3D图形引擎库,它的用户数量没有1亿也有1千万。如果Flash或者Silverlight(或者别的Web小工具)提供一种访问OpenGL的接口,在6个月到1年的时间里,你会发现这个数字会戏剧性地飞越。(亚洲的游戏市场到底有多强?在线游戏市场到底有多强?多少次我们大大低估了计算机用户和其他选择比较起来对浏览器的方便,廉价,认知安全的欲望。)

OpenGL API可以一致(足够一致)地兼容OSX, Linux Windows平台。如果你想寻找一个跨平台的3D图形引擎库,那么OpenGL会毫不含糊地成为胜出者。到目前为止,这个答案是显而易见的。所以“实际上没有一种真正的合适的跨平台3D图形引擎库”说法的真实声音是“实际上没有一种在Microsoft掌控之中合适的跨平台3D图形引擎库”。如果我们等待一个Microsoft控制下的渗透OSXLinux的跨平台3D图形引擎库,那么我们就会等到地狱被冻结。到那时,世界或许就停止了转动,太阳从西边升起。我的意思是说,当猪也会飞上了天的时候,那个时候就来到了。

事实上,没有什么办法来改善Silverlight,让它来接近到目前为止最重要的目标:提供对OpenGL的接口。这对他们来说是一件易事,如果他们能战胜他们自己(微软明智),开发一些球(勇气明智)并且试一试。如果他们能那样做的话,网上游戏开发商将集体跳上Silverlight平台,广大的用户会也会下载大量的(Silverlight)库来玩他们的网络游戏。

毫无疑问,这些事情是真实的,他们很明显是正确的。这时候,应该已经是开始着手干的时候了。在这个时候,该小组未能实现所有的这一切。这是令人失望的,是令人沮丧的,是完全不可原谅的。

没有评论:

发表评论