草庐IT

buffering

全部标签

ruby - 了解 Ruby 和操作系统 I/O 缓冲

IO缓冲在Ruby中是如何工作的?使用IO和File类时,数据刷新到底层流的频率如何?这与操作系统缓冲相比如何?在自信地读回数据进行处理之前,需要做什么来保证给定数据已写入磁盘? 最佳答案 RubyIO文档并未100%清楚地说明这种缓冲的工作原理,但您可以从文档中提取以下内容:RubyIO有自己的内部缓冲区除此之外,底层操作系统可能会或可能不会进一步缓冲数据。相关方法看:IO.flush:刷新IO。我还查看了Ruby源代码,对IO.flush的调用也调用了底层操作系统fflush().这应该足以让文件缓存,但不能保证物理数据到磁盘。

javascript - ND-Buffer 和 G-Buffer 有什么区别?

我是WebGL的菜鸟。我读了几篇关于ND-Buffers和G-Buffers的帖子,好像它是WebGL开发的战略选择。ND-Buffers和G-Buffers与渲染管线有什么关系?ND-Buffers是否仅用于前向渲染,而G-Buffer仅用于延迟渲染?如何实现两者的JavaScript代码示例将有助于我理解差异。 最佳答案 G-Buffers只是一组通常用于延迟渲染的缓冲区。Wikipedia给出了g-buffer中常见数据类型的一个很好的例子漫反射颜色信息世界空间或屏幕空间法线深度缓冲区/Z缓冲区这3个缓冲区的组合称为“g缓冲区

javascript - Node.js 数据使用 Buffer 解析原始字节

我正在尝试使用Buffer来解析以奇怪方式格式化的29字节数据。我一直在使用slice()方法在这些奇怪的边界上分割数据。示例流类似于以下十六进制格式(为清楚起见添加了空格)...011d0000010a0a0b0b0c0c000004d20000000ec800000000000000ccc4varraw='011d0000010a0a0b0b0c0c000004d20000000ec800000000000000ccc4';buff=newBuffer(raw,'utf8');varposition=2;//messagetypevarmsg_type=buff.slice(pos

javascript - Node : How to free buffers that get allocated outside of the V8 memory heap

我有一个应用程序,我按顺序从服务器下载mp3文件,将它们临时存储在我的服务器中,然后将它们直接流式传输到客户端,如下所示:functiondownloadNextTrack(){varrequest=http.get('http://mp3server.com',function(response){response.on('data',function(data){fs.appendFile('sometrack.mp3',data,function(err){});});response.on('end',function(){streamTrack('sometrack.mp3'

javascript - ReactiveX:Group and Buffer only last item in each group

如何对一个Observable进行分组,并从每个GroupedObservable中仅在内存中保留最后发出的项目?这样每个组的行为就像BehaviorSubject一样。像这样:{user:1,msg:"Anyonehere?"}{user:2,msg:"Hi"}{user:2,msg:"Howareyou?"}{user:1,msg:"Hello"}{user:1,msg:"Good"}所以在内存中我们只有每个用户的最后一项:{user:2,msg:"Howareyou?"}{user:1,msg:"Good"}当订阅者订阅时,这两个项目会立即发布(每个都有自己的发射)。就像我们为每

javascript - 我如何在 Nodejs Buffer 上像 struct union type 一样处理 C?

我正在尝试在Nodejs上解析一个使用结构联合类型的缓冲区,我该如何在Nodejs上本地处理这个问题?我完全迷路了。typedefunion{unsignedintvalue;struct{unsignedintseconds:6;unsignedintminutes:6;unsignedinthours:5;unsignedintdays:15;//from01/01/2000}info;}__attribute__((__packed__))datetime; 最佳答案 这个联合要么是一个32位整数value,要么是info结构

javascript - Youtube 缓冲完成事件是否可能

是否可以通过javascript检测youtube缓冲的完成?这里http://code.google.com/intl/de-DE/apis/youtube/js_api_reference.html有很多方法,但没有一个事件显示“完成缓冲”。 最佳答案 varytplayer;functiononYouTubePlayerReady(playerId){ytplayer=document.getElementById("myytplayer");checkBuffer();}functioncheckBuffer(){if(yt

javascript - Protocol Buffer : WebApi -> JS - Decoded object is empty

我想通过Ajax请求将对象从WebApiController发送到Html页面。当我在JS中收到对象时,它是空的。但是服务器端对象不是空的,因为当我查看byte[].length时它大于0。服务器端,我使用dllprovidedbyGoogle.JS端,我使用ProtobufJSlibrary.这是我的.proto文件:syntax="proto3";messageContainer{repeatedTestModel2Models=1;}messageTestModel2{stringProperty1=1;boolProperty2=2;doubleProperty3=3;}服务器

javascript - 类型错误 : Failed to set the 'buffer' property on 'AudioBufferSourceNode' : The provided value is not of type 'AudioBuffer

我正在处理现有的codoCircle.调低音量。它按预期运行。现在我想在codepen中使用相同的代码我得到这个错误类型错误:无法在“AudioBufferSourceNode”上设置“缓冲区”属性:提供的值不是“AudioBuffer”类型我做了一些研究,找到了firstanswer有用。答案是当我在playSoundplayer.buffer=buffer中分配时,缓冲区仍未定义,因为加载回调尚未触发。这对我来说很有意义,所以我尝试做一个setTimeout像:setTimeout(playSound,9000);没有成功。你知道解决这个问题的方法吗?为什么在CodeCircle中

javascript - Uint32Array( buffer, byteOffset, length ) 没有按预期工作

AccordingtoMSDN我可以通过3种方式创建Uint32Array:newUint32Array(length);newUint32Array(array);newUint32Array(buffer,byteOffset,length);第一种和第二种方法效果很好,但第三种方法对我不起作用。这段代码有什么问题?varbuffer=newArrayBuffer(8);varuint32s=newUint32Array(buffer,4,4);uint32s[0]=0x05050505;varuint8s=newUint8Array(buffer);for(vari=0;i这很好