‘造轮子’ 只是开心了自己

2015-12-24 14:43:26 +08:00
 visonme
这个轮子是我在年前开始的,那时候想到这个计划,是因为现在业务需求, Qt 框架一些东西已经不能很好满足了,而相对 Net 框架的一些东西却能更好的完成我们现在的工作,所以就这样开始了这个计划,借着微软 Net 的开源,在从 Net 到 CPP 的重写工作中给我们省了很多不必要的麻烦了。

年底了,轮子也造的差不多了,至此个人的感觉就是这伙开心了自己,然后自己啥也没得到.

故事起因:
我们的产品最早是基于 Net wpf 的, WPF 在处理多媒体,图形图像,动画上真的很优秀,不足就是内存烧的厉害.性能待改善.

后来仅仅为跨平台,减少成本,我们统一投奔了 Qt ,这两年给予 Qt 框架开发过来,我们发现 Qt 的坑真不少,尤其在处理绘图,多媒体这块,所以这两年修改产品问题远远超过了开发时间(这些问题来自于平台调用, Qt 自身 bug ,我们产生的 bug ),所以才开始了这个造轮子计划,轮子出来了,发现最后也只能用在 window 平台,伤。

有没有人有什么好的跨平台多媒体,图形图像,动画的解决方案不? Opengl/opencv/ffmpeg 这些都考虑过,可视最后碍于一些因素都放弃了。
2443 次点击
所在节点    程序员
1 条回复
wezzard
2015-12-24 15:57:24 +08:00
首先,.Net 不是 Net 。

你們可以仿照蘋果的技術棧自己擼一個圖形框架出來,但是工程很大,主要實現不要參考 GNUStep ,裏面很多實現都是錯的,我只參考過裏面的牛頓—拉夫森方法解析貝塞爾曲線的實現。

WPF 我沒用過,不知道樓主是如何評價優秀的。

動畫分爲兩種:一種是描述性動畫,就是我定一個 duration 再定好 timing function 和 initial/final value 讓動畫引擎自己去 interpolate 的;還有一種是模仿物理學的動畫,就是我定義好物體的質量和施加的力,讓動畫引擎自己去計算之後每一幀的位置。

前者相較後者更爲容易實現,而後者需要三維引擎和碰撞檢測的知識,然而這兩者都不是好擼的。樓主的團隊會因爲某些因素放棄 OpenGL 肯定是因爲知道了從 OpenGL 實現一個圖形框架並不容易,說白了很有可能是技術儲備不夠。

那麼既然是技術儲備不夠,加強技術儲備才是王道。

自己擼圖形框架並不是一個簡單的事,你是選擇在主線程完成 UI 繪製還是學 BeOS 的可以在任意線程完成 UI 繪製?光這一個問題的不同回答就會讓後來的實現截然不同。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/245855

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX