V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
visonme
V2EX  ›  程序员

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

  •  
  •   visonme · 2015-12-24 14:43:26 +08:00 · 2425 次点击
    这是一个创建于 3249 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这个轮子是我在年前开始的,那时候想到这个计划,是因为现在业务需求, Qt 框架一些东西已经不能很好满足了,而相对 Net 框架的一些东西却能更好的完成我们现在的工作,所以就这样开始了这个计划,借着微软 Net 的开源,在从 Net 到 CPP 的重写工作中给我们省了很多不必要的麻烦了。

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

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

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

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

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

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

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

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

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

    自己擼圖形框架並不是一個簡單的事,你是選擇在主線程完成 UI 繪製還是學 BeOS 的可以在任意線程完成 UI 繪製?光這一個問題的不同回答就會讓後來的實現截然不同。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.