翻譯|使用教程|編輯:楊鵬連|2021-02-01 11:41:19.337|閱讀 463 次
概述:本文主要介紹了高性能圖表控件LightningChart出現閃電圖全黑問題解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
LightningChart.NET完全由GPU加速,并且性能經過優化,可用于實時顯示海量數據-超過10億個數據點。 LightningChart包括廣泛的2D,高級3D,Polar,Smith,3D餅/甜甜圈,地理地圖和GIS圖表以及適用于科學,工程,醫學,航空,貿易,能源和其他領域的體繪制功能。
LightningChart.NET現已加入在線訂購,SignalTools , 12 months, WPF版本原價4105元,現價只需3499元,現在搶購立享優惠!立即購買>>
問題:使用LightningChart的winforms程序,出于某種原因我覆蓋了Form類中的CreateParams,并將LightingChart放在自定義面板中,然后LightningChart會變成全黑,我在某些地方做錯了嗎?附加的文件演示項目僅覆蓋CreateParams,并且在啟動時將顯示黑屏,然后轉到正確的內容,但是在我的程序中,它一直都是黑屏。
啟動
后正常啟動后為
覆蓋CreateParams的代碼
protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } }我們試圖通過您共享的測試項目來重現此問題,但無法產生圖表完全黑的情況。
項目中有兩種形式,ReadData和Form1。兩者都可以使用CreateParams添加。
ReadData首先為黑色,然后顯示圖表。
ReadData.PNG(21.89 KiB)查看1068次
Form1首先是透明的,然后顯示圖表。問題是否在您計算機上的測試項目中發生?如果是這樣,那么如果您忽略CreateParams,則圖表是否可以正常顯示?這將說明原因是否實際上是CreateParams。
完全黑圖的唯一已知情況是缺少一些參考。在測試項目中,它們似乎是正確的,但以防萬一您可以測試添加Arction.DirectXFiles.dll,DirectXInit.dll和Arction.MathCore.dll。
如前所述,如果缺少一些參考,可能會出現全黑圖表。我們的用戶手冊第29.1章提供了完整的參考列表。在開發時,不一定需要所有這些文件,例如,如果已經在計算機中的某個位置找到DirectX -files。引用所有列出的部件可以解決黑圖問題。
但是,如果渲染DeviceType SoftwareD11可以工作,但是HardwareD11或Hardware D9不能工作,則驅動程序本身可能有問題,因為它們可能有錯誤或過時。因此,將驅動程序更新到最新版本會有所幫助。
通常,可以在構造LightningChart之后立即偵聽ChartMessage -event并在其中調用CheckEngineResult()-方法來捕獲RenderingEngine錯誤。例如:
private void _chart_ChartMessage(ChartMessageInfo info) { info.ToString(); //=? log message if (info.MessageType == MessageType.RenderDeviceCreateFailed || info.MessageType == MessageType.MemoryAllocationError) { CheckEngineResult(); } } private void CheckEngineResult() { var results = _chart.GetLastEngineInitResults(); foreach (var engineInitResult in results) { string sLog = string.Format("Engine {0}. Success:{1}", engineInitResult.DeviceType, engineInitResult.Success); foreach (var exception in engineInitResult.Exceptions) { sLog = string.Format("{0}\n Exception: {1}", sLog, exception.Message); } System.Diagnostics.Debug.WriteLine(sLog); } }我們對此問題進行了更多調查,并且有可能重現了該問題。使用CreateParams時,應用程序中發生了以下情況嗎?
啟動應用程序后,將繪制諸如按鈕之類的WinForms控件,但圖表仍為黑色(下面的左圖)。短時間后,將繪制圖表(下圖為右圖)。
_chart.Paint += _chart_Paint; private void _chart_Paint(object sender, PaintEventArgs e) { _chart.Paint -= _chart_Paint; // Do this only once. foreach (var b in this.Controls.OfType<Button>()) { b.Visible = true; } }
如果對此有任何疑問,請以獲取更多信息。
想要購買LightningChart正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: