Graphic Remedy 的 gDEBugger 這套 OpenGL / OpenCL 的這套工具基本上算是一套在要除錯 OpenGL 的程式時,相當實用的工具!而後來她也延伸到了對 OpenCL 的程式可以進行偵錯。不過,Heresy 前一陣子才知道,原來 Graphic Remedy 已經被 AMD 收購了(新聞)。
而現在,AMD 則基於原來的 gDEBugger,發布了新的 gDEBugger 6.0 版,讓大家來免費使用了!他的網頁是:
而被 AMD 收購後的第一個新的版本,除了保有之前的功能之外,最大的改變在於 6.0 變成直接和 Visual Studio 2010 做了整合!所以要偵錯時,不需要額外再開啟另一個程式,在使用上也就更方便了!
下面則是官方所列的主要功能:
- Real-time OpenCL and OpenGL API-level debugging
- Online OpenCL kernel debugging
- Full integration with Visual Studio
- API statistics view
- Object visualization
- OpenCL program and OpenGL shader source exporting
- OpenCL and OpenGL support, plus over 160 extensions
不過,針對 OpenCL Kernel 進行偵錯的功能,似乎只能用在有安裝 AMD 的 GPU 上,Heresy 的電腦每次要使用它來偵錯時,都會出現一個警告的視窗:
這個對話框每次都會出現,似乎沒辦法關閉,感覺還滿討厭的。 ^^”
但是既使如此,就算是在只有 nVIDIA 的 GPU 的系統上,OpenGL 的 debugging 功能應該都是可以正常使用的!像是 OpenGL 的函式的呼叫歷程、參數、統計,以及目前的 buffer 的資料內容,都是可以透過 gDEBugger 看到的!這在要找 OpenGL 程式問題的時候,是相當有幫助的∼
下面就是一個操作過程中的截圖:
Heresy 大概玩了一下後,覺得 gDEBugger 整合到 Visual Studio 後,其實算是滿方便的∼雖然偵錯的方法和原有的步驟有些不一樣,但是的確減少了要在不同環境做設定的動作。
相較於 nVIDIA 的 Parallel Nsight(介紹)主要著重於 GPGPU(nVIDIA CUDA 和 OpenCL)和 Direct3D 的相關功能,AMD 的 gDEBugger 則是針對 OpenCL 和 OpenGL 的開發者的工具;兩者在 GPGPU 方面的定位其實算是相重疊的,但是在 Graphics 的部分則是幾乎完全不同。(附註 1、2)
而對 Heresy 來說呢,由於主要還是要進行 OpenGL 的程式開發,所以 gDEBugger 還是比較合適的工具了∼而 GPGPU / OpenCL 偵錯的部分?Heresy 目前還沒打算做測試,有興趣的人或許可以考慮玩一下∼不過基本上,應該還是要看自己的硬體是什麼,再決定要用哪一家的工具了。 ^^”
不過如果是在使用 Visual Studio 2010 開發 OpenGL 程式的話,Heresy 倒是覺得這個工具應該是值得一用的!
附註:
- 雖然 nVIDIA Parallel Nsight 號稱有支援 OpenGL,但是之前 Heresy 使用後的感想,是覺得他對 OpenGL 的功能支援實在不多…
- nVIDIA Parallel Nsight 在系統的配置上比較麻煩,如果要有完整的功能,還需要有兩張顯示卡、 甚至兩台電腦才可以,而且很多地方的使用上也不是很方便。相較於此,AMD 的 gDEBugger 不管是安裝、系統需求或實際使用上,都單純多了。
- 這兩套軟體現在都只能用在 Windows Vista 和 Windows 7 上,Windows XP 已經被徹底地捨棄了。
- 實際上,gDEBugger 還有很多功能,Heresy 也沒全部玩過;詳細的使用說明,就請參考官方的《gDEBugger User Guide》了。
Hi Heresy,請問一下, VS 2010 需要正式版嗎?VS 2010 Express 可以裝嗎?Thanks,Sean
@Sean您好,微軟的 Visual Studio Express 版並沒有整合第三方外掛軟體的功能,所以應該是無法使用的。