999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

仿真軟件中的動態圖像卡頓現象消除方法

2018-04-14 02:06:00李永成李孟宇
計算機時代 2018年4期
關鍵詞:進程按鈕文本

李永成,李孟宇

(1.金肯職業技術學院,江蘇 南京 211156;2.阿德萊德大學)

0 引言

仿真軟件除了要求仿真結果符合或接近實際的結果外,圖形界面顯示的流暢性也是一個重要的考量指標。對于圖形顯示不流暢而出現的卡頓現象,文獻[1]提出了多層貼圖和增加編輯圖層的方案,刷新時只對有圖元變化的圖層進行重繪,并給出了在QT環境下的編程實例,結果證明其方法是可行的。也有文獻[2]提出采用多線程技術解決方案,將系統任務分散到不同的線程來完成,有助于提高CPU的利用率,從而減小顯示滯后、卡頓甚至系統死機等現象。

1 卡頓現象原因分析

影響圖形顯示流暢性的因素可以分為兩種,第一種因素是圖形本身,對于需要處理復雜大批量圖元的繪圖系統,若其動態刷新效率不高,將難以滿足實時性要求,如一些視頻播放軟件或游戲軟件等,由于緩沖時延的關系,CPU占用較多,出現畫面斷續顯示的情況。第二種因素是運算過程,若需要進行大量的數據運算,并且圖形是根據運算結果進行動態顯示時,運算過程將引起卡頓現象。一個典型例子就是電機控制仿真,當按下一個按鈕或者開關時,軟件需要進行邏輯判斷,若線路比較復雜,涉及到大量的循環語句,CPU占用時間較長,這種情況下大部分時間畫面是流暢的,只是在仿真動作期間出現卡頓。卡頓現象不僅影響到使用者的視覺效果,還會造成使用者無法判斷是軟件本身的缺陷還是實際結果。

對第二種因素引起的卡頓問題,多層貼圖和增加編輯圖層的方案及多線程方案均不能解決,原因是這兩種方案并不能解決運算過程引起的線程阻塞問題。

基于上述分析,本文提出采用多進程技術解決方案。

2 多進程解決方案

多進程中,每個進程都有自己的地址空間,各進程是并發執行的,各進程不是共享地址空間[3-5],在效率上雖然比多線程低,但由于不共享地址空間,所以不會像多線程那樣出現阻塞現象。

本方案將圖像或圖形分成兩類:靜態和動態。靜態圖與仿真時間無關,如按鈕、交流接觸器等,動態圖與仿真時間相關,時間上是連續變化的,如電機風葉的旋轉圖形。方案中,主進程顯示靜態圖并進行數值或邏輯值運算,輔進程根據主進程的運算結果,實時顯示動態圖,動態圖疊加于靜態圖之上,相當于兩個圖層,主進程的運算時間不管多長,輔進程照樣執行,不會發生阻塞,因此可以有效減少卡頓現象。

3 編程實驗

基于上述方案,在VC++6.0下編寫電機控制仿真軟件實驗程序。

3.1 控制過程概述

在電機控制[6]仿真實驗中,將電路分為主電路與控制電路兩部分。當按鈕狀態發生變化,如按下或釋放時,對電路的連接關系進行判斷,根據判斷結果決定電機的旋轉狀態。如按下啟動按鈕后,若交流接觸器線圈兩端分別連接到三相電源,則線圈得電,交流接觸器主觸頭閉合,然后再判斷電機的三相是否與電源三相連接,若三相均連接,則電機根據相序進行正向或反向旋轉。電機旋轉分別有啟動、平穩運行、制動三個階段。啟動階段,電機加速旋轉,制動階段,電機快速停止。電機運行狀態用風葉旋轉表示,電機控制示意圖如圖1所示。

圖1 電機控制示意圖

3.2 多進程編程實驗

本實驗在主進程motor.exe進行元器件的放置、布局及連線等操作完成電氣原理圖繪制。元器件以靜態位圖或矢量圖顯示,觸頭的閉合與釋放動作是通過兩幅靜態位圖切換來完成。設置一個仿真菜單,仿真時根據按鈕和觸頭等元件的動作刷新位圖,同時啟動輔助進程,輔進程顯示風葉旋轉狀態。程序框圖如圖2。

圖2 多進程電機仿真流程

3.2.1 輔進程的開啟

電氣原理圖繪制完成后,在選擇仿真菜單進行電氣仿真時開啟輔進程fan.exe,代碼如下:

3.2.2 進程間的通信[7-9]

進程間的通信采用文件方式進行,主進程motor.exe輸出文本,文件中有電機位置、電機正反轉標記、圖像的縮放倍數、電機啟動及停止標記、電機刪除等信息,當這些信息發生變化時對文本進行更新。在輔進程fan.exe中通過定時器函數讀取文本信息,定時器設置為50ms。輔進程的定時器始終開啟,這樣更新信息就能被實時讀取。

3.2.3 輔進程設計原理

圖3 fan.exe設計流程

輔進程fan.exe是一個基于對話框[10]的程序,在fan.exe進程中,首先隱藏主窗體,然后在函數InitInstance中創建一個不含菜單和任務欄的透明窗體,并設置為最高窗口,使其始終在主窗口之上,風葉就繪制在這個窗體上。定時器函數除讀取主進程保存的通信文本外,還計算電機風葉旋轉的速度及加速度,透明窗體在電機相應位置上顯示。fan.exe的設計流程框圖見圖3。

需要說明的是,由于兩個進程中的圖形坐標系不同,要使用ClientToScreen函數將電機客戶坐標轉換為屏幕坐標,否則風葉顯示的位置將不正確。

3.2.4 輔進程的退出

輔進程的存在時間為輔進程開啟到主進程結束,主進程關閉時,向前述(3.2.3)通信文本輸出程序關閉標志,輔進程讀到該標志后,關閉定時器并退出。

主進程存在期間,當仿真停止或電機刪除時,向通信文本輸出電機刪除標志,此時輔進程不應該退出,僅摧毀顯示電機風葉的透明窗體。

3.2.5 卡頓測試

在fan.exe中加入卡頓測試代碼,代碼中將風葉旋轉角度(alpha)記錄在一個文件中。測試時分別在啟動、平穩運行、制動三個階段,按下按鈕或其他活動元件(指含觸頭動作的手動元件),連接關系將重新判斷。在Matlab下根據記錄文本的數據繪制旋轉角度增量(Δalpha)曲線(圖4)。圖中的“1、2、3、4”標記分別表示電機啟動、平穩運行、制動、停止四個階段。

圖4 多進程風葉旋轉角度增量曲線

4 實驗結果分析

圖4的啟動階段,旋轉角度增量呈線性增加,表明風葉旋轉速度逐步加快。平穩運行階段的角度增量為0.8,表明風葉勻速旋轉。制動階段的增量急劇減小,表明電機快速制動。標記4出現的波動是由于電機制動時引起的抖動現象。

在圖4的各階段中,按下控制按鈕后,電機旋轉角度增量沒出現0的情況,說明沒有出現卡頓現象。在整個運行過程中,視覺上感覺不到圖像卡頓,畫面流暢。

5 結論

針對多線程或單進程多層貼圖方法不能有效消除數據運算引起的卡頓現象問題,本文提出了多進程解決方案,方案中將運算過程放于主進程,動態圖像的顯示過程放于輔進程,并以電機控制仿真實驗對方案進行了驗證。實驗表明,多進程方法對解決該問題是有效的。

研究中發現,當主進程因意外終止時,輔進程不能同步結束,需要利用資源管理器來中止,這個問題有待今后研究和解決。

參考文獻(References):

[1]鄧子強,王玉玫,鄧紅艷等.基于qt繪圖系統的圖形應用優化研究與實現[J].軟件,2016.37(12):59-62

[2]王立偉,劉常波,胡坤等.基于QNX的多線程技術在船舶嵌入式操縱訓練系統中的應用[J].現代電子技術,2017.40(20):91-94

[3]張偉,許海洋,周百順.多進程共享的高效哈希表[J].計算機工程與設計,2017.38(5):1190-1195

[4]賈丕軍,賈杰.一種多功能紅外圖像播放軟件的設計實現[J].電子設計工程,2014.22(11):185-187

[5]陶志勇,王如龍,張錦.基于多進程的區域間通信方法[J].計算機系統應用,2013.22(4):174-177

[6]鄧干銘.電機控制的常用操作技巧與方法分析[J].長沙鐵道學院學報(社會科學版),2014.15(4):337-338

[7]田偉,余僉,趙祎驊.VC中利用內存映射文件實現進程間通信的方法[J].電腦編程技巧與維護,2017.12:24-26

[8]蘇紅旗,劉官樹.一種基于內存共享的高效進程間通信機制[J].新型工業化,2014.2:67-73

[9]陶志勇,王如龍,張錦.基于多進程的區域間通信方法[J].計算機系統應用,2013.22(4):174-177

[10]蔡智明,楊秋瑾.用VC++實現對話框的界面設計[J].電腦編程技巧與維護,2013.11:12-16

猜你喜歡
進程按鈕文本
這些按鈕能隨便按嗎?
當你面前有個按鈕
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
如何快速走進文本
語文知識(2014年1期)2014-02-28 21:59:13
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
主站蜘蛛池模板: 国产一区免费在线观看| 黄色一及毛片| 亚洲精品色AV无码看| 欧美中文一区| 久久精品中文字幕免费| 免费国产高清视频| 日本欧美精品| 欧美色视频日本| 美女毛片在线| 久久性妇女精品免费| 激情网址在线观看| 国产美女在线免费观看| 999福利激情视频| 国产爽爽视频| 久久久久国产一级毛片高清板| 久久美女精品国产精品亚洲| 欧美成人一级| 欧美色图久久| 一本一道波多野结衣av黑人在线| 天天摸天天操免费播放小视频| 国产亚洲视频免费播放| 国产欧美在线视频免费| 亚洲第一成年人网站| 2021最新国产精品网站| 日韩无码黄色网站| 欧美专区在线观看| 又粗又大又爽又紧免费视频| 欧美激情综合| 亚洲成人免费看| 99这里只有精品免费视频| 色偷偷一区二区三区| 精品伊人久久久大香线蕉欧美| 99re视频在线| 99精品这里只有精品高清视频| 99热这里只有精品免费国产| 久久久无码人妻精品无码| 亚洲男人在线天堂| 久久久久国产精品熟女影院| 国产福利在线观看精品| 亚洲开心婷婷中文字幕| av在线手机播放| 国模视频一区二区| 原味小视频在线www国产| 视频在线观看一区二区| 毛片网站在线播放| 色综合久久综合网| 日韩国产 在线| 国产一区二区三区视频| 91免费精品国偷自产在线在线| 国产99视频在线| 亚洲精品桃花岛av在线| 免费无码又爽又刺激高| 漂亮人妻被中出中文字幕久久| 国产精品女熟高潮视频| 一级成人a毛片免费播放| 亚洲中字无码AV电影在线观看| 亚洲无码高清视频在线观看| 成人福利在线免费观看| 在线国产毛片| 亚洲欧美成人在线视频| 91精品国产麻豆国产自产在线| 色哟哟国产成人精品| 自拍偷拍欧美| 亚洲欧美另类中文字幕| 一本二本三本不卡无码| 福利小视频在线播放| 狠狠色香婷婷久久亚洲精品| 亚洲成人在线网| 国产精品一区不卡| 黄色污网站在线观看| 欧美午夜网站| 亚洲精品综合一二三区在线| 欧美精品亚洲精品日韩专区| 99久久无色码中文字幕| 亚洲Aⅴ无码专区在线观看q| 中文字幕亚洲精品2页| 国产在线视频二区| www.youjizz.com久久| 国产精品太粉嫩高中在线观看| 久久九九热视频| 九九线精品视频在线观看| 亚洲狼网站狼狼鲁亚洲下载|