|
Библиотеки Сторонние библиотеки для Blitz |
11.04.2009, 12:22
|
#1
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Speed Text
SpeedText-это библиотека которая позволяет загрузить шрифты в Blitz3d и визулализировать их на максимальной скорости.Функции SpeedText намного шустрее стандартных Blitz3d.Не мало важным является и то,что она абсолютно бесплатная и лека в освоении.
SpeedText.zip
(документация и примеры на месте)
Автор:
ChristianK
http://www.blitzforum.de/forum/viewtopic.php?t=27501
Последний раз редактировалось Dzirt, 11.04.2009 в 19:54.
|
(Offline)
|
|
11.04.2009, 12:37
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Speed Text
гы. на моем буке он медленнее в 5 раз. чем стандартный блиц.
; SpeedText - Sample 3
; SpeedText VS Blitz-Text
Graphics3D 800, 600, 0, 2
ST_Initialize( BackBuffer( ) )
Local font_blitz = LoadFont( "Tahoma", 13 )
Local font_st = ST_LoadFont( "Tahoma", 13, 0, 0, 0, ST_NONANTIALIASED )
SetFont font_blitz
ST_SetFont font_st
Local mode
While Not KeyDown( 1 )
Cls
time = MilliSecs( )
ST_LockBuffer()
For i=1 to 1000
x = rnd(0,700)
y = rnd(0,580)
ST_TextColor(rnd(0,255),rnd(0,255),rnd(0,255))
ST_DrawTextFast x, y, "Hellow World!", ST_LEFT, ST_TOP
Next
ST_UnlockBuffer()
Text 10, 10, "Time: " + ( MilliSecs( ) - time ) + " ms - Press Space to change mode"
Flip 0
Wend
End
с фаст-ом он стал быстрее где то в 3 раза. но все равно медленно - тыща выводов за 900мс.
для примера в сижеле в самом быстром режиме - это же занимает всего 1 мс.
Последний раз редактировалось HolyDel, 11.04.2009 в 12:47.
|
(Offline)
|
|
11.04.2009, 12:39
|
#3
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: Speed Text
О_о не может такого быть.
3 семпл.Сначала стандартный Blitzевской текст......нажимаеш спейс и текст с либы.
|
(Offline)
|
|
11.04.2009, 12:49
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Speed Text
именно. я сам удвивлся.
но если блицовый вариант занимал где то 60-70 мс, то спид-текста все 340-350мс.
может из-за висты, может из-за встроенной видеокарты, может из-за луны, вошедшей в фазу скорпина.. незнаю из-за чего, но спид-текст работает у меня медленнее.
|
(Offline)
|
|
11.04.2009, 12:52
|
#5
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: Speed Text
хмммм.странно....я уже пробывал на 3 машинах.И всегда спид текст быстрее.У мну например стандартный выводится за 20-26мс,а спид текст за 0-1мс.
...испытал твой семпл.
Стандартный:50-56мс.
СпидТекст: 6-8мс.
|
(Offline)
|
|
11.04.2009, 13:06
|
#6
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: Speed Text
Вообщем ребят,прошу кому не лень потестить и потом постануть результат.
|
(Offline)
|
|
11.04.2009, 13:08
|
#7
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Speed Text
вот вам ексешничек:
|
(Offline)
|
|
11.04.2009, 13:19
|
#8
|
Бывалый
Регистрация: 20.11.2007
Сообщений: 663
Написано 145 полезных сообщений (для 176 пользователей)
|
Ответ: Speed Text
Blitz - 215-225
SpeedText - 18-19
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.04.2009, 13:20
|
#9
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Speed Text
похоже из-за висты. на другой машине (с хп на борту) скорость спидтекста в 30 раз выше примерно. но все же примерно в 8 раз ниже сижелевской.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.04.2009, 13:26
|
#10
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: Speed Text
Виста-всему голова...но голова эта из жопы растет.
|
(Offline)
|
|
Эти 9 пользователя(ей) сказали Спасибо Dzirt за это полезное сообщение:
|
|
11.04.2009, 13:42
|
#11
|
AnyKey`щик
Регистрация: 12.02.2009
Сообщений: 6
Написано 2 полезных сообщений (для 6 пользователей)
|
Ответ: Speed Text
Blitz ~270-275
SpeedText ~9-10
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.04.2009, 13:57
|
#12
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Speed Text
Blitz3 - 47-103 (дико скачет)
SpeedText - 4-5
Sigel 0.6-0.5
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.04.2009, 14:23
|
#13
|
Бывалый
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений (для 858 пользователей)
|
Ответ: Speed Text
WinXP
Blitz3 - 42-59
SpeedText - 1-2
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.04.2009, 14:27
|
#14
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: Speed Text
Ну все вроде,опрос можно окончить.Результат очевиден.
|
(Offline)
|
|
11.04.2009, 14:49
|
#15
|
|
Ответ: Speed Text
Да это элементарная GDI обертка
Примерно так на PureBasic будет
Global target.IDIRECTDRAWSURFACE7
Global context.l
Global screen.RECT
Global color.l
Global font.l
ProcedureDLL ST_Initialize(*buffer.LONG)
*buffer + 3
target = *buffer\l
color = $FFFFFF
EndProcedure
ProcedureDLL ST_LoadFont(name.s, height, bold, italic, underline, strikeout, quality)
ProcedureReturn CreateFont_(height, 0, 0, 0, (bold & 1) * #FW_NORMAL, italic & 1, underline & 1, strikeout & 1, #DEFAULT_CHARSET, #OUT_DEFAULT_PRECIS, #CLIP_DEFAULT_PRECIS, quality, #DEFAULT_PITCH, name)
EndProcedure
ProcedureDLL ST_FreeFont(handle)
DeleteObject_(handle)
EndProcedure
ProcedureDLL ST_SetFont(handle)
font = handle
EndProcedure
ProcedureDLL ST_TextColor(red, green, blue)
color = (red << 16) | (green << 8) | blue
EndProcedure
ProcedureDLL ST_LockBuffer()
ProcedureReturn target\GetDC(@context)
EndProcedure
ProcedureDLL ST_UnlockBuffer()
ProcedureReturn target\ReleaseDC(context)
EndProcedure
ProcedureDLL ST_DrawTextFast(xpos, ypos, text, xalign, yalign)
Static length.l, bound.RECT, size.RECT
If (context)
length = lstrlen_(text)
GetTextExtentPoint32_(context, text, length, size)
With bound
\left = xpos
\top = ypos
\right = xpos + size\cx
\bottom = ypos + size\cy
EndWith
SetBkMode_(context, #TRANSPARENT)
SetTextColor_(context, color)
SelectObject_(context, font)
DrawText_(context, text, length, bound, xalign | yalign)
EndIf
EndProcedure
потому не стоит ее юзать
|
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:44.
|