+19
-6
@@ -34,8 +34,21 @@ int CANFrameModel::columnCount(const QModelIndex &index) const
|
|||||||
CANFrameModel::CANFrameModel(QObject *parent)
|
CANFrameModel::CANFrameModel(QObject *parent)
|
||||||
: QAbstractTableModel(parent)
|
: QAbstractTableModel(parent)
|
||||||
{
|
{
|
||||||
frames.reserve(50000000); //yes, preallocating a huge number of frames.
|
|
||||||
filteredFrames.reserve(50000000); //the goal is to prevent a reallocation from ever happening
|
if (QSysInfo::WordSize > 32)
|
||||||
|
{
|
||||||
|
qDebug() << "64 bit OS detected. Requesting a large preallocation";
|
||||||
|
preallocSize = 50000000;
|
||||||
|
}
|
||||||
|
else //if compiling for 32 bit you can't ask for gigabytes of preallocation so tone it down.
|
||||||
|
{
|
||||||
|
qDebug() << "32 bit OS detected. Requesting a much restricted prealloc";
|
||||||
|
preallocSize = 5000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
frames.reserve(preallocSize);
|
||||||
|
filteredFrames.reserve(preallocSize); //the goal is to prevent a reallocation from ever happening
|
||||||
|
|
||||||
dbcHandler = NULL;
|
dbcHandler = NULL;
|
||||||
interpretFrames = false;
|
interpretFrames = false;
|
||||||
overwriteDups = false;
|
overwriteDups = false;
|
||||||
@@ -159,7 +172,7 @@ void CANFrameModel::recalcOverwrite()
|
|||||||
while (frames.count() > lastUnique) frames.removeLast();
|
while (frames.count() > lastUnique) frames.removeLast();
|
||||||
|
|
||||||
filteredFrames.clear();
|
filteredFrames.clear();
|
||||||
filteredFrames.reserve(50000000);
|
filteredFrames.reserve(preallocSize);
|
||||||
|
|
||||||
for (int i = 0; i < frames.count(); i++)
|
for (int i = 0; i < frames.count(); i++)
|
||||||
{
|
{
|
||||||
@@ -360,7 +373,7 @@ void CANFrameModel::sendRefresh()
|
|||||||
beginResetModel();
|
beginResetModel();
|
||||||
filteredFrames.clear();
|
filteredFrames.clear();
|
||||||
filteredFrames.append(tempContainer);
|
filteredFrames.append(tempContainer);
|
||||||
filteredFrames.reserve(50000000);
|
filteredFrames.reserve(preallocSize);
|
||||||
lastUpdateNumFrames = filteredFrames.count();
|
lastUpdateNumFrames = filteredFrames.count();
|
||||||
endResetModel();
|
endResetModel();
|
||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
@@ -416,8 +429,8 @@ void CANFrameModel::clearFrames()
|
|||||||
frames.clear();
|
frames.clear();
|
||||||
filteredFrames.clear();
|
filteredFrames.clear();
|
||||||
filters.clear();
|
filters.clear();
|
||||||
frames.reserve(50000000);
|
frames.reserve(preallocSize);
|
||||||
filteredFrames.reserve(50000000);
|
filteredFrames.reserve(preallocSize);
|
||||||
this->endResetModel();
|
this->endResetModel();
|
||||||
lastUpdateNumFrames = 0;
|
lastUpdateNumFrames = 0;
|
||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ private:
|
|||||||
bool needFilterRefresh;
|
bool needFilterRefresh;
|
||||||
uint64_t timeOffset;
|
uint64_t timeOffset;
|
||||||
int lastUpdateNumFrames;
|
int lastUpdateNumFrames;
|
||||||
|
uint32_t preallocSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ DeltaModel::DeltaModel(QObject *parent)
|
|||||||
QVariant DeltaModel::headerData(int section, Qt::Orientation orientation, int role) const
|
QVariant DeltaModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||||
{
|
{
|
||||||
// FIXME: Implement me!
|
// FIXME: Implement me!
|
||||||
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
int DeltaModel::rowCount(const QModelIndex &parent) const
|
int DeltaModel::rowCount(const QModelIndex &parent) const
|
||||||
@@ -15,6 +16,8 @@ int DeltaModel::rowCount(const QModelIndex &parent) const
|
|||||||
if (!parent.isValid())
|
if (!parent.isValid())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
// FIXME: Implement me!
|
// FIXME: Implement me!
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,6 +26,8 @@ int DeltaModel::columnCount(const QModelIndex &parent) const
|
|||||||
if (!parent.isValid())
|
if (!parent.isValid())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
// FIXME: Implement me!
|
// FIXME: Implement me!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -837,7 +837,7 @@ void GraphingWindow::loadDefinitions()
|
|||||||
|
|
||||||
for (int b = 0; b < 8; b++)
|
for (int b = 0; b < 8; b++)
|
||||||
{
|
{
|
||||||
if (oldMask & (1 << b))
|
if (oldMask & (1ull << b))
|
||||||
{
|
{
|
||||||
gp.startBit = (8 * oldEnd) + b;
|
gp.startBit = (8 * oldEnd) + b;
|
||||||
break;
|
break;
|
||||||
@@ -846,7 +846,7 @@ void GraphingWindow::loadDefinitions()
|
|||||||
|
|
||||||
for (int c = 7; c >= 0; c--)
|
for (int c = 7; c >= 0; c--)
|
||||||
{
|
{
|
||||||
if ( oldMask & (1<<(((numBytes - 1) * 8) + c)) )
|
if ( oldMask & (1ull << (((numBytes - 1) * 8) + c)) )
|
||||||
{
|
{
|
||||||
gp.numBits -= (7-c);
|
gp.numBits -= (7-c);
|
||||||
break;
|
break;
|
||||||
@@ -865,7 +865,7 @@ void GraphingWindow::loadDefinitions()
|
|||||||
gp.numBits = 8;
|
gp.numBits = 8;
|
||||||
for (int b = 0; b < 8; b++)
|
for (int b = 0; b < 8; b++)
|
||||||
{
|
{
|
||||||
if (oldMask & (1 << b))
|
if (oldMask & (1ull << b))
|
||||||
{
|
{
|
||||||
gp.startBit = 8 * oldStart + b;
|
gp.startBit = 8 * oldStart + b;
|
||||||
gp.numBits = 8 - b;
|
gp.numBits = 8 - b;
|
||||||
|
|||||||
Reference in New Issue
Block a user