当前位置:网站首页>Vulkan is not a "panacea"“
Vulkan is not a "panacea"“
2022-07-03 00:43:00 【I haven't had quiet memories for a long time】
The previous articles , We introduced a new generation of graphics API-Vulkan Advantages and characteristics of . Because of its fine control and performance characteristics , Some little friends have raised questions “ Whether the existing OpenGL The project moved to Vulkan On ?”,“Vulkan How is it that the effect is not as good as expected ?”. Today, let's talk about this topic .
The first thing I want to say is Vulkan Not all rendering problems can be solved by replacing graphics API It can be easily solved , There may even be negative benefits and costs .
Scene one Business performance problems
The problems of their own business scenarios have not been effectively solved , It's a drop in the bucket just to rely on the promotion of the bottom . All ideas to solve performance are to measure first , Then optimize the existing problems of the project according to the measurement results , Then through the underlying foundation and general capabilities . And most of the scenes are their own problems that have not been well solved .
Scene two Problems in non rendered scenes
The current performance bottleneck is not rendering related , It may be data, business logic or even network .
Scene three Low latency and less jamming
If your application is concerned about tiny catons or frame rate jitters ,Vulkan You can explicitly control when time-consuming operations occur during scene rendering . This benefits from Vulkan Fine control and design philosophy , Compared with OpenGL Drivers have more advantages in managing state and resources through prediction .
Scene 4 Multithreaded rendering
If the bottleneck of program performance is CPU Graphics related parts on , that Vulkan There is likely to be an opportunity to improve its performance , because Vulkan It naturally supports multithreading , Can give full play to CPU The ability of , Compared with OpenGL Single threaded rendering of has more advantages . Or for the performance of a platform that wants to squeeze out relatively limited computing resources , that Vulkan Allowing the program to directly allocate and manage all resources may also help performance .
Scene five Performance bottleneck GPU
This is a scene that is easy to cause controversy and misunderstanding , I personally understand the essence of graphics API Is with the GPU A specification that drives communication ,GPU The driver is CPU And GPU The medium of communication , All of these ( graphics API、 drive ) It's all implemented in CPU End , Instead of GPU End .
therefore , Different graphics API It cannot be directly promoted GPU Own work efficiency and improve its load , Can only improve CPU End and GPU Efficiency of end-to-end communication , Collaborative approach .
Although it cannot directly affect GPU Performance of , But different graphics API Yes GPU The granularity of the control ability is different ,Vulkan Far ratio OpenGL Handled carefully , Can also be used ( customized ) added GPU End function , So in some scenes, replace with Vulkan It can provide us with more control means , Is likely to help improve GPU Efficiency of execution .
Scene six Ecology and cost
Whether it's technology ecology or human cost ,Vulkan Are relatively at a disadvantage , So we must consider this when doing project migration , You can't follow blindly .
Of course, there are thousands of business scenarios , Developers need to consider many aspects to seek the greatest ROI.
attach :
边栏推荐
- 【AutoSAR 十 IO架构】
- The most painful programming problem in 2021, adventure of code 2021 Day24
- 【Pulsar文档】概念和架构/Concepts and Architecture
- 在线预览Word文档
- 程序分析与优化 - 9 附录 XLA的缓冲区指派
- Overlay of shutter (Pop-Up)
- Win10 多种方式解决无法安装.Net3.5的问题
- [shutter] image component (load network pictures | load static pictures | load local pictures | path | provider plug-in)
- About the practice topic of screen related to unity screen, unity moves around a certain point inside
- FAQ | FAQ for building applications for large screen devices
猜你喜欢

MySQL 23道经典面试吊打面试官

Sentry developer contribution Guide - configure pycharm

Explain in detail the significance of the contour topology matrix obtained by using the contour detection function findcontours() of OpenCV, and how to draw the contour topology map with the contour t

FAQ | FAQ for building applications for large screen devices

【AutoSAR 八 OS】

Linux软件:如何安装Redis服务

antv x6节点拖拽到画布上后的回调事件(踩大坑记录)

University of Oslo: Li Meng | deep reinforcement learning based on swing transformer

Use Jenkins II job

多进程编程(二):管道
随机推荐
LeedCode1480. Dynamic sum of one-dimensional array
Markdown使用教程
Briefly talk about other uses of operation and maintenance monitoring
[jetcache] jetcache configuration description and annotation attribute description
Multiprocess programming (4): shared memory
【AutoSAR 二 AppL概述】
Markdown tutorial
【AutoSAR 八 OS】
LeedCode1480.一维数组的动态和
Multiprocess programming (II): Pipeline
setInterval定时器在ie不生效原因之一:回调的是箭头函数
【日常训练】871. 最低加油次数
node_ Modules cannot be deleted
Introduction of UART, RS232, RS485, I2C and SPI
Web2.0的巨头纷纷布局VC,Tiger DAO VC或成抵达Web3捷径
lex && yacc && bison && flex 配置的問題
Rust ownership (very important)
Array common operation methods sorting (including ES6) and detailed use
为什么网站打开速度慢?
【AutoSAR 四 BSW概述】