mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 11:41:17 +02:00
use memcpy instead of copying one byte at a time
This commit is contained in:
parent
7597088c7c
commit
0b0de96894
1 changed files with 10 additions and 15 deletions
|
@ -582,9 +582,7 @@ bool OctreePacketData::compressContent() {
|
||||||
|
|
||||||
if (compressedData.size() < (int)MAX_OCTREE_PACKET_DATA_SIZE) {
|
if (compressedData.size() < (int)MAX_OCTREE_PACKET_DATA_SIZE) {
|
||||||
_compressedBytes = compressedData.size();
|
_compressedBytes = compressedData.size();
|
||||||
for (int i = 0; i < _compressedBytes; i++) {
|
memcpy(_compressed, compressedData.constData(), _compressedBytes);
|
||||||
_compressed[i] = compressedData[i];
|
|
||||||
}
|
|
||||||
_dirty = false;
|
_dirty = false;
|
||||||
success = true;
|
success = true;
|
||||||
}
|
}
|
||||||
|
@ -598,25 +596,22 @@ void OctreePacketData::loadFinalizedContent(const unsigned char* data, int lengt
|
||||||
if (data && length > 0) {
|
if (data && length > 0) {
|
||||||
|
|
||||||
if (_enableCompression) {
|
if (_enableCompression) {
|
||||||
QByteArray compressedData;
|
|
||||||
for (int i = 0; i < length; i++) {
|
|
||||||
compressedData[i] = data[i];
|
|
||||||
_compressed[i] = compressedData[i];
|
|
||||||
}
|
|
||||||
_compressedBytes = length;
|
_compressedBytes = length;
|
||||||
|
memcpy(_compressed, data, _compressedBytes);
|
||||||
|
|
||||||
|
QByteArray compressedData;
|
||||||
|
compressedData.resize(_compressedBytes);
|
||||||
|
memcpy(compressedData.data(), data, _compressedBytes);
|
||||||
|
|
||||||
QByteArray uncompressedData = qUncompress(compressedData);
|
QByteArray uncompressedData = qUncompress(compressedData);
|
||||||
if (uncompressedData.size() <= _bytesAvailable) {
|
if (uncompressedData.size() <= _bytesAvailable) {
|
||||||
_bytesInUse = uncompressedData.size();
|
_bytesInUse = uncompressedData.size();
|
||||||
_bytesAvailable -= uncompressedData.size();
|
_bytesAvailable -= uncompressedData.size();
|
||||||
|
memcpy(_uncompressed, uncompressedData.constData(), _bytesInUse);
|
||||||
for (int i = 0; i < _bytesInUse; i++) {
|
|
||||||
_uncompressed[i] = uncompressedData[i];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (int i = 0; i < length; i++) {
|
memcpy(_uncompressed, data, length);
|
||||||
_uncompressed[i] = _compressed[i] = data[i];
|
memcpy(_compressed, data, length);
|
||||||
}
|
|
||||||
_bytesInUse = _compressedBytes = length;
|
_bytesInUse = _compressedBytes = length;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue