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

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

HarmonyOS
2024-03-17 12:29:03
1272浏览
收藏 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; 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
分享
微博
QQ
微信
回复
2024-03-17 22:17:43
相关问题
HarmonyOS是否支持多线程
766浏览 • 0回复 待解决
多线程EGL如何共享Context
1437浏览 • 1回复 待解决
如何在鸿蒙系统中实现多线程操作?
1580浏览 • 1回复 待解决
求大佬告知ArkTS是否支持多线程
2709浏览 • 1回复 待解决
HarmonyOS 数据库多线程操作
974浏览 • 1回复 待解决
HarmonyOS多线程使用?
787浏览 • 0回复 待解决
使用Native、XComponent和EGL绘制图形
1830浏览 • 1回复 待解决
ArkTs多线程方案如何保证线程安全
3564浏览 • 2回复 待解决
HarmonyOS ArkTS会不会支持多线程开发
31805浏览 • 4回复 待解决
如何实现多线程数据共享
3125浏览 • 1回复 待解决
HarmonyOS 多线程锁问题
1353浏览 • 1回复 待解决
HarmonyOS关于多线程问题
1235浏览 • 1回复 待解决
如何使用taskpool实现多线程
2021浏览 • 1回复 待解决
HarmonyOS 多线程写法限制
846浏览 • 1回复 待解决