书接上回,Cairo编译好使用后,发现简单的每帧画100条随机线段就卡得不行,装了个gooreplacer( http://liujiacai.net/gooreplacer/ )上stackoverflow上问了下,

有个老外回复说是硬件加速问题,默认Cairo是CPU处理,所以慢,也不知道有什么现成的轻量级矢量库集成Cairo并且可以硬件加速画线段,但是他提到了NanoVG矢量库,说是Opengl原生框架,

于是我下载试了一下,每帧3000直线不卡,不过不支持dash点线这种,功能似乎只是最简单的线段矢量库,Cairo目前还是能用得上,在绘图量不太大的情况下用用还行。

顺便还试了下Direct2D的画线,不知是不是教程的问题,D2D画图和GDI差不多,都是在Win32的Paint消息中更新,效率也只比Cairo好一点,但是也顶多是100条直线就开始卡了,所以就没花时间学习。

看来想要效率还是得用3D画图,之前写过简单的DX11画线,只试过每帧1024条线画FFT,确实不卡,可能找个时间实现个3D画dash点线画法就行了。不管怎么说暂时先对付用Cairo。

回到主题说NanoVG,下载 https://github.com/memononen/nanovg

编译挺简单的,新建个Win32 Console空项目,把源码和demo往里一丢,加上glfw,glew相关及NanoVG头文件目录就行了。

然后在NanoVG主页下面提到,有个DX11移植 https://github.com/cmaughan/nanovg

不过很不幸,在我的机器上跑这个植移工程会很有规律的一秒卡一下,帧数明明很高却会卡,实在搞不懂哪里问题,好在目前专注折腾Opengl,DX11问题等回归用得到这个库时再想办法解决吧

Win7 VS2015环境编译NanoVG的更多相关文章

  1. Win7 64位 VS2015环境编译NanoVG

    书接上回,Cairo编译好使用后,发现简单的每帧画100条随机线段就卡得不行,装了个gooreplacer( http://liujiacai.net/gooreplacer/ )上stackover ...

  2. Win7 VS2015环境编译cegui-0.8.5

    首先是去官网下载源码与依赖库 http://cegui.org.uk/ 然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对 ...

  3. Win7 VS2015环境编译Libpng

    第3次编译Libpng依然想不起任何东西,为了不浪费第4次的时间... http://libpng.com/pub/png/libpng.html http://www.zlib.net/ 解压两个压 ...

  4. Win7 64位 VS2015环境编译cegui-0.8.5

    首先是去官网下载源码与依赖库 http://cegui.org.uk/ 然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对 ...

  5. Win7 64位 VS2015环境编译Libpng

    第3次编译Libpng依然想不起任何东西,为了不浪费第4次的时间... http://libmng.com/pub/png/libpng.html http://www.zlib.net/ 解压两个压 ...

  6. Win7 VS2015环境使用qt-msvc2015-5.6.0

    QT下载 http://www.qt.io/download-open-source/#section-2 我用的是 qt-opensource-windows-x86-msvc2015-5.6.0. ...

  7. Win7 VS2013环境编译Squirrel 3.0.7

    Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...

  8. Win7 VS2013环境编译CGAL-4.7

    看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译. 首先是看一下官网的windows下配置说明 http:// ...

  9. Win7 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...

随机推荐

  1. [Java学习]面向对象-类的继承;方法覆盖

    一.类的继承 实现方法: public Class SubClass extends SuperClass{ } 继承最基本作用: 代码重用. 继承最重要的作用: 方法可以重写. 关于类的继承: 子类 ...

  2. openal支持的通道数和声道数

    alext.h:  #define AL_FORMAT_QUAD8 0x1204 101 #define AL_FORMAT_QUAD16 0x1205 102 #define AL_FORMAT_Q ...

  3. 【校招面试 之 C/C++】第32题 C++ 11新特性(三)之for关键字

    1.for循环的一般写法: int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int i = 0; i < 10; i++) cout ...

  4. javaweb导出excel

    百度找了半天也没找到一个提供有效思路的,全都告诉我此路不通 html表格数据粘贴到txt,然后改后缀为xsl,打开,发现二者无缝对接 @参考文章.@参考前任项目 /** * @todo * @para ...

  5. win7安装sqlserver2008

    双击启动程序,点击安装

  6. python脚本linux上后台执行

    1.脚本后加& 加了&以后可以使脚本在后台运行,这样的话你就可以继续工作了.但是有一个问题就是你关闭终端连接后,脚本会停止运行 python3 run.py >/dev/null ...

  7. [leetcode]692. Top K Frequent Words K个最常见单词

    Given a non-empty list of words, return the k most frequent elements. Your answer should be sorted b ...

  8. 关于变量参数的传递,python让人蛋痛的地方

    def find_file(file_table): with open(file_table, 'r', encoding='utf-8') as read_f: line_dict = {} fo ...

  9. java命令行调用本地文件协议hikvideoclient://

    最近在做一个视频项目,项目中需要通过调用海康本地协议打开视频播放器,起初尝试通过Process/ProcessBuilder无解,因为这个是调用本地应用程序的. 我要调用的是本地伪协议,最终通过一些研 ...

  10. auth 认证模块

    . auth认证模块: http://www.cnblogs.com/liwenzhou/p/9030211.html auth模块的知识点: . 创建超级用户 python manage.py cr ...