草庐IT

缓冲池

全部标签

c++ - WxWidgets 中带有累积缓冲区的 OpenGL 运动模糊

我正在尝试在我的OpenGL应用程序中实现运动模糊效果。我在某处读到这个解决方案,使用累积缓冲区:glAccum(GL_MULT,0.90);glAccum(GL_ACCUM,0.10);glAccum(GL_RETURN,1.0);glFlush();在渲染循环结束时。但是没有任何反应......我错过了什么?genpfault回答后的补充:事实上,我在初始化上下文时并没有要求积累缓冲区。所以我尝试将一个属性数组传递给我的wxGLCanvas的构造函数,如下所述:http://docs.wxwidgets.org/2.6/wx_wxglcanvas.html:intattribLis

c++ - 检查 write()/send() 是否可以无阻塞地处理整个缓冲区,否则失败(没有部分写入)

我正在使用SOCK_SEQPACKET连接,确保通过单个write()/send()调用发送整个缓冲区对我来说至关重要。我还在使用旨在通过一次调用处理完整数据block的设备驱动程序。同时,我想处理write()/send()由于缓冲区溢出而阻塞的情况,即我想反馈当前实现是否在这里遇到瓶颈。我正在使用glibc,Linux2.6。我需要实现一个接受缓冲区的方法,它要么完全发送一个缓冲区,要么指示由于阻塞导致的失败(即系统缓冲区溢出)。看起来使用send(...,MSG_DONTWAIT)/fcntl(...,O_NONBLOCK)不是解决方案,因为它们在报告EWOULDBLOCK/EA

c++ - 按位读取缓冲区

我有一个缓冲区,其中包含一些具有不同位大小的数据(8位字段,然后是4位字段,然后是9位字段...)。我需要阅读它。如果有一些库允许使用位级别而不是字节级别的指针读取它,那就太好了。将缓冲区复制到结构不是一种选择,因为在研究之后我需要使用#pragmapack()或类似的东西,并且不可移植。有什么想法吗?编辑:我将尝试用一个例子来解释我的问题的严重性:field1:8bits-->ok,getfirstbytefield2:6bits-->ok,secondbyte,andamaskfield3:4bits-->getsharder,ihavetoget2bytes,apply2diff

c++ - GDI+ 双缓冲

我已经成功地使用GDI实现了双缓冲,但没有使用GDI+。我想在不闪烁的情况下显示png图像。此外,在某些时候我还想使用GDI+实现png图像的动画,因此必须知道如何使用GDI+进行双缓冲。我已经设法通过ISTREAM将png图像放入Image对象中:这是我的代码的一部分,可以帮助您了解我遇到问题的地方:memmove(pBlock,pImage,size);CreateStreamOnHGlobal(hBlock,FALSE,&pStream);Graphicsgraphics(memDC);Imageimage(pStream);intimage_width;intimage_hei

Kafka篇——生产者端发送消息配置汇总(ACK配置、重试间隔设置以及发送消息缓冲机制)干货满满!细节满满!

ACK配置生产者同步发送消息的时候,生产者在获得集群返回的ACK前会一直阻塞,那么集群什么时候给生产者返回ACK呢?在Kafka中,ACK(Acknowledgement)是一种确认机制,用于确保消息的可靠传递。当Producer发送消息给Kafka的一个分区时,Producer可以选择是否等待Broker对消息的接收进行确认。ACK机制提供了三种级别的确认:1.`acks=0`:Producer发送消息后,不需要等待Broker的确认即可继续发送下一条消息。这种方式是最快的,但也是最不可靠的,因为消息可能会丢失而不被发现。2.`acks=1`:Producer发送消息后,等待Broker的确

c++ - 在 Oracle OCCI/OCI 中,读取 LOB 的缓冲区是否应该大于实际数据?获取 ORA-32116

我们正在通过OCCI将数据从CLOB读取到std::vector中。简化的代码如下所示:oracle::occi::Clobclob=result.getClob(3);unsignedlen=clob.length();std::vectorresult(len);unsignedhave_read=clob.read(len,result.data(),len);这会产生错误ORA-32116,表示缓冲区大小(read的第3个参数)应该等于或大于要读取的数据量(read的第1个参数)。这个条件显然成立。将缓冲区大小增加到4*len后:unsignedhave_read=clob.r

c++ - 你如何读取顶点/索引缓冲区?

基本上,我的问题是:如何读取DirectX12中的顶点/索引缓冲区?我想我正在寻找与DirectX11的map功能相当的东西,我知道现在你必须手动完成。我试着用谷歌搜索答案,但没有找到任何东西。DirectX12示例/教程并不多,因为它很新。 最佳答案 创建另一个缓冲区资源,并将堆类型设置为D3D12_HEAP_TYPE_READBACK。使用ID3D12GraphicsCommandList::CopyBufferRegion或UpdateSubresources将顶点/索引缓冲区复制到新资源.复制操作完成后,调用ID3D12Re

python - 在 Python 中使用 OpenCV 将打包的 BGRA 图像缓冲区转换为 RGB 时出现问题

一些背景:我有一个packedBGRA我想将缓冲区中的图像转换为RGB。我使用以下代码通过OpenCV将其转换为RGB:np_a=np.array(image_buffer)#image_bufferisanarrayofuint8rgb_a=cv2.cvtColor(image_buffer,cv2.COLOR_BGRA2RGB)但是:OpenCVError:Assertionfailed(scn==3||scn==4)inipp_cvtColor,file/home/username/opencv/opencv-3.1.0/modules/imgpro/src/color.cpp,

c++ - 使用 std::aligned_union 和 std::aligned_union 为小型缓冲区优化别名

我正在研究std::function的小缓冲区优化实现-像对象。Boost实现了boost::function的小缓冲区像这样:unionfunction_buffer{mutablevoid*obj_ptr;structtype_t{constdetail::sp_typeinfo*type;boolconst_qualified;boolvolatile_qualified;}type;mutablevoid(*func_ptr)();structbound_memfunc_ptr_t{void(X::*memfunc_ptr)(int);void*obj_ptr;}bound_m

c++ - 我应该使用什么数据类型作为缓冲区?

我正在编写一个简单的聊天服务器,我想知道我应该为缓冲区使用什么数据类型。我在想string(对我来说这会很舒服),但是很多次我看到人们写那个string不应用作缓冲区(最好使用vector),但情况总是如此吗?在我的程序中,我想从客户端读取一些消息到缓冲区,将该数据发送到其他客户端并将该消息存储在数据库中。我使用SQLite,使用string(跳过数据库初始化)它看起来像这样:std::stringbuffer;buffer.resize(1024);//readsomedataintothebuffersocket.async_read_some(boost::asio::buffe