DirectX12 - 基本知識 - 圖形驅動的本質

這里是SunshineBooming,GPU公司一枚小小的Driver工程師,主要工作是寫DirectX12 Driver,我會持續更新這個DX12 Spec系列,可能比較冷門,但是都是干貨和工作中的心得體會,有任何GPU相關的問題都可以在評論區互動,知無不言:

DirectX12 Spec 總目錄

目錄

  • 1. 圖形驅動的本質?
  • 2. 參考資料

1. 圖形驅動的本質?

  • 圖形驅動其實重點落在驅動二字上,與圖形學聯系并不密切。你可以看到絕大多數圖形驅動的開發人員,其實不太了解圖形學。
  • 拿directx12的驅動開發人員來說,我們更關心的是,與windows系統的交互(特別是drirectx12的runtime),與gpu硬件的交互(各種gpu架構指令,硬件設備特性,以及痛苦地為gpu硬件缺陷打patch…)。
  • 而去剖析directx12圖形驅動(包括umd+kmd),它其實重點做了2件事:生成gpu硬件指令,準備指令執行過程中需要的數據。這聽著是不是很耳熟:任何的程序,只不過是指令和數據的集合
  • 所以歸根結底,圖形驅動是運行在cpu端的程序,它的職能就是為gpu硬件準備command+data,然后控制gpu硬件狀態:
    在這里插入圖片描述

2. 參考資料

  • a trip through the grapics pipeline(這個網上很多鏈接,就不貼pdf了)
  • https://learn.microsoft.com/zh-cn/windows-hardware/drivers/display/windows-vista-and-later-display-driver-model-architecture

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77668.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77668.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77668.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

selenium元素獲取

from selenium import webdriver from selenium.webdriver.common.by import Bydriver webdriver.Chrome()driver.maximize_window()#最大化窗口 #隱式等待 driver.implicitly_wait(10)#打開網頁 driver.get("https://www.zhipin.com/beijing/?kacity-sites-101010100&q…

生物化學筆記:醫學免疫學原理15 超敏反應過敏反應(I型[蚊蟲叮咬]+II型[新生兒溶血癥、突眼型甲亢]+III型+IV型)

超敏反應 每個人都可能發生的過敏問題:被蚊子咬后起包 I型超敏反應 II型超敏反應 新生兒溶血癥分為Rh血型不合和ABO血型不合兩種情況。Rh血型不合通常從第二胎開始更容易發病,因為母體初次接觸Rh陽性胎兒的紅細胞后會產生抗D抗體,而這個致敏…

【android bluetooth 框架分析 02】【Module詳解 2】【gd_shim_module 模塊介紹】

1. 背景 上一章節 我們介紹了 module_t 的 大體框架 ,本節內容我們就選擇 我們的 gd_shim_module 模塊為例子,具體剖析一下,它里面的邏輯。 static const char GD_SHIM_MODULE[] "gd_shim_module";// system/main/shim/shim.cc …

【包管理器】主流包管理器_對比_應用場景

不定期更新,建議關注收藏點贊。 鏈接: npm專題 目錄 主流包管理器簡介對比 主流包管理器簡介 主流的包管理器其實有不少,不同語言和平臺都有各自的一套系統。 前端(JavaScript/TypeScript) 名稱簡介開發者特點npmNo…

參照Spring Boot后端框架實現序列化工具類

本文參照Jackson實現序列化工具類,旨在于簡化開發 JacksonUtil.class public class JacksonUtil {private JacksonUtil() {}/*** 單例*/private final static ObjectMapper OBJECT_MAPPER;static {OBJECT_MAPPER new ObjectMapper();}private static ObjectMappe…

Rust入門之迭代器(Iterators)

Rust入門之迭代器(Iterators) 本文已同步本人博客網站 本文相關源碼已上傳Github 前言 迭代器(Iterators)是 Rust 中最核心的工具之一,它不僅是遍歷集合的抽象,更是 Rust 零成本抽象(Zero-Co…

若依框架二次開發——RuoYi-AI 本地部署流程

文章目錄 項目環境安裝后端1. 下載項目2. 使用 IDEA 導入項目3. 配置 Maven4. 配置 Maven settings.xml5. 初始化數據庫6. 啟動 Redis7. 修改數據庫配置8. 啟動后端服務安裝管理端1. 下載管理端項目2. 安裝依賴3. 啟動管理端4. 修改管理端配置安裝用戶端1. 下載用戶端項目2. 安…

精品推薦-最新大模型MCP核心架構及最佳實踐資料合集(18份).zip

精品推薦-最新大模型MCP核心架構及最佳實踐資料合集,共18份。 1、2025年程序員必學技能:大模型MCP核心技術.pdf 2、MCP 架構設計剖析:從 Service Mesh 演進到 Agentic Mesh.pdf 3、MCP 架構設計深度剖析:使用 Spring AI MCP 四步…

DataWorks智能體Agent發布!基于MCP實現數據開發與治理自動化運行

在傳統的數據開發工作中,企業用戶或者開發者常常需要進行繁瑣的配置、復雜的代碼撰寫、反復的性能調優和大量重復性的操作,才能實現數據開發、數據集成和數據治理等工作,效率十分低下。 近日,阿里云大數據開發治理平臺DataWorks基…

IDEA 中右側沒有顯示Maven

IDEA 中右側沒有顯示Maven 1. 檢查 Maven 項目是否正確加載 現象 ? 項目是 Maven 項目,但右側沒有 Maven 工具窗口。 ? 項目根目錄下有 pom.xml,但 IDEA 沒有識別為 Maven 項目。 解決方法 手動重新加載 Maven 項目: ? 在 IDEA 中&…

羅技K860鍵盤

羅技藍牙鍵盤的頂部功能鍵F1-F12的原本功能 單擊羅技鍵盤的功能鍵時,默認響應的是鍵盤上面顯示的快進、調節音量等功能。改變回F1~F12原本功能,同時按下 fn和esc組合鍵

什么是大型語言模型(LLM)?哪個大模型更好用?

什么是 LLM? ChatGPT 是一種大型語言模型 (LLM),您可能對此并不陌生。它以非凡的能力而聞名,已證明能夠出色地完成各種任務,例如通過考試、生成產品內容、解決問題,甚至在最少的輸入提示下編寫程序。 他們的實力現已…

css畫右上角 角標三角形

.corner {position: absolute;top: -2rem;right: -2rem;width: 0;height: 0;border: 2rem solid red;border-bottom-color: transparent;border-top-color: transparent;border-left-color: transparent;transform: rotateZ(135deg); } 基本思路就是設置border,只設…

vue自定義顏色選擇器

vue自定義顏色選擇器 效果圖&#xff1a; step0: 默認寫法 調用系統自帶的顏色選擇器 <input type"color">step1:C:\Users\wangrusheng\PycharmProjects\untitled18\src\views\Home.vue <template><div class"container"><!-- 顏…

[Python] 企業內部應用接入釘釘登錄,端內免登錄+瀏覽器授權登錄

[Python] 為企業網站應用接入釘釘鑒權&#xff0c;實現釘釘客戶端內自動免登授權&#xff0c;瀏覽器中手動釘釘授權登錄兩種邏輯。 操作步驟 企業內部獲得 開發者權限&#xff0c;沒有的話先申請。 訪問 釘釘開放平臺-應用開發 創建一個 企業內部應用-釘釘應用。 打開應用…

[藍橋杯 2023 國 Python A] 整數變換

P10985 [藍橋杯 2023 國 Python A] 整數變換 題目背景 建議使用 PyPy3 提交本題。 題目描述 小藍有一個整數 n n n。每分鐘&#xff0c;小藍的數都會發生變化&#xff0c;變為上一分鐘的數 減去上一分鐘的數的各個數位和。 例如&#xff0c;如果小藍開始時的數為 23 23 …

【Linux】TCP_Wrappers+iptables實現堡壘機功能

規劃 顯示jumpserver的簡單功能&#xff0c;大致的網絡拓撲圖如下 功能規劃 & 拓撲結構 JumpServer&#xff08;堡壘機&#xff09;主要功能&#xff1a; 對訪問目標服務器進行統一入口控制&#xff08;例如 nginx、mysql、redis&#xff09;。使用 iptables 做 NAT 轉…

用HTML和CSS繪制佩奇:我不是佩奇

在這篇博客中&#xff0c;我將解析一個完全使用HTML和CSS繪制的佩奇(Pig)形象。這個項目展示了CSS的強大能力&#xff0c;僅用樣式就能創造出復雜的圖形&#xff0c;而不需要任何圖片或JavaScript。 項目概述 這個名為"我不是佩奇"的項目是一個純CSS繪制的卡通豬形象…

Spring 中 WebFlux 編寫一個簡單的 Controller

引言&#xff1a;響應式編程與 WebFlux 隨著應用程序需要處理大量并發請求的情況越來越多&#xff0c;傳統的 Servlet 編程模式可能無法滿足高效和低延遲的需求。為了應對這種情況&#xff0c;Spring 5 引入了 WebFlux&#xff0c;一個基于響應式編程的 Web 框架&#xff0c;旨…

React十案例下

代碼下載 登錄模塊 用戶登錄 頁面結構 新建 Login 組件&#xff0c;對應結構: export default function Login() {return (<div className{styles.root}><NavHeader className{styles.header}>賬號登錄</NavHeader><form className{styles.form}>&…