当前位置:网站首页>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 :
边栏推荐
- setInterval定时器在ie不生效原因之一:回调的是箭头函数
- 为什么网站打开速度慢?
- 字符设备注册常用的两种方法和步骤
- About the practice topic of screen related to unity screen, unity moves around a certain point inside
- Program analysis and Optimization - 9 appendix XLA buffer assignment
- 多进程编程(四):共享内存
- Multiprocess programming (4): shared memory
- Markdown tutorial
- Shell 实现文件基本操作(切割、排序、去重)
- 【Pulsar文档】概念和架构/Concepts and Architecture
猜你喜欢
如何系统学习机器学习
2022上半年值得被看见的10条文案,每一句都能带给你力量!
One of the reasons why setinterval timer does not take effect in ie: the callback is the arrow function
logback配置文件
Hdu3507 (slope DP entry)
Sentry developer contribution Guide - configure pycharm
Pageoffice - bug modification journey
Logback configuration file
Rust string slicing, structs, and enumeration classes
ftrace工具的介绍及使用
随机推荐
NC50965 Largest Rectangle in a Histogram
Sentry developer contribution Guide - configure pycharm
MySQL 23 classic interview hanging interviewer
Shell 实现文件基本操作(切割、排序、去重)
Win10 多种方式解决无法安装.Net3.5的问题
kubernetes资源对象介绍及常用命令(五)-(NFS&PV&PVC)
【小程序项目开发-- 京东商城】uni-app之自定义搜索组件(中)-- 搜索建议
One of the reasons why setinterval timer does not take effect in ie: the callback is the arrow function
Multiprocess programming (I): basic concepts
The "2022 China Digital Office Market Research Report" can be downloaded to explain the 176.8 billion yuan market in detail
Vulkan-性能及精细化
[golang syntax] map common errors golang panic: assignment to entry in nil map
Preview word documents online
Markdown tutorial
DotNet圈里一个优秀的ORM——FreeSql
NC24840 [USACO 2009 Mar S]Look Up
1.12 - Instructions
Multiprocess programming (4): shared memory
Centos7 one click compilation to build MySQL script
Andorid gets the system title bar height