CN114371878A - 一种基于无光标图层的display IP模块硬件鼠标实现方法 - Google Patents
一种基于无光标图层的display IP模块硬件鼠标实现方法 Download PDFInfo
- Publication number
- CN114371878A CN114371878A CN202210022700.5A CN202210022700A CN114371878A CN 114371878 A CN114371878 A CN 114371878A CN 202210022700 A CN202210022700 A CN 202210022700A CN 114371878 A CN114371878 A CN 114371878A
- Authority
- CN
- China
- Prior art keywords
- cursor
- hardware
- display
- layer
- mouse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims abstract description 14
- 230000007704 transition Effects 0.000 claims abstract description 4
- 101150117538 Set2 gene Proteins 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 abstract description 6
- 230000006872 improvement Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及输入设备控制领域,特别涉及一种基于无光标图层的display IP模块硬件鼠标实现方法。该包括以下步骤:S1.光标初始化,选择一图层锁定为光标图层,并申请自定义光标对象,存放所有光标属性;S2.对光标进行设置、移动、隐藏销毁的操作,并通过光标状态机处理各项操作状态的切换过渡;S3.光标的各项操作触发硬件寄存器操作,并根据硬件特性生成指令发送至display硬件进行显示。该方法性能优越,CPU占用率低,显存占用率低,跟硬件鼠标一样的性能,可自定义去除冗余重复硬件操作;可拓展性强,当应用层需要新的鼠标功能时通过修改驱动进行适配,不需要更新硬件;更能完全发挥硬件性能,比如某些场景不需要鼠标时,空出光标图层给其他用途使用。
Description
技术领域
本发明涉及输入设备控制领域,特别涉及一种基于无光标图层的display IP模块硬件鼠标实现方法。
背景技术
现在GPU的DP模块关于鼠标(光标图层)实现由以下方法和优缺点
(1)方案一:DP IP自带硬件鼠标
实现方式:DP自带鼠标图层功能,所有鼠标动作由硬件完成。
优点:这个直接由硬件支持,性能优越,不占用cpu资源,软件适配简单或者无需适配;
缺点:如果后面光标技术更新就要修改硬件去适应,比如现在drm里面有涉及的第二代光标接口的热点功能或以后的更加前沿功能就要通过更新硬件或者硬件固件实现,成本代价高。
(2)方案二:xserver自行实现soft cursor
实现方法:通过配置xorg配置文件支持,如果是厂商自研modesetting,修改对应应用层driver代码即可。
优点:无需驱动,硬件支持,只要相关xserver配置或者在应用层驱动适配即可;
缺点:纯CPU渲染后通过和主图层合成呈现,频繁对图层进行干预,浪费cpu资源,性能差,存在滞后拖影,光标消失等现象。
(3)方案三:framebuff 指定光标图层法
实现方法:驱动支持即可,所有plane初始化时指定一个图层为DRM_PLANE_TYPE_CURSOR 然后通过drm_crtc_init_with_planes初始化即可。
优点:开发简单,几行驱动层代码即可实现;
缺点:性能理论上介于硬件鼠标和软件鼠标之间,实际可能因为硬件和软件环境问题,体验比软件鼠标还差。
发明内容
本发明提供一种基于无光标图层的display IP模块硬件鼠标实现方法,旨在在驱动层实现硬件鼠标功能。
本发明提供一种基于无光标图层的display IP模块硬件鼠标实现方法,包括以下步骤:
S1.光标初始化,选择一图层锁定为光标图层,并申请自定义光标对象,存放所有光标属性;
S2.对光标进行设置、移动、隐藏销毁的操作,并通过光标状态机处理各项操作状态的切换过渡;
S3.光标的各项操作触发硬件寄存器操作,并根据硬件特性生成指令发送至display硬件进行显示。
作为本发明的进一步改进,所述步骤S1中,所述锁定的光标图层位于多个图层的最上端。
作为本发明的进一步改进,所述步骤S1中,光标的属性包括坐标、大小、crtc大小、光标对用户态内存、光标状态。
作为本发明的进一步改进,所述步骤S2中,对光标进行设置操作过程包括:
S21.通过接受到用户态调用cursor_set2/cursor_set回调函数进行处理,主要包括设置光标形状、大小、所在内存的对象。
作为本发明的进一步改进,所述步骤S2中,对光标进行移动操作过程包括:
S22.通过接受到用户态调用cursor_move回调进行处理,主要包括对光标移动处理、光标移动出界异常处理。
作为本发明的进一步改进,所述步骤S2中,对光标进行隐藏销毁操作过程包括:
S23.通过接受到用户态调用cursor_set2/cursor_set传递handle=0时进行光标隐藏,对于不传递handle=0的应用通过监控主图层状态进行联动销毁光标图层。
作为本发明的进一步改进,该方法还包括步骤:
S4.卸载释放资源,在应用层层面,在驱动协助时对光标对象申请的资源进行释放;在硬件层面,涉及到硬件状态时把对应寄存器复位。
本发明的有益效果是:
(1)性能优越,CPU占用率低,显存、内存占用率低,跟硬件鼠标一样甚至更好的性能,可自定义去除冗余重复硬件操作;
(2)可拓展性强,当应用层需要新的鼠标功能时可以通过修改驱动进行适配,不需要更新硬件;
(3)更能完全发挥硬件性能,比如某些场景不需要鼠标时,可以空出光标图层给其他用途使用。
附图说明
图1是本发明一种基于无光标图层的display IP模块硬件鼠标实现方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
目前部分display IP没有实现鼠标图层功能,或者已经实现鼠标图层功能但性能或功能存在缺陷,因此要在应用图层获取跟硬件鼠标一样的性能。
如图1所示,本发明的一种基于无光标图层的display IP模块硬件鼠标实现方法,其包括:
S1.初始化,选择合适plane作为光标图层,并申请自定义光标对象,用于存放所有光标属性,如坐标,大小,crtc大小,光标对用户态内存,光标状态等。
S21.光标设置,通过接受到用户态调用cursor_set2/cursor_set回调函数进行处理,主要是设置光标形状,大小,所在内存的对象等。
S22.光标移动,通过接受到用户态调用cursor_move回调进行处理,主要对光标移动进行处理,其中涉及光标移动出界异常处理。
S23.光标隐藏销毁,通过接受到用户态调用cursor_set2/cursor_set传递handle=0时进行光标隐藏,对于某些应用不传递handle=0的通过监控主图层状态进行联动销毁光标图层。
S3.光标状态机,合理处理光标设置、移动、移动出界、隐藏、销毁。各种状态的过渡平滑和正常。
步骤S1、S21~S23、S3均会触发硬件寄存器操作,其中该操作根据硬件特性进行指令精简,生成指令发送至display硬件进行显示,提高效率,根据选择的硬件方案自行配置,比如部分硬件支持vblank的要在对应周期内进行光标显示。
S4.卸载释放资源,在驱动协助时要对光标对象申请的资源进行释放,如果涉及到硬件状态要把对应寄存器复位。
本发明的方法实现方式为:类似硬件鼠标,应用层调用栈,在驱动层实现本来IP直接实现的功能,选择一个合适的图层锁定为光标图层,后续所有光标动作通过锁定图层实现,而且锁定的光标图层永远处于其他图层之上,方便光标显示。
本方法的优点为:
性能优越,CPU占用率低,显存(内存)占用率低,跟硬件鼠标一样甚至更好的性能,可自定义去除冗余重复硬件操作;可拓展性强,当应用层需要新的鼠标功能时可以通过修改驱动进行适配,不需要更新硬件;更能完全发挥硬件性能,比如某些场景不需要鼠标时,可以空出光标图层给其他用途使用。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,包括以下步骤:
S1.光标初始化,选择一图层锁定为光标图层,并申请自定义光标对象,存放所有光标属性;
S2.对光标进行设置、移动、隐藏销毁的操作,并通过光标状态机处理各项操作状态的切换过渡;
S3.光标的各项操作触发硬件寄存器操作,并根据硬件特性生成指令发送至display硬件进行显示。
2.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S1中,所述锁定的光标图层位于多个图层的最上端。
3.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S1中,光标的属性包括坐标、大小、crtc大小、光标对用户态内存、光标状态。
4.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S2中,对光标进行设置操作过程包括:
S21.通过接受到用户态调用cursor_set2/cursor_set回调函数进行处理,主要包括设置光标形状、大小、所在内存的对象。
5.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S2中,对光标进行移动操作过程包括:
S22.通过接受到用户态调用cursor_move回调进行处理,主要包括对光标移动处理、光标移动出界异常处理。
6.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S2中,对光标进行隐藏销毁操作过程包括:
S23.通过接受到用户态调用cursor_set2/cursor_set传递handle=0时进行光标隐藏,对于不传递handle=0的应用通过监控主图层状态进行联动销毁光标图层。
7.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,还包括步骤:
S4.卸载释放资源,在应用层层面,在驱动协助时对光标对象申请的资源进行释放;在硬件层面,涉及到硬件状态时把对应寄存器复位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210022700.5A CN114371878B (zh) | 2022-01-10 | 2022-01-10 | 一种基于无光标图层的display IP模块硬件鼠标实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210022700.5A CN114371878B (zh) | 2022-01-10 | 2022-01-10 | 一种基于无光标图层的display IP模块硬件鼠标实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114371878A true CN114371878A (zh) | 2022-04-19 |
CN114371878B CN114371878B (zh) | 2024-05-14 |
Family
ID=81144768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210022700.5A Active CN114371878B (zh) | 2022-01-10 | 2022-01-10 | 一种基于无光标图层的display IP模块硬件鼠标实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114371878B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560532A (zh) * | 2023-07-06 | 2023-08-08 | 麒麟软件有限公司 | 一种wayland环境下远程桌面获取硬件光标的实现方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794143A (zh) * | 2005-12-30 | 2006-06-28 | 中国科学院计算技术研究所 | 一种基于原语机制的外设网络调用方法 |
CN1975644A (zh) * | 2006-12-29 | 2007-06-06 | 中国电信股份有限公司 | 为遥控器提供鼠标功能的方法和装置 |
CN101488332A (zh) * | 2009-01-06 | 2009-07-22 | 东莞康特尔电子有限公司 | 一种基于WinCE***的屏幕显示加速混合***和方法 |
US20100156923A1 (en) * | 2008-12-24 | 2010-06-24 | Fujitsu Microelectronics Limited | Graphics display device and graphics display method |
CN102184070A (zh) * | 2010-06-22 | 2011-09-14 | 上海盈方微电子有限公司 | 一种硬件支持光标显示的方法及装置 |
CN102368211A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种使用osd加速实现硬件鼠标的方法 |
CN104281356A (zh) * | 2013-07-01 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 屏幕分享方法及装置 |
CN104991722A (zh) * | 2015-07-06 | 2015-10-21 | 天脉聚源(北京)传媒科技有限公司 | 光标显示方法及装置 |
CN106155654A (zh) * | 2015-04-03 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 屏蔽网页操作的方法、装置及电子设备 |
CN107589989A (zh) * | 2017-09-14 | 2018-01-16 | 晨星半导体股份有限公司 | 基于安卓平台的显示装置及其图像显示方法 |
CN110471584A (zh) * | 2019-07-05 | 2019-11-19 | 深圳市格上格创新科技有限公司 | 一种手持输入设备的鼠标光标控制方法和装置 |
CN112463086A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种显示控制方法及电子设备 |
CN112965617A (zh) * | 2021-01-15 | 2021-06-15 | 聚融医疗科技(杭州)有限公司 | 一种多屏超声诊断设备多鼠标输入控制方法与*** |
CN113805770A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 一种光标的移动方法及电子设备 |
-
2022
- 2022-01-10 CN CN202210022700.5A patent/CN114371878B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794143A (zh) * | 2005-12-30 | 2006-06-28 | 中国科学院计算技术研究所 | 一种基于原语机制的外设网络调用方法 |
CN1975644A (zh) * | 2006-12-29 | 2007-06-06 | 中国电信股份有限公司 | 为遥控器提供鼠标功能的方法和装置 |
US20100156923A1 (en) * | 2008-12-24 | 2010-06-24 | Fujitsu Microelectronics Limited | Graphics display device and graphics display method |
CN101488332A (zh) * | 2009-01-06 | 2009-07-22 | 东莞康特尔电子有限公司 | 一种基于WinCE***的屏幕显示加速混合***和方法 |
CN102184070A (zh) * | 2010-06-22 | 2011-09-14 | 上海盈方微电子有限公司 | 一种硬件支持光标显示的方法及装置 |
CN102368211A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种使用osd加速实现硬件鼠标的方法 |
CN104281356A (zh) * | 2013-07-01 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 屏幕分享方法及装置 |
CN106155654A (zh) * | 2015-04-03 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 屏蔽网页操作的方法、装置及电子设备 |
CN104991722A (zh) * | 2015-07-06 | 2015-10-21 | 天脉聚源(北京)传媒科技有限公司 | 光标显示方法及装置 |
CN107589989A (zh) * | 2017-09-14 | 2018-01-16 | 晨星半导体股份有限公司 | 基于安卓平台的显示装置及其图像显示方法 |
CN110471584A (zh) * | 2019-07-05 | 2019-11-19 | 深圳市格上格创新科技有限公司 | 一种手持输入设备的鼠标光标控制方法和装置 |
CN112463086A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种显示控制方法及电子设备 |
CN112965617A (zh) * | 2021-01-15 | 2021-06-15 | 聚融医疗科技(杭州)有限公司 | 一种多屏超声诊断设备多鼠标输入控制方法与*** |
CN113805770A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 一种光标的移动方法及电子设备 |
Non-Patent Citations (4)
Title |
---|
卓明敏等: "C-Free 5控制台光标控制功能的增加方法", 福建电脑, vol. 35, no. 6, pages 57 * |
崔婷等: "探析数字高清电视***集中图像引擎***的设计和实现", 信息记录材料, vol. 22, no. 9, 1 September 2021 (2021-09-01), pages 118 * |
李亚菲等: "交互式矢量化技术在水文站网分布图编绘中的应用", 科技视界, no. 10, 5 April 2016 (2016-04-05), pages 290 * |
董剑;张源;杨珉;: "利用硬件加速层优化Android显示***", 小型微型计算机***, no. 07, 15 July 2012 (2012-07-15), pages 1546 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560532A (zh) * | 2023-07-06 | 2023-08-08 | 麒麟软件有限公司 | 一种wayland环境下远程桌面获取硬件光标的实现方法 |
CN116560532B (zh) * | 2023-07-06 | 2023-09-26 | 麒麟软件有限公司 | 一种wayland环境下远程桌面获取硬件光标的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114371878B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7114633B2 (ja) | 画面ミラーリング方法、装置、端末及び記憶媒体 | |
US10602135B2 (en) | Video processing method, device and terminal | |
JP2000331150A (ja) | グラフィックス・システム、グラフィックス・オペレーションを実行する方法及びコンピュータ読取り可能媒体 | |
US20070101325A1 (en) | System and method for utilizing a remote memory to perform an interface save/restore procedure | |
CN106339061A (zh) | 一种移动终端及其运行应用程序的方法 | |
CN114371878A (zh) | 一种基于无光标图层的display IP模块硬件鼠标实现方法 | |
JP3797372B2 (ja) | 描画命令のフックを利用した画像の転送 | |
US9424814B2 (en) | Buffer display techniques | |
JP2006351013A (ja) | 電子装置において保存/リストア手順を行なうための方法及びシステム | |
CN102375759B (zh) | 利用有限状态机防止代码重入的方法 | |
CN111258668A (zh) | 一种gpu虚拟桌面动态切换显示的方法及装置 | |
CN101561780A (zh) | 一种使用文件来存储应用程序状态的方法 | |
JP5486135B2 (ja) | イメージオブジェクトの移動方法および装置 | |
WO2017129107A1 (zh) | 一种图像绘制的方法、相关设备及*** | |
JP3826941B2 (ja) | 描画命令のフックを利用した画像の転送 | |
JP3797371B2 (ja) | 描画命令のフックを利用した画像の転送 | |
US11677902B2 (en) | Data processing method and related product | |
JP2000029443A (ja) | アニメ―ション回路を具えるスクリ―ンドライバ | |
CN112182599A (zh) | 一种主密钥自动加载方法、装置、电子设备及可读存储介质 | |
WO1999040518A1 (en) | Method and apparatus to synchronize graphics rendering and display | |
CN114564289B (zh) | 任务切换方法、装置及电子设备 | |
CN110704208A (zh) | 多个***的消息处理方法、服务器及存储介质 | |
US7424638B2 (en) | Multipath processor with dedicated buses | |
CN111445381A (zh) | 一种基于exa的rga图形加速方法和存储设备 | |
JP3797373B2 (ja) | 描画命令のフックを利用した画像の転送 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |