Category Archives: Windows

2019
06-03

FireBreath插件IE浏览器中文字符乱码问题 440 VIEW

去年写过FireBreath插件的文章,那时刚到新公司,独自开发一款传统的视频播放器插件。后面基于Firebreath框架开发,支持IE以及Firefox。转眼一年多了,播放器插件已经成功部署在公司多个项目中,无论特色功能点,性能,稳定性,都达到令人满意的程度。最近一个项目要在IE11浏览器上跑,由于之前都是在Firefox上跑,IE上没怎么测过,所以在IE上跑时出现了个问题:接口传入的中文字符乱码。 播放器插件多个接口需要传入带中文字符参数,比如视....Read More >
2018
05-15

基于FireBreath的npapi插件在Firefox下的调试 753 VIEW

基于FireBreath的npapi插件在Firefox下的调试 最近要做基于浏览器的视频播放,可以播放各种格式的流。首先为了快速出产品先做一个npapi插件,没用activex,因为IE限制了前端们的想象力与创造力,H5播放技术留在最后面做。刚开始做npapi插件用的是火狐原生api开发,比较繁琐。后面找了一个叫做firebreath的开发框架,开发的插件可以在IE,firefox以及chrome旧版本使用,提高了些开发....Read More >
2017
09-28

DXGI中的flip显示模型 1008 VIEW

DXGI中的flip显示模型 从win8开始,就增加了flip显示模型,通过该显示模型,程序可以减少系统开销,同时增加性能。基于intel media sdk解码,d3d11渲染,在我自己的电脑上通过对比,该模型确实可以明显降低CPU负载,渲染时间几乎忽略不计。不过坑爹的是,在部分独显不同电脑上,该模型并没有发挥出来该有的作用,反而增加GPU很大的负载,得不偿失。在d3d12中只支持....Read More >
2017
09-18

CreateSwapChainForHwnd返回0x887A0001错误 1033 VIEW

IDXGIFactory2::CreateSwapChainForHwnd 创建交换链时,返回0x887A0001错误,也就是DXGI_ERROR_INVALID_CALL,查了下,原来是一个窗口句柄只能绑定一个flip显示模型交换链。附上MSDN上的解释: Because you can associate only one flip presentation model swap chain at a time with an HWND, the....Read More >
2017
03-27

为什么Windows下无法实现ptp协议 3659 VIEW

前段时间,要写一个windows下的分布式软件,刚开始的方案是需要一个精确的时钟同步,误差必须控制在1毫秒内。也许很多人都知道有NTP以及PTP 时间同步协议。windows本身自带NTP协议的服务,通过注册表配置即可实现,但是误差无法满足要求,而且每次配置都要重启W32Time服务。也只有PTP这个精确时钟同步协议满足要求,后面想自己实现PTP协议,不过查了些资料,发现想的太简单了。 PTP协议的原理虽然简单,不过实现起来不简单,需要确定最佳主时钟....Read More >
2016
06-07

Visual Studio检查内存泄露方法 5579 VIEW

Visual Studio检查内存泄露方法 在测试自己写的程序时,我们一般都会去任务管理器查看程序内存状况,看内存是否随着时间一直增长,如果一直增长,那恭喜了,程序内存泄露了。 编写程序时要养成良好习惯,申请的内存要记得释放,遇到内存泄露时要认真查看申请的内存释放了没,除此之外,我们也可以通过第三方帮助我们发现程序内存泄露状况。 _CrtDumpMemoryLeaks函数 系统自带的 C R....Read More >