本帖最后由 onecoolx 于 2011-05-19 19:09:46 编辑

解决方案 »

  1.   

    顺带帖一个Google Chrome和Android使用的2D图形库skia:http://code.google.com/p/skia/
      

  2.   

    楼主就是该库的作者,不是没人感兴趣,是应该加个介绍啊Picasso 是一款跨平台的高级二维矢量绘图引擎。Picasso提供平台无关的图形渲染技术,使它可以运行在几乎所有操作系统平台。目前支持的平台包括Windows 、 WindowsCE、 Linux。Picasso提供低层次,轻量级的二维矢量图形渲染技术,可以为不同是设备提供一致的图形输出质量。Picasso的API非常简单并且易于使用,可以支持很多高级二维图形操作,包括 Path, Transform, Gradient, Pattern, Image 和 Truetype 字体等功能,支持多种颜色模式和混合方式, 可以用在需要矢量图形操作的软件里。http://www.zncsoft.com/blog/?cat=11
      

  3.   

    还有好像没有看到好的demo另外你看看这里,我怎么看你的和这个是不是有点像
    http://raphaeljs.com/
      

  4.   

    它那个是JavaScript 的, 我这个是C++实现的, 不一样。
      

  5.   

    骨子里还是开源的AGG啊,楼主是在哪些方面做了增强,为何不直接介绍一下你的改进什么的,我还以为底层也是楼主自己写的呢,那可得膜拜一下
      

  6.   

    既然已经开源了,做了什么改动自己看去。你要是觉得没什么用,那你直接用AGG好了,又没人求你用。
      

  7.   

    哎 我原以为Cairo已经够慢的了 谁知道agg更慢的一塌糊涂 = =建议还是用skia吧 比cairo快不知道多少了 在arm上更快 如果只在pc上用 可以试试 shivavg 比skia还快2到3倍
      

  8.   

    2D矢量库的算法不是难点:开源代码一大把,如agg和开罗、还有新兴的skia,楼主的例子似乎是OpenVG的事例 ----- 这个也是有源代码(碰巧我对OpenVG有些研究),因此实现这些功能不是什么问题和技术难点,没有什么值得炫耀的;我现在比较关心的是效能,除skia外(毕竟有google的支持),agg和"开罗"的效能都不敢恭维,开源的OpenVG效能更是慢的离谱。我更具体些提出问题,在单线程的1.6G的PC上,您的老虎头的FPS可以达到多少(高画质、抗锯齿开),如果达不到15FPS就不要再这里炫耀了,完善完了再拿出来。
      

  9.   

    你们总是不明白,软件是拿来用的,不是拿来跑分的, 那几个ms的性能优势,有什么值得夸耀的,愿意用就用,不愿意用就滚蛋,我是分享给有需要的人的,你愿意用skia还是什么狗屁VG那是你的自由,我愿意开发那是我的自由。没见你们谁开发一个更好的开源出来啊,假牛逼什么呀都
      

  10.   

    1)确实如此,但是如果我是用您的矢量工具实时播放,却只能跑到xFPS,请问用户怎样用?我的目标是RealTime的矢量图形。
    2)小弟不才,居然敢提15FPS是碰巧小弟也在研究矢量图形,我自己实现了一个完整的OpenVG(大约是2007年的事情了),那个所谓的老虎头也就16FPS,当然是高画质、抗锯齿开的情况下1.6GHZ CPU ---- CPU速度一般了CSDN是技术交流的园地,所以以后说话的时候还是请注意一些为好;另外,最近精力有限,确实真心想用您的矢量工具,15FPS是硬性指标 ----- 肯定要比我之前写的老古董快才行啊。
      

  11.   

    本来并不想回复这样的无聊的帖子,但想想在CSDN都应该是"IT文人",突然看到"滚蛋"这两个字很觉得突兀;我不是什么牛人,只是一个非常酷爱技术的老古董而已;
    因为精力有限,已经没有时间再将OpenVG 提升到1.1了,一直以来一直只是简单优化而已;看到楼主的帖子确实为之一振 ----- 毕竟是同行人;但看了楼主最后的帖子确实又一次被“撼”了;
    当然这件事情到此为止,至于那个老虎头到底应该渲染多快,我相信实用第一 ----- 满足应用的需要,但明显应该不至15FPS;我不希望因此引发无聊的争吵,到此结束;有时间多写两行代码好了;
      

  12.   

    我也想说明一点, 我把这个GPL发布出来, 原本没有其它的意思,也没有炫耀的成份,我并没说我的软件有XXX牛, 比XXX还快,能到到XXX指标等等。我的原意是,有谁需要,拿去好了,不需要也挨不着您是什么事。有意见或建议可以发邮件给我或和我讨论, 就像你说的这是讨论技术的地方。  但我不明白 “如果达不到 XXX 就不要再这里炫耀了”这话是什么意思? 就算你技术再牛,你可以这么对待别人吗? 所以最后一帖是希望告诉那些人,你们至少得学会尊重别人的劳动。。
      

  13.   

    我也研究过2D图形,以前也关注过ONECOOLX的作品,最初他的PICASSO是不开源的,也去看了看AGG,SKIA。现在开源了,对开放自己劳动成果的也是心生敬佩的。貌似“部分”写程序的都有点自大并相互BS的毛病。我习惯并学会要淡定啊。现在"国内"(说大了就算是鄙人愚见吧)总是想从“开源”里占便宜,贡献不多(可以说非常小)。貌似处在 “一直在山寨,从未有超越”的状态。支持ONECOOLX开放交流的态度。
      

  14.   

    支持楼主,开源就是不断有人来改进,那个TOM估计他的东西还躺在07年得时候。
      

  15.   

    感觉真正无聊和在炫耀是tomsoft,并非楼主,哈哈
      

  16.   

    虽然是过了很久的帖,但是本着客观的原则,还是对amanithvg、gingkoVG、以及Picasso,在虎头的绘制进行了性能测试。我的CPU是i5-2430M,2.4G,窗体大小都设置成800×600。amanithvg 178 FPS。
    gingkoVG  22  FPS。
    Picasso   103 FPS。gingkoVG在控制台窗口有很多输出,可能影响了其真实性能,Picasso,我是将on_draw重复1000次,然后统计时间最后是9688毫秒。总体来说Picasso的性能不错,也说明agg还是相当强悍的。
      

  17.   

    picasso解决agg接口难用的问题,贡献极大!
    如果接口参数能够整数化优化估计会非常一流!
      

  18.   

    本人打算使用你的picasso来实现2D Graphics功能,谢谢您的贡献!
    我很久之在前便研究对比过cairo和agg,对AGG还是很喜欢的。但苦于他是C++模板接口没有规范化,难以使用,以致多次打算放弃。
    至于google的skia只是名人效应,未必比AGG强多少,但skia做过整数优化必然暂时好一些,但代码数量巨大,显然没有agg简洁。
    如果能够把AGG也做必要的定点整数化,效果一定会超一流,最简单的优化就是定义double=float然后编译就可以提升很多速度,因为float要比double快很多的 -- (这一点知道的人不多的)。比如freetype2的26.4或16.16定点整数来实现浮点运算使得freetype2拥有非常好的效果,这也是agg可以效仿的地方,一旦定点数量上去了定点与浮点的差别就会非常明显。我认为picasso是可以继续agg为完成的事业。支持作者!
      

  19.   

    另外,建议把font部分改称可选,因为freetype2本身已经很好。agg只是利用freetype2的轮廓,但有时候字体缺省输出的是点阵,没有轮廓,这是agg字体显示不出来,比如14点阵大小的sunsim.ttc字体就会优先点阵字体,除非关闭点阵字体才会输出轮廓。没有font功能可以专心于2D图形的优化提高。现代图像处理使用32位像素的格式已经足够,2D图形处理可以不需要支持各种像素格式,比如565,555,和24位的RGB格式,本人认为只需要专心RGBA/BGRA便可足够(本人更喜欢BGRA格式),因为物理显示输出的时候进行具体转换会很快,何况还有硬件加速功能自动完成呢。