Страница: 1 |
Страница: 1 |
Вопрос: Long->RGB
Добавлено: 21.03.06 21:50
Автор вопроса: Fever
Private Type RGBQUAD
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
rgbReserved As Byte
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
func LongRGB(Color as long, Clr as rgbquad)
copymemory clr,Color,4
end func
Зачем страшные переводы?
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 21.03.06 22:11
Не знаю, зачем страшные переводы...
mov al, byte ptr [color+2]
mov green, eax
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 22.03.06 00:32
r = long and &HFF&
g = long and &HFF00&
b = long and &HFF0000&
2Sharp, надо быть проще
mov green, eax
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 22.03.06 00:38
G = (GetCoolColor And &HFF00& \ &H100
B = (GetCoolColor And &HFF0000) \ &H10000
Номер ответа: 4
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #4
Добавлено: 22.03.06 21:52
Опять. Сколько циклов жрет вся эта хня? Зачем такой ужас? ОДИН CopyMemory и все! Кому нужна асма если на VB нет? По-моему код ддя библиотеки кодов, т.к. у меня показывает прирост в 2.8 раза
Номер ответа: 5
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #5
Добавлено: 22.03.06 23:29
ой насмешил )
А ты знаешь сколько тактов стоит за этой копимемори, и + еще сколько на ее вызов ?
Номер ответа: 6
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #6
Добавлено: 23.03.06 11:00
Очевидно Fever имел ввиду ситуацию, применимую к VB. При чем тут асм - я сам не понял...
Номер ответа: 7
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #7
Добавлено: 23.03.06 12:23
Sharp, sne, вам на wasm или в соответствующий раздел этого форума
Номер ответа: 8
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #8
Добавлено: 23.03.06 16:42
Я только про VB. Сделайте бенчи на оба кейса и сравните дивайдеры...
Номер ответа: 9
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #9
Добавлено: 23.03.06 17:14
Fever
Ты сам то делал эти "бенчи" на оба "кейса"?
Если нет, то сделай и посмотри, во сколько раз CopyMemory медленнее.