瀏覽單個文章
GPF
Senior Member
 
GPF的大頭照
 

加入日期: Nov 2001
文章: 1,397
引用:
Originally posted by giligula
Windows API 根本就不適合寫遊戲
遊戲需要榨乾硬體的極限
而 Windows 的 programming interface 是以安全穩定為考量
而不是效能
所以處理圖形上就遜掉了
而且是很遜
這是當初微軟推廣 Windows 出現的盲點
所以才推出了 DirectX
DirectX 的出現就是為了提供程式設計師一個介面
不經由 Windows API
而直接 access 硬體的層面

老兄,
是GDI(Graphics Display Interface)效能不佳吧!
別Windows API混為一談。

Win32 API是一個抽象的programming interface(以C function call export),
Win9X、WinNT、Win2000、WinXP都有之。理論上program只要針對Win32 API開發,就可以同時在各個support Win32 API的Windows上執行。

雖然表面上看起來programming interface都一樣,
底層可是大異其趣。
舉個例子,
若以CreateFile()這個API來說,
在Windows2000、XP下最後會經由CSRSS.exe傳達至OS內部的system call,
然後再轉成IRP packet傳達至底層負責disk I/O的kernel driver。
在Win9x下的話,最後則是送給底層的VXD driver,透過interrupt的方式提供I/O的服務。

所以你說的"Windows 的 programming interface 是以安全穩定為考量"這句話是有問題的,因為Windows API只是一個interface,真正implement這些function的是OS本身。

DirectX則是以COM的programming model,提供遊戲一個直接存取硬體的interface。
舊 2003-07-27, 07:41 AM #40
回應時引用此文章
GPF離線中