Mesa中DRI3与SWRast屏幕创建区别

在Mesa中,vl_dri3_screen_create 和 vl_xlib_swrast_screen_create 是用于创建不同渲染屏幕的函数,分别适用于不同的渲染路径。

1. vl_dri3_screen_create

  • 作用: 该函数用于创建基于DRI3(Direct Rendering Infrastructure 3)的渲染屏幕。DRI3是一种现代的、高效的图形渲染接口,通常用于硬件加速的OpenGL渲染。

  • 适用场景: 主要用于支持硬件加速的图形渲染,通常在现代Linux系统上使用。

  • 特点:

    • 利用GPU进行硬件加速。

    • 支持直接渲染,减少CPU开销。

    • 需要兼容的硬件和驱动程序支持。

2. vl_xlib_swrast_screen_create

  • 作用: 该函数用于创建基于Xlib和软件渲染(SWRast)的渲染屏幕。SWRast是Mesa中的软件渲染器,完全依赖CPU进行图形渲染。

  • 适用场景: 主要用于不支持硬件加速的环境,或者在没有GPU的情况下进行图形渲染。

  • 特点:

    • 完全依赖CPU进行渲染,性能较低。

    • 不需要GPU支持,适用于所有系统。

    • 通常用于调试或兼容性测试。

区别

  • 渲染方式vl_dri3_screen_create 使用硬件加速,而 vl_xlib_swrast_screen_create 使用软件渲染。

  • 性能: DRI3通常性能更高,适合现代图形应用;SWRast性能较低,适合兼容性或调试场景。

  • 依赖: DRI3需要硬件和驱动程序支持,SWRast则完全依赖CPU。

总结

  • 如果你需要高性能的图形渲染,并且系统支持硬件加速,使用 vl_dri3_screen_create

  • 如果你在没有GPU或需要兼容性测试的环境下,使用 vl_xlib_swrast_screen_create

------------------------------------------------ [video] created imageWriter from file:///home/songzhiyi/jetson-inference/python/training/classification/cat.jpg ------------------------------------------------ imageWriter video options: ------------------------------------------------ -- URI: file:///home/songzhiyi/jetson-inference/python/training/classification/cat.jpg - protocol: file - location: cat.jpg - extension: jpg -- deviceType: file -- ioType: output -- codec: unknown -- codecType: omx -- frameRate: 0 -- bitRate: 0 -- numBuffers: 4 -- zeroCopy: true ------------------------------------------------ [OpenGL] glDisplay -- X screen 0 resolution: 1707x1067 [OpenGL] glDisplay -- X window resolution: 1707x1067 libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: swrast [OpenGL] glDisplay -- display device initialized (1707x1067) [video] created glDisplay from display://0 ------------------------------------------------ glDisplay video options: ------------------------------------------------ -- URI: display://0 - protocol: display - location: 0 -- deviceType: display -- ioType: output -- width: 1707 -- height: 1067 -- frameRate: 0 -- numBuffers: 4 -- zeroCopy: true ------------------------------------------------ [image] loaded 'data/cat_dog/test/cat/01.jpg' (500x334, 3 channels) imagenet: 94.80% class #0 (cat) [OpenGL] glDisplay -- set the window size to 500x334 [OpenGL] creating 500x334 texture (GL_RGB8 format, 501000 bytes) Segmentation fault (core dumped)
07-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值