Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 21.03.06 22:11
Не знаю, зачем страшные переводы...
xor eax, eax
mov al, byte ptr [color+2]
mov green, eax

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 22.03.06 00:32
r = long and &HFF&
g = long and &HFF00&
b = long and &HFF0000&

2Sharp, надо быть проще ;)
movzx eax, byte ptr [color+2]
mov green, eax

Ответить

Номер ответа: 3
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 22.03.06 00:38
R = (GetCoolColor And &HFF)
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-сайт: hw.t-k.ru
 Профиль | | #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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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 медленнее.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам