EGL绘制是否支持多线程?如何在多线程的场景下同时操作一块buffer进行图形绘制

EGL绘制是否支持多线程?如何在多线程的场景下同时操作一块buffer进行图形绘制

HarmonyOS
2024-03-17 12:29:03
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect
  • 支持多线程,可以通过每个线程各自产生一块纹理,再将这些纹理合成到一块buffer。
  • 可以使用sharedContext,另外绘制操作可通过调用OpenGL实现。
  • 创建ShareEglContext的代码如下:
void CreateShareEglContext() 
{ 
  if (renderContext == nullptr) { // renderContext是主线程context 
    RS_LOGE("renderContext_ is nullptr"); 
    return; 
  } 
  eglShareContext = renderContext->CreateShareContext(); //  创建share context 
  if (eglShareContext == EGL_NO_CONTEXT) { 
    RS_LOGE("eglShareContext is EGL_NO_CONTEXT"); 
    return; 
  } 
  if (!eglMakeCurrent(renderContext->GetEGLDisplay(), EGL_NO_SURFACE, EGL_NO_SURFACE, eglShareContext)) { 
    RS_LOGE("eglMakeCurrent failed"); 
    return; 
  } 
}
分享
微博
QQ
微信
回复
2024-03-17 22:17:43
相关问题
多线程EGL如何共享Context
423浏览 • 1回复 待解决
HarmonyOS是否支持多线程
126浏览 • 0回复 待解决
求大佬告知ArkTS是否支持多线程
2042浏览 • 1回复 待解决
HarmonyOS 数据库多线程操作
175浏览 • 1回复 待解决
使用Native、XComponent和EGL绘制图形
981浏览 • 1回复 待解决
如何在鸿蒙系统中实现多线程操作?
228浏览 • 1回复 待解决
ArkTs多线程方案如何保证线程安全
2568浏览 • 2回复 待解决
如何使用taskpool实现多线程
1144浏览 • 1回复 待解决
HarmonyOS 多线程写法限制
141浏览 • 1回复 待解决
HarmonyOS 多线程并发相关问题
242浏览 • 1回复 待解决
HarmonyOS多线程使用?
175浏览 • 0回复 待解决
HarmonyOS ArkTS会不会支持多线程开发
9909浏览 • 4回复 待解决
如何实现多线程数据共享
2220浏览 • 1回复 待解决