WindowsPhone 板


LINE

原文43 1.用C/C++做底層,可跨iOS、Android、WM、Linux、Unix、Windows 手機的SDK允許可以呼叫自己的寫的NativeCode,就會很好移植 效能也不會相差懸殊。 2. 桌機的OS都有支援,沒差所以就不討論了。 3. 用.NET開發本身並不會有甚麼問題,當下到WP時,功能是直接被 抽掉,沒有函式庫給你呼叫。 當.NET不對其裝置做支援的時候,就可以靠自己撰寫NativeCode ,把功能補上。 但WP7 SDK的狀況,WP7不允許一般開發者使用自己寫的NativeCode, 如果直接轉換成C#,效能就會低落很多。 硬是要上的結果,文章在編號3235有說明。 C#語言的層級就像Java一樣,屬於類編譯程式語言 比直譯式程式快,比編譯式程式慢。 大部分使用C#盡量還是要使用.NET函式庫,因為本身.NET函式庫就是 NativeCode。 單純比執行效能跟Java比的話Java至少有快C#4倍(以前的記憶) 這就跟C#的Virtual Machine有很大的關聯,必竟Java已經是個戰場 老兵了。C#要更快還要一段時間的淬鍊。 C#開發WP開發速度很快是沒錯,不過是基於.NET都幫你寫好的狀況下 文章3243有.NET不支援的小舉例。 開發者的話當然不會跟M$一起砍掉重練XD 其實.NET有超多不支援現在的WP7,所以當實際下去寫的時候 發現咦??怎麼空空如也XD 以前WM還可以自己寫NativeCode補上,不過M$連這招都封住了。 好啦,其實這篇因該算是賺文章數無誤,因為小弟記得 發這種類似的文很多次了,自己一直發也感到很歹勢捏XD --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.170.58
1F:→ friedpig:所以沒意外 重另兩個平台移植過來通常就直接NC轉一下就好 06/24 20:35
2F:→ friedpig:是這樣嗎? 06/24 20:35
3F:→ james732:不太可能,平平都是桌電,Windows與Linux都用C寫也沒那麼 06/24 21:42
4F:→ james732:輕鬆可以換來換去... 06/24 21:42
5F:→ james732:其實像.NET這種中間碼的,對於移植理論反而比較有利 06/24 21:45
基本上跨平台開發者基本上都使用GCC編譯器,windows上就是mingw mac與Unix就是使用llvm的GCC編譯器,配合跨平台函式庫 來開發跨平台的應用程式。 比如像socket網路通訊協定的函式庫就會做一個抽象結構或 抽象類別(亦是抽象層或編譯前處理)將不同系統分開,根據系統套板就好了。 接著比如開發Windows的,拿Visual studio arm編譯器編譯成dll 這樣windows版本函式庫就移植完成了,當然不一定要透過C#這層 因為WP7的話只能用C#,所以才需要編譯成C#可呼叫的函式庫 透過解鎖這樣WP7就可以跑NativeCode,不過目前丟上去市集 M$也不會給你過就對了XD ※ 編輯: sh028044 來自: 111.248.170.58 (06/24 22:05) 不過非跨平台的開發者就不需要這麼費工,全部使用.NET就ok了 ※ 編輯: sh028044 來自: 111.248.170.58 (06/24 22:11)
6F:→ icarus0508:我記得最近c#執行速度在win7上 已經比java快了 06/24 22:55
7F:→ icarus0508:因為ms 有做了非常多的優化 加上這幾年c#用者大量成長 06/24 22:56
8F:→ icarus0508:多平台開發者 通常會上下層分開 功能上兩者差不多的 06/24 22:57
9F:→ icarus0508:話 就會上層用同樣的code 下層在看不同call不同lib 06/24 22:57
喔!效能提升了?!有空來去測試一下,用Visual Studio 11的C#來跟JDK7比看看 ※ 編輯: sh028044 來自: 111.248.170.58 (06/24 23:06)
10F:→ james732:我一直覺得.NET在Windows底下有主場優勢...XDDD 06/24 23:07
11F:推 arrenwu:C#在 Win7 上如果比 Java 快的話,那就不會比C++慢多少耶 06/24 23:09
嗯嗯絕對會有主場優勢,就像當初DirectX效能超越了OpenGL一樣 畢竟OpenGL要兼顧跨平台性,不會對Windows做特別的最佳化 ※ 編輯: sh028044 來自: 111.248.170.58 (06/24 23:19)
12F:推 icarus0508:diectx後來超過opengl 最主要還是近年 ms 正好是 06/25 00:04
13F:→ icarus0508:cg界技術的牛耳之一 shader開始就超過很多了 06/25 00:04
14F:→ icarus0508:opengl考慮太多 反而綁手綁腳 變成現在cg界很多名詞 06/25 00:05
15F:→ icarus0508:都跟著ms走 06/25 00:05
16F:→ icarus0508:.net 一直都是有主場優勢啊xd 而且有不少是ms直接用 06/25 00:05
17F:→ icarus0508:c++在實做的xdd btw 其實vm code不一定真的比nc慢 06/25 00:06
18F:→ icarus0508:現在很多vm的實作已經很好了 java 比c++慢 最大的 06/25 00:06
19F:→ icarus0508:原因還是在 回收 以及安全機制上 06/25 00:07
20F:→ icarus0508:這幾年c#成長快速 除了因為他通過iso等標準認證外 06/25 00:08
21F:→ icarus0508:甲骨文 也幫了不少忙xd (扯java後腿 冏) 06/25 00:08
22F:→ icarus0508:還有opengl 效能敗給d3d 還有一個理由 是相容過去 06/25 00:09
23F:→ icarus0508:其實多平台反而不是效能敗的理由(因為各家會好實作) 06/25 00:09
24F:→ icarus0508:相容過去 才是致命一擊 變成gl超多時代的眼淚在亂… 06/25 00:10
其實VM code近年有進步很多但是還是卡在Virtual Machine這個執行器 因為Virtual Machine就是要解決相容性的問題,就誠如您所講的需要顧及 較多的因素,因此效能還是差C/C++很多,畢竟C/C++不需要再透過 Virtual Machine這層,或是更刁鑽的方式在C內部內嵌組合語言 直接控制CPU做運算。 至於VM Code沒有比較慢的方面是因為呼叫了NC code函式庫的緣故 會跳過Virtual Machine去執行。 嗯雖然OpenGL這樣犧牲了效能,不過帶給了很多非Windows OS很多貢獻 甚至可將遊戲無痛搬移到Windows,這還蠻值得的 ※ 編輯: sh028044 來自: 111.248.170.58 (06/25 00:52)
25F:推 arrenwu:之前看到的測試,C++的速度差不多是 Java 的1.5倍 06/25 00:34
26F:→ arrenwu:不過這樣還滿想試試看 C# 到底在 Win7 上面有多快了 科科 06/25 00:35
27F:→ arrenwu:不過我同意沒有 Native Interface 這個限制太嚴重 06/25 00:36
28F:推 arrenwu:我記得近年進步很大的原因是因為 JIT 不是嗎? 06/25 01:00
29F:推 icarus0508:以遊戲開發商角度 倒是期待d3d 統一世界 (認真) 06/25 01:25
30F:→ icarus0508:另外 很多其實是因為利用gpu加速 <=但shader 對 06/25 01:25
31F:→ icarus0508:非cg背景的人來說 並沒有比較簡單 06/25 01:26
32F:→ icarus0508:你可以試試現在的vm 效能並不像傳統那樣想法 慢了 06/25 01:27
33F:→ icarus0508:真正慢已經在安全性跟資源上影響較多 而不再是vm 06/25 01:27
34F:→ icarus0508:這幾年對vm的改寫 其實還滿大的近步哦 06/25 01:28
35F:→ icarus0508:個人是以前在校用gl 工作因為還是做遊戲 用d3d 06/25 01:28
36F:→ icarus0508:心得是越簡單的東西gl越方便 越復雜的東西gl越難用 06/25 01:29
我曾經也想過最好是D3D統一遊戲市場,不過 D3D要統一的話也還是很有難度啦,因為畢竟很多廠商都需要做跨平台這件事 尤其實MacOS的開發商,OpenGL要掛掉因該蠻困難的 Java效能雖然不錯,但當初公司內部開會被排除了 因為有很多人就是會跟你多計較那0.0x ms的速度 因為都用伺服器跑超大量的運算 就算到windows寧願重新build,也不想用java C#雖然Linux可以用C# mono但是C# mono效能本身比windows C#更慢 因為公司有很多Unix與Linux的伺服器,windows與mac反而佔少數 因為機器很多所以老闆就要用Linux與Unix省授權費QQ 程式語言效能比較http://ppt.cc/Qs2q 不過這是很久以前的數據了,有人有找到2012的嗎? 裡面的java都還在jdk6 ※ 編輯: sh028044 來自: 61.56.8.109 (06/25 12:37)
37F:推 arrenwu:程式語言效能比較(最近的): http://tinyurl.com/yav2k9y 06/25 12:42
讚唷!他們都不測試一下C# windows XD,一直測C# mono @@ ※ 編輯: sh028044 來自: 61.56.8.109 (06/25 12:47)
38F:推 arrenwu:應該是因為他們的測試都是在 Ubuntu 的關係吧XD 06/25 12:49
39F:→ icarus0508:因為會比較的 都是在linux上比較多啊 06/25 16:39
40F:→ icarus0508:windows上 基本上就一定用ms相關的比較多 06/25 16:40
41F:→ icarus0508:opengl是不可能掛啦xd 因為現在的gl ms也是其中一個 06/25 16:41
42F:→ icarus0508:leader 而且對ms來說 他必需要一個"對手" 不然又 06/25 16:41
43F:→ icarus0508:會被人說話… 06/25 16:41
44F:→ icarus0508:遊戲開發商 傳統上 是pc/console/arcade 06/25 16:42
45F:→ icarus0508:而現在console這邊 至少下一代 wiiu xbox 沒意外 06/25 16:42
46F:→ icarus0508:是用d3d 而sony 目前有兩個乳摸 一個是用cell改 06/25 16:43
47F:→ icarus0508:另一個也是用d3d x86 好玩的是 都有spec 流出xdd 06/25 16:43
48F:→ icarus0508:pc上就不用說了 以我所知 幾個大廠寫pc/mac 06/25 16:44
49F:→ icarus0508:都是採上下層分開方式 下層看os 來用不同api 06/25 16:44
50F:→ icarus0508:現在shader code 都很相像 要轉也不是問題 06/25 16:45
51F:→ icarus0508:arcade還是linux多 不過也是有用embed-xp(d3d)的 06/25 16:46
嗯i大你這邊提到的上層就是抽象層,就是可將程式碼寫成一樣的api 而不是真的api,這層維護好,要移植就很簡單了 在編譯的時候這層會去負責自動對應OS的實際繪圖api arcade會用XP因該是懶得移植到Linux上吧XD? 不過每台xp arcade都需要有微軟授權, 不過因該是還好,arcade幾乎都不會更新 ※ 編輯: sh028044 來自: 61.56.8.109 (06/26 12:33) ※ 編輯: sh028044 來自: 111.248.171.162 (06/26 20:17)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP