自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 多进程、多线程、协程、线程池、任务队列的平均等待时长分析

这时,在3分钟的时候,A,B,C都打了一分钟水,A满了,而B还需要1分钟的注水量,C 2分钟。从上面的分析,可以看出来,分时复用只会拉高平均等待时长,所以,线程应该越少越好,尽可能等于cpu核心数。可以想像成,分时复用,就是将水龙头分成3根管子,分别接到三个桶里面,还是ABC的任务。多线程的解决方案,还包括,两倍于cpu核心数的线程,intel的单核多线程cpu。假如,按照ABC的顺序依次打水,A等待1分钟,B 3分钟,C 6分钟。对于一个排队打水的任务,A需要1分钟,B 2分钟,C 3分钟。

2024-08-30 17:05:39 385 1

原创 静态连接c++标准库,-static-libstdc++

比普通的c程序,多了一个libstdc++.so.6的依赖,当编译出来的程序,放到其他linux系统上,可能会由于c++的版本不同,而不能运行。对于简单的std::cout<<"hello world" 程序。等于 gcc -o test test.cpp -lstdc++加了 static-libstdc++,之后,如图。程序大了约700KB。

2024-03-22 13:08:44 562 1

原创 opengl纹理坐标与像素对应关系,glsl模拟linear插值

opengl纹理坐标与像素对应关系,glsl模拟linear插值

2024-01-26 14:37:55 469 1

原创 Opengl glBlendFunc,颜色混合公式,FrameBuffer混合颜色不正确,预乘alpha总结

Opengl glBlendFunc,颜色混合公式,FrameBuffer混合颜色不正确,预乘alpha总结

2024-01-20 15:33:42 649

原创 flv.js播放h264,部分视频在部分浏览器播放不了

发现,flv.js解析sps时,是进行了ebsp转rbsp转换,然后解析出视频信息的,但是喂解码器时,是直接原始的sps丢解码器。出问题的视频,用​​h264分析格式,是h264 main ,level 52,且sps里面带了00 00 03竞争码。接着修改sps的level,到51。修改sps里面的level描述,改成0x33,不知道有啥影响,火狐能解码了。即 ebsp转rbsp,丢给chrome和火狐播放。目前只在部分win7系统的旧浏览器,发现这个bug。实际测试,在某种情形下,还是可以播放出来的。

2023-08-31 11:30:56 732 1

原创 如何判断点在某线段上,线段拾取算法

如何判断点在某线段上,线段拾取算法

2022-01-07 12:36:13 905

原创 c++11,基于原子操作的速度极快的多线程无锁队列

c++11,基于原子操作的速度极快的多线程无锁队列

2022-01-03 20:50:05 2892 1

原创 opengl纹理颠倒,rgb通道错位等。详解rgba,bgra,argb等内存序

opengl纹理颠倒,rgb通道错位等。详解rgba,bgra,argb内存序

2021-12-06 12:03:14 5647

原创 对透明通道的深度理解,rgba颜色混合公式(符合结合律论证)

对透明通道的深度理解,rgba颜色混合公式(符合结合律论证)

2021-12-03 17:08:06 1086

原创 cairo_text_extents 使用遇到的问题

cairo_text_extents 使用遇到的问题

2021-11-24 10:02:51 383

原创 代码优雅注释

一般的代码都支持行注释和块注释,但是块注释,要删除两个符号,很不好用。如果将这两种注释结合会有什么效果呢?/*int i = 1;int j = 2;//块注释*///去掉 /*int i = 1;int j = 2;//这里加注释*/更高级的写法:/*int i = 1;int j = 2;/*/int i = 3;int j = 4;// 选择第二段代码 *///去掉/*int i = 1;int j = 2;/*/int i = 3;int j

2021-10-21 18:07:48 132

原创 c++ 实现不编译A.cpp就没有A模块

非常规代码,有的时候,连接的时候,编译器认为没有使用A.cpp,结果导致编译了A.cpp也没有A模块,需要添加特殊的连接指令。只是好玩,慎用。 实现思路。定义一个全局的管理Factory的类Factorys,在A.cpp里面定义一个全局变量,全局变量构造的时候,把 A 的 工厂类 FactoryA 插入到Factorys中。这样只要编译连接了A.cpp,就会在构造的时候把A模块插入到Factorys中了。 原理很简单,实现又遇到一个问题:构造的顺序的问题,...

2021-10-21 17:18:32 192

原创 c++11 将enum转为字符串,将字符串转为enum

一般用enum有两种情况,一种是string类型方便 “人”读 。一种是int类型,方便机器识别。所以,很多情况,需要把int转为string类型,或者将string转为int类型,方便代码使用。查了很多网页都没发现一个好的实现方式。于是我自己实现了一个。用最少的代码实现int 和 string的绑定关系。原理: 首先,要让编译器能识别,并且有提示,自动填充。这里使用的是类的成员变量来存储int类型,然后用一个map存储string和int的关系。DefCSS 宏展开之后类...

2021-10-21 16:52:47 3164

windows 下的键盘改键程序,可用于war3

支持快捷键喊话(剪切板复制粘贴原理)。支持模拟按键序列,一次按键,多次模拟按键组合。可用于war3

2021-10-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除