我已經被要求解決在嘗試將繪圖導出到PDF3D時出現的在Visual C++上編寫的CAD應用程序的內存使用問題。從Visual C++導出U3D/PDF3D
導出特徵對於簡單模型或僅複雜模型的一部分表現良好,但不適用於整個複雜模型。
我們使用U3D sourceforge項目創建U3D對象;我們將它插入到PDF後。這是造成問題的對象創建部分。
U3D sourceforge項目是一個以C++語言編寫的庫,用於C++,自2007年以來一直死亡,文檔很糟糕,其樣本集合遠遠不夠!在項目的TODO列表中還聲明它有內存問題!
所以,我一直在問由雙方攻擊的問題:
執行U3D代碼的維護。
更改應用程序與U3D庫交互的方式。
他們還表示方2.優先,因爲它在我們的控制之下。
在試圖解決這個問題,我有兩個結論:
我強烈懷疑該U3D方法EncodeX負責內存誤用。
對於apllication與lib交互的方式(更改壓縮參數,標誌等)以及每次結果都是內存過度分配,我嘗試了很多小事情的更改。
所以問題是:是否值得繼續使用這個庫?它的代碼閱讀起來並不是一件愉快的事情......或者爲了同一目的查看其他庫也許是個好主意? 我沒有探索他們,但我認真考慮切換到VCGlib或libharu ...如果你知道這很好,請提供其他建議。
其他的替代方案是:使用Visual Technologies PDF3D導出器,它具有不可接受的成本,或者開發我自己的U3D導出器實現,這將具有U3D功能的非常有限的缺點,也無法爲預期的截止日期做好準備。 所以把這些選項作爲禁止。
我真的需要幫助來決定什麼是最好的。
由於提前, 塞爾吉奧
中國不是一種選擇,因爲客戶的工廠中有PDF/U3D作爲標準... – sergiol 2011-02-26 17:31:26