OpenGL过程间GPU资源共享
OpenGL inter-process GPU resource sharing
所以MSDN说您可以在两个过程之间共享资源(堆):https://msdn.microsoft.com/en-us/library/windows/desktop/mt186623(v = vs.85).aspx
在OpenGL中可以使用同一件事吗?如果是这样,我可以使用一些函数名称或任何形式的起点进行搜索,因为我还没有找到任何东西。
请注意,我试图避免将数据复制到系统内存并返回同一设备,因为这将是解决此问题的最微不足道的方法。
通常GPU资源(纹理,着色器等)受其上下文的约束。然后上下文被绑定到他们的父进程。有一些方法可以在Windows上的OpenGL上下文之间共享数据(请参阅WGLSharelist),但这可能很困难。
您可能只想使用多个上下文来研究。如果您必须在上下文之间共享数据,则可以使用PBO从GPU-> cpu复制数据(复制纹理数据块CPU/父进程的其他方法),然后将其复制回其他上下文。效率低下,但没有简单的方法。
我不确定跨进程,但是您可以在两个不同的线程之间共享上下文,并通过共享OpenGL上下文可以创建资源并与线程共享。
有关参考,请参阅
OpenGL多线程共享上下文
相关文章:
- 跨线程共享读取资源
- 拥有或在对象之间共享资源
- 具有多个继承共享一个资源的对象 - 寻找良好的设计模式
- 在新作用域中使用unique_lock是否等效于在使用共享资源的工作结束时解锁调用
- Tensorflow C++关闭会话后不释放 GPU 资源
- 是否有一种设计模式或面向对象的基本原则来处理这种共享资源的情况?
- 多线程和共享资源:使用C++定期将数据从缓冲区(数据结构)复制到文件
- 为什么我的程序寻找共享资源.dll而不是Commons.lib
- C++ VS2015:媒体资源页是共享设置
- 多个线程访问共享资源
- Python和C 共享相同的内存资源
- OpenGL过程间GPU资源共享
- C++11 中 3 个线程和 2 个共享资源的同步问题
- 在资源有限的不同进程之间建立共享内存
- 在GPU中共享许多高斯-勒让德求积的根和权重
- 锁定构造函数和析构函数中的共享资源
- qtmake-两个项目/目标之间的共享资源
- 在多线程程序中共享资源 C++ 与 Java
- C++/提升共享资源类,用于管理资源生命周期,如shared_ptr
- 在DirectX 11中发送着色器资源到GPU