C#语言实现4K图片放大缩小和平移显示性能的速度测试

news2024/12/26 11:48:11

  在介绍“熊猫视图.Net图形控件”系列文章中,

【“熊猫视图.Net图形控件”介绍链接】https://blog.csdn.net/mosangbike/article/details/126026801有对显示图像文件的测试结果,当时测试的不太严谨。今天抽时间详细测试了一下。

从网上找了一张Jpg图像作为测试对象,分别为2K分辨率(文件大小为3.12MB);4K分辨率(文件大小为3.71MB)。

 

 

测试图片(2K图+4K图)百度网盘链接:

https://pan.baidu.com/s/1XufbFSyibj5gKrFapJJzNw?pwd=cb4m 
 

测试要求:

1、计时是从鼠标开始移动到结束写屏这个完整过程,而不是单纯的写屏速度

2、本控件大小最大化至接近2K显示器全屏大小,进行图片实时缩放平操作

3、帧率计算方法:1000 / (stopwatch.ElapsedMilliseconds - startMilliseconds)

测试电脑硬件配置A:

CPU为 Intel I7-2600K(4核心16线程) ,16G内存,显卡1050TI

[测试图像分辨率为2K和4K]

PanMode属性值为=Full时,稳定在25FPS

PanMode属性值为=Title时,稳定在35FPS

测试电脑硬件配置B:

CPU为AMD7950X(16核心32线程),64G内存,显卡3080TI

[测试图像分辨率为2K和4K]

PanMode属性值为=Full时,稳定在xxFPS左右

PanMode属性值为=Title时,稳定在xxFPS

测试结果:

1、显示图片速度和图片缩放后的大小几乎无关,图片很小时速度有点提升

2、显示2K图像与4K图像的帧率几乎完全相同

3、显示2K图时内存占用稳定在42MB左右,显示4K图时内存稳定在60MB内存左右

4、以上是在“熊猫视图.Net”控件中加载图片对象的测试,包括了附加代码的执行时间。如果单纯测试图片的缩放平速度,其最终帧率还要在现有测试结果上翻倍。

5、C#代码在10多年前的老cpu中也能快速的对4K图进行缩放平显示

有时间再对测试过程录屏上传到B站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/630687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亲宝宝 实习 面经

目录 1.char varchar 长度是字符数还是字节数 编码格式2.整型数据类型3.decimal及其实现4.慢查询5.索引失效6.explain7.for foreach性能差异8.数据库事务隔离级别9.binlog redolog 二阶段提交10.redis数据类型11.redis实现消息队列12.mybatis传参方法13.insert返回主键 1.char …

数据库实验一 数据库和数据表的建立、修改和删除

任务描述 本关任务:建立数据库 为了完成本关任务,你需要掌握: 如何创建数据库,显示已经建立的数据库 相关知识 创建数据库 创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理。 命令格式: CREATE DATABA…

粮油智能制造MES追溯系统源码

粮油生产加工MES追溯系统源码 粮油生产加工MES追溯系统,实现从种植、加工、检验、销售各个环节的数据采集。 粮油MES质量管控防伪溯源系统可广泛用于粮油生产加工领域。实现种植主体、种植基地、生产计划、压榨、精炼、包装、销售、物料管理、检验检测等各个环节的…

Java对象拷贝MapStruct

介绍 编译期即可生成对象复制代码。简单理解,功能定位org.springframework.beans.BeanUtils。 官网,GitHub-MapStruct。 入门 maven项目引入依赖: mapstruct:包含必要注解,如Mappingmapstruct-processor&#xff1…

Cereal 靶机

环境准备 靶机链接:百度网盘 请输入提取码 提取码:bcj2 虚拟机网络链接模式:桥接模式 攻击机系统:kali linux 2021.1 信息收集 1.探测目标靶机 arp-scan -l 2.nmap -p- -A -T4 192.168.1.107 探测目标靶机开放端口和服务 漏…

我是如何入门网络安全?有什么自学心得?

我是如何入门,网络安全的 那年我高三毕业的时候要填志愿前几天 我妈问我想学什么专业。 我说,想学网络设计、或者计算机、网络安全工程师 那时候还比较年轻,也对网络,计算机这方面感兴趣嘛 于是我妈和我爸决定让我学网管。 我…

卡尔曼滤波与组合导航原理(十三)无迹卡尔曼滤波UKF

一、蒙特卡洛仿真 蒙特卡洛仿真的基本原理是通过生成大量的随机样本,以近似地估计实际事件的概率和预测结果。 它是以蒙特卡洛赌场命名的,因为它使用随机数和概率统计的方法来模拟现实世界中的各种情况和结果,就像在赌场中抛骰子或发牌一样。…

LeetCode_Day6 | 有效的字母异位词、两个数组的交集、快乐数、两数之和!

LeetCode_哈希表 242.有效的字母异位词1.题目描述2.题解 349.两个数组的交集1.题目描述2.题解 202.快乐数1.题目描述2.题解思路(官方题解啊!看了好几遍真难) 3.算法4.代码实现5.复杂度分析 1.两数之和1.题目描述2.哈希表法3.代码实现 242.有效的字母异位词 1.题目描…

《三》TypeScript 中函数的类型

TypeScript 允许指定函数的参数和返回值的类型。 函数声明的类型定义:function 函数名(形参: 形参类型, 形参: 形参类型, ...): 返回值类型 {} function sum(x: number, y: number): number {return x y } sum(1, 2) // 正确 sum(1, 2, 3) // 错误。输入多余的或者…

CAN总线竞争与仲裁机制分析

1、CAN总线的接口 (1)CAN总线是串行、差分信号、异步总线,传输数据用两根信号线组成的差分信号线; (2)CANH和CANL是一组双绞线,两根线的电平差值表示逻辑1和0; 2、CAN总线显性、隐形电平 显性电平代表逻辑0,隐形电平代…

【Prometheus】mysqld_exporter+Grafana+AlertManager预警

环境 prometheus-2.44.0 mysqld_exporter-0.14.0 grafana-enterprise-9.1.2-1.x86_64.rpm alertmanager-0.25.0. 简介 mysql_exporter是用来收集MysQL或者Mariadb数据库相关指标的,mysql_exporter需要连接到数据库并有相关权限。既可以用二进制安装部署,…

08.JavaWeb-SpringMVC

2.SpringMVC Spring框架是一个开源的轻量级框架,SpringMVC是Spring的一个子框架 2.1SpringMVC工作机制 2.1.1 DispatcherServlet前端控制器 【不需要程序员开发】 作用:作为接受请求,响应结果,相当于转发器,中央处理…

『Jenkins』最新版Jenkins安装与Git集成—CentOS 7安装的详细教程

📣读完这篇文章里你能收获到 图文形式安装Jenkins在Jenkins集成Git并进行的配置感谢点赞收藏,避免下次找不到~ 文章目录 一、准备工作1. 安装Java Development Kit (JDK 11) 二、安装Jenkins1. 下载和安装最新版的Jenkins2. 启动Jenkins服务3. 将Jenkin…

【线性代数】

求解线性方程组 右乘向量/矩阵 把左边的矩阵拆成一个个列向量,右边的向量表示对左边列向量组的线性组合。 [ c o l 1 c o l 2 c o l 3 ] [ 3 4 5 ] [ 3 c o l 1 4 c o l 2 5 c o l 3 ] \left[\begin{array}{c} col_{1} & col_{2} & col_{3} \end{array}\…

类的三大特性——>封装

目录 理论知识 数据抽象: 封装: 细节知识 访问控制与封装 访问控制 STL使用封装 理论知识 类的基本思想是数据抽象、和封装。 数据抽象: 是一种依赖接口和实现分离的一种编程技术: 接口:包括用户所能执行的操…

点燃创作灵感:Prompt 实践指南揭秘!让 ChatGPT 更智能的六种策略(上)

在和 ChatGPT 对话中,Prompt 提示词的选择,如果遵循以下六种策略,我们将获得更好、更符合要求的回答。 这些策略,后几种更适合在编程调用 ChatGPT API 时使用,不过也适用直接和 ChatGPT 对话,让它更好的理解…

【LeetCode】HOT 100(7)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

C语言之基于链表实现排序

题目&#xff1a;通过链表实现从小到大进行排序 代码&#xff1a; #include <stdio.h> #include <stdlib.h> #define N 9//通过链表实现从小到大排序 typedef struct node {int data;struct node *next; } NODE;//fun函数实现是将头结点的单向链表节点…

chatgpt赋能python:Python怎么倒序输出中文字典?

Python怎么倒序输出中文字典&#xff1f; 作为一门高效、易上手的编程语言&#xff0c;Python在数据处理、科学计算、机器学习等领域都有广泛应用。而对于SEO工程师来说&#xff0c;Python也是一款非常实用的工具。那么今天&#xff0c;我们就来探讨一下Python怎么倒序输出中文…

Sqlite 比较,安装,使用,个人总结

文章目录 什么是sqlite&#xff0c;和别的数据库有什么差别&#xff1f;sqlite介绍什么是边缘存储&#xff1f; sqlite存储上限sqlite和别的数据库的区别 Sqlite本地安装sqlite 在C# .net webapi 软件中的使用 什么是sqlite&#xff0c;和别的数据库有什么差别&#xff1f; sq…