OpenGL-客戶端和服務器模式

首先理解下繪圖過程:

無非是把數(shù)據(jù)從系統(tǒng)內(nèi)存中復制到圖形卡,然后繪制出圖形

繪圖過程

OpenGL設計模式

OpenGL是按照客戶機-服務器模式設計

客戶端:

  • 負責發(fā)送OpenGL命令
  • CPU上面存儲的代碼,比如OpenGLApi,C和C++代碼

服務端:

  • 負責接收OpenGL命令并執(zhí)行相應的操作
  • 調(diào)用的是GPU芯片
客戶端-服務器

進一步闡述

  • 客戶端是存儲在CPU儲存器中的,并且在應用程序中執(zhí)行或者在主系統(tǒng)內(nèi)存中驅(qū)動程序中執(zhí)行。驅(qū)動程序會將渲染命令數(shù)組組合起來,發(fā)送給服務器執(zhí)行!
  • 服務器客戶端功能上也是異步的??蛻舳瞬粩嗟陌褦?shù)據(jù)塊和命令塊組合在?起輸送到緩沖區(qū),然后緩沖區(qū)就會發(fā)送到服務器執(zhí)行
  • 管線停滯:在以下兩種情況會發(fā)生
    1)服務器停?工作等待客戶機
    2)客戶機停?工作來等待服務器做好接受更多的命令和準備

不同角度理解:

  • 軟件:
    客戶端:我們編寫的程序
    服務端:計算機圖形硬件制造商提供的OpenGL的實現(xiàn)

  • 個人計算機:
    客戶端:CPU、內(nèi)存等硬件,以及用戶編寫的OpenGL程序
    服務端:OpenGL驅(qū)動程序、顯示設備(實際上就是圖形加速卡上的硬件和內(nèi)存)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容