协程架构重构成功, 下一步准备指针交换 无锁化重构

This commit is contained in:
2026-07-23 08:51:05 +08:00
parent 8c8cc8707b
commit c3e96d2f86
13 changed files with 475 additions and 230 deletions
+6 -7
View File
@@ -1,8 +1,10 @@
#pragma once
#include "asio.hpp"
#include "Plot.h"
#include <QApplication>
#include <QThread>
#include <memory>
namespace YSG {
@@ -11,14 +13,11 @@ namespace YSG {
Plot *q{};
int mRefreshTimesPreSecond = 30;
TimerThread* mTimerThread{};
QTimer *mTimer{};
enum PlotState { NeedToRender, NeedToPaint};
QAtomicInteger<int> mPlotState = NeedToRender;
std::unique_ptr<asio::steady_timer> mRenderTimer;
bool mRenderEnabled = false;
QSize mRenderSize;
RenderAble::RenderPipeline mPipeline;
SpinLock mBufferLock, mRenderLock, mPrepareDataLock, mMustPrepareDataLock;
//QPixmap *mRenderBuffer{}, mPaintBuffer;
//QImage *mRenderBuffer{}, mPaintBuffer;
QImage *mRenderBuffer{};
QPixmap mPaintBuffer{};
QColor mBackground = Qt::black;
PerformanceShower *mShower{};
};