Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ boost::进程间更新阵列的最快方法_C++_Windows_Memory_Boost_Shared - Fatal编程技术网

C++ boost::进程间更新阵列的最快方法

C++ boost::进程间更新阵列的最快方法,c++,windows,memory,boost,shared,C++,Windows,Memory,Boost,Shared,我目前使用boost::interprocess在共享内存中有一个1028*32字节的结构数组。其中每一个都包含游戏中玩家的位置和绘图信息,我正在从DLL中抓取这些信息,以便在远程覆盖中绘制。我控制读写的基本机制是在共享内存对象的开头设置一个bool,每个进程都可以打开和关闭。这种方法很有效,我可以从每个玩家那里获得信息,但不幸的是,这种方法非常慢。有什么方法可以更快地传递这些信息吗?如果可能的话,我希望使用它,以便在数组的某个特定成员更新后调用绘图函数(例如,成员0更新,在我的scraper

我目前使用boost::interprocess在共享内存中有一个1028*32字节的结构数组。其中每一个都包含游戏中玩家的位置和绘图信息,我正在从DLL中抓取这些信息,以便在远程覆盖中绘制。我控制读写的基本机制是在共享内存对象的开头设置一个bool,每个进程都可以打开和关闭。这种方法很有效,我可以从每个玩家那里获得信息,但不幸的是,这种方法非常慢。有什么方法可以更快地传递这些信息吗?如果可能的话,我希望使用它,以便在数组的某个特定成员更新后调用绘图函数(例如,成员0更新,在我的scraper dll更新下一个成员之前,开始绘制成员0的信息,然后继续)。

,您可以为每个成员设置一个标志,并持续处理数组并检查新设置的标志。如果您需要更多事件样式的通知,那么您可以为每个成员设置一个事件样式,并在更新后发出信号。不过,我不确定1000个监视器会对性能产生什么影响