Win7 64位 VS2015环境编译NanoVG
书接上回,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 64位 VS2015环境编译NanoVG的更多相关文章
- Win7 64位 VS2015环境编译cegui-0.8.5
首先是去官网下载源码与依赖库 http://cegui.org.uk/ 然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对 ...
- Win7 64位 VS2015环境编译Libpng
第3次编译Libpng依然想不起任何东西,为了不浪费第4次的时间... http://libmng.com/pub/png/libpng.html http://www.zlib.net/ 解压两个压 ...
- Win7 64位 VS2013环境编译CGAL-4.7
看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译. 首先是看一下官网的windows下配置说明 http:// ...
- Win7 64位 VS2015环境使用qt-msvc2015-5.6.0
QT下载 http://www.qt.io/download-open-source/#section-2 我用的是 qt-opensource-windows-x86-msvc2015-5.6.0. ...
- Win7 64位 VS2013环境编译Squirrel 3.0.7
Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...
- Win7 64位 VS2013环境编译boost1_58_0
备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...
- Win7 64位 VS2013环境编译Lua5.3.1
主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...
- Win7 64位 VS2015环境使用SDL2-2.0.4
之前在VS中使用SDL2,如果只链接SDL2.lib,会提示 error LNK2019: unresolved external symbol _main referenced in functio ...
- win7 64位 php环境开启curl服务Call to undefined function
无法使用curl_init(),一般情况问题可能出在没有去加载php的扩展文件php_curl.dll(windows操作系统),但是检查了一下系统配置,发现,环境下已经将php.ini文件里 ;ex ...
随机推荐
- 团队编程——web应用之人事管理系统
本次作业为团队作业,团队博客要求如下:1. 介绍团队情况:包括队长.成员.队名.成员照片.队训--.等:2. 介绍团队项目名称.总体任务,各成员任务等:3. 每个队做 一次需求调研(针对团队项目),要 ...
- 图情期刊要求2015(A,B,C类)
中国图书馆学报+情报学报+大学图书馆学报+图书情报工作+图书情报知识+情报理论与实践+国家图书馆学刊+情报杂志+图书与情报+情报科学+图书馆杂志+图书馆建设+情报资料工作+图书馆论坛+现代图书情报技术 ...
- Git命令学习摘要
1.git init --初始化git项目 2.git status --查看项目的状态 3.git add filename --添加文件到项目 4.git diff filename --查看工 ...
- Java 占位符使用 和 修饰符
Java中占位符的使用 String类的format()方法 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法, ...
- LDAP与jenkins
1:下载:jenkins.war 2:运行:java -jar jenkins.war 一直让他开着,后者放到后台进程 3:在浏览器输入http://IP:8080 4:设置LDAP 若 ...
- iOS开发中打电话发短信等功能的实现
在APP开发中,可能会涉及到打电话.发短信.发邮件等功能.比如说,通常一个产品的"关于"页面,会有开发者的联系方式,理想情况下,当用户点击该电话号码时,能够自动的帮用户拨出去,就涉 ...
- 关于display:flex
遇到了一个bug 就是display:flex 遇到的bug原型就是,项目容器的diaplay:flex ,一行项目五个,到最后一行只剩两个的时候 是两端对齐的,如果再添加的话 也就是两端各一个子 ...
- kaggle 竞赛之套路
图片数据:卷积还是王道,有几个比较通用性的框架被人拿来改来改去 非图片特征数据:用分类: boost系列算法:牛逼的框架实现 xgboost AdaBoost算法针对不同的训练集训练同一个基本分类器( ...
- js操作document文档元素 节点交换交换
<input type="text" value="1" id='text1'> <input type="text" v ...
- Ubuntu 安装tftp服务器
Ubuntu下搭建tftp服务器最简单方法 转 linux公社 今天开始调试ARM的板子,要通过tftp下载到板子上,所以又要配置tftp服务器,真的烦死了... (本人酷爱装系统,所 ...