OpenGL ES 對 DirectX?

DX在PC和手機上用同一套API,不用寫兩套代碼,為什麼OpenGL要搞個ES支持移動設備,而且發展比DirectX慢(各種shader等)


原先D3D也有D3D Mobile和桌面兩個版本。後來到D3D11的時候才統一成一個。OpenGL和OpenGLES現在也都統一到Vulkan了。

OpenGLES發展可不慢。3.0+的設備已經佔android的一半以上和ios的絕大部分。看看D3D feature level 11.0+的Windows phone?也就950/XL。有各種shader也沒用,沒地方跑。


比較外行,以下內容不一定正確,摺疊吧。

dx只在win上有,所以opengl必然存在。

然後由於pc和移動端的區別與側重點,es也就理所應當地出現了。

opengl es支持擴展,新功能通過擴展去用,寫入標準還需要多方博弈,自然慢了。

再說了,手機遊戲的發展才過了幾年啊,得考慮歷史的進程啊。


openGLES相比於openGL,主要是去掉了一些效率低但精度高的操作.比如去除GLdouble,增加GLfixed.去除glVertex/glBegin/glEnd等.

另外,並不是說openGLES只能在嵌入式平台上應用,目前很多PC上的GL實現都包括openGL和openGLES兩部分.你完全可以在PC和手機上同時使用openGLES進行開發.

由於WIN在移動端完全落後於iOS和Android, DX目前已經在移動端完全無法與openGLES較量了.


雖然早在 windows mobile 上就有dx了,但是不太好用,用的人也不多。

比較wm開發也比較坑。

當然 其實主要是ms自己太逗比。雖然當時wm 沒有現在的安卓或者蘋果好,但是絕對比起塞班系統之流還是要高不少的,但是可惜 沒能流行,知道為什麼嗎?因為逼格裝得太高。導致想買的人也買不起!!!

看看安卓 是怎麼奪取天下的,開放,免費,手機超低價。支持MTK的CPU這點很重要。

再看看MS,什麼都慢人一拍。

桌面win系統雖然還是佔優 但是已經不是多年前的絕對統治地位了。

所以照著目前的發展趨勢來看 dx 發展再快也沒用了。。。

OpenGL ES 確實發展慢,慢在出現的晚啊

但是最近很快 快在安卓的流行。用的人多了,自然就會得到重視,發展就快。

至於 為什麼單獨搞個 ES ,我想是因為opengl 本身太爛吧

另外你說的 Dx在移動端和PC端 同一套API的問題。

雖然API是同一套?但是移動端是子集。有些PC上的API,移動端並不能夠使用。


DirectX 支持安卓和iOS嗎?你說的是遊戲引擎支持跨平台還是DirectX支持跨平台?


推薦閱讀:

雙核1.7GHz 四核1.2GHz 哪個更強?
Android 和 Chrome OS 會最終合併成一個平台嗎?如何合併?
微軟統一全平台的經驗對 Chrome OS 與 Android 的融合有什麼借鑒意義?
對普通用戶來說,有哪些事情是 iOS 能做,而安卓不能做的?
對於Android客戶端程序,不依賴於發布下載而實現交互方案有哪些?

TAG:OpenGL | OpenGLES | Android | DirectX | Windows10 |