Страница: 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 медленнее.