這將是一個相當模糊的問題,但我不知道怎麼去解決這個問題IM面臨...框架不可知結構問題
目前,我有我已經在不久前撰文指出,所有許多不同的項目有一個類似的框架來處理空間分區和排序,但是每個項目都有自己的這個框架版本。他們都是基於圖形的應用,但在實施中:
- 的Silverlight
- 的WinForms(GDI)
- XNA
- 的DirectX
- 的OpenGL(TAO)
雖然有5這個框架的不同版本他們都做完全相同的事情,只是接受不同的對象。一個例子是GDI使用System.Drawing.Point來完成大部分與繪圖相關的任務,而XNA使用Vector2,但是它們都是代表X/Y的對象,與其他庫相同,有些將x/y值存儲爲int,浮動,雙重但最終在心臟代表相同的數據。
空間分區框架的主要工作是消除這些2/3維值,並生成樹或在這些數字周圍執行其他基於排序的任務。
我目前正試圖將許多分佈式框架統一到一個集中式的框架中,以便它可以有一個單獨的項目,並通過測試來證明一切正常。
所以我的第一個想法是創建一些不可知論的對象來處理像定製的Point2D,Point3D,四元數,矩形等這個X/Y問題。但是,然後我將不得不將它們轉換回它們的本地版本進行渲染,如果我爲每個渲染週期中的每個對象中的每個點執行此操作,那麼這聽起來像是一個巨大的性能損失(尤其是當此框架旨在儘可能保持高性能時)。
我在想接口可以解決這個問題,只是在實現部分內部包裝本地對象,但即時通訊仍然不確定這是否是最好的方法,因爲我從來沒有真正做過很多跨平臺所以從來不需要解決這些問題。
無論如何將停止waffling現在,任何建議將是偉大的!
呀XNA幾乎是一個我想複製,並且您已經一針見血的與數學庫一起工作,因爲這基本上是什麼階段,就好像它已經到位了,其他所有東西都可以使用它們並抽象出底層的本地方法...... GDI以及某種程度上GDI實現都是基於工具包的應用程序,所以反正他們不需要跑得這麼快。 – Grofit 2010-12-02 13:40:02