forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=28)
-   -   Speed Text (http://forum.boolean.name/showthread.php?t=8185)

Dzirt 11.04.2009 12:22

Speed Text
 
Вложений: 1
SpeedText-это библиотека которая позволяет загрузить шрифты в Blitz3d и визулализировать их на максимальной скорости.Функции SpeedText намного шустрее стандартных Blitz3d.Не мало важным является и то,что она абсолютно бесплатная и лека в освоении.

Вложение 5900
(документация и примеры на месте)

Автор:
ChristianK
http://www.blitzforum.de/forum/viewtopic.php?t=27501

HolyDel 11.04.2009 12:37

Ответ: 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 мс.

Dzirt 11.04.2009 12:39

Ответ: Speed Text
 
О_о не может такого быть.

3 семпл.Сначала стандартный Blitzевской текст......нажимаеш спейс и текст с либы.

HolyDel 11.04.2009 12:49

Ответ: Speed Text
 
именно. я сам удвивлся.
но если блицовый вариант занимал где то 60-70 мс, то спид-текста все 340-350мс.
может из-за висты, может из-за встроенной видеокарты, может из-за луны, вошедшей в фазу скорпина.. незнаю из-за чего, но спид-текст работает у меня медленнее.

Dzirt 11.04.2009 12:52

Ответ: Speed Text
 
хмммм.странно....я уже пробывал на 3 машинах.И всегда спид текст быстрее.У мну например стандартный выводится за 20-26мс,а спид текст за 0-1мс.


...испытал твой семпл.
Стандартный:50-56мс.
СпидТекст: 6-8мс.

Dzirt 11.04.2009 13:06

Ответ: Speed Text
 
Вообщем ребят,прошу кому не лень потестить и потом постануть результат.

HolyDel 11.04.2009 13:08

Ответ: Speed Text
 
Вложений: 1
вот вам ексешничек:

newman 11.04.2009 13:19

Ответ: Speed Text
 
Blitz - 215-225
SpeedText - 18-19

HolyDel 11.04.2009 13:20

Ответ: Speed Text
 
похоже из-за висты. на другой машине (с хп на борту) скорость спидтекста в 30 раз выше примерно. но все же примерно в 8 раз ниже сижелевской.

Dzirt 11.04.2009 13:26

Ответ: Speed Text
 
Вложений: 1
Виста-всему голова...но голова эта из жопы растет.
Вложение 5902

DartWaider aka Yxo 11.04.2009 13:42

Ответ: Speed Text
 
Blitz ~270-275
SpeedText ~9-10

SBJoker 11.04.2009 13:57

Ответ: Speed Text
 
Blitz3 - 47-103 (дико скачет)
SpeedText - 4-5
Sigel 0.6-0.5

Mhyhr 11.04.2009 14:23

Ответ: Speed Text
 
WinXP
Blitz3 - 42-59
SpeedText - 1-2

Dzirt 11.04.2009 14:27

Ответ: Speed Text
 
Ну все вроде,опрос можно окончить.Результат очевиден.

Venom2 11.04.2009 14:49

Ответ: 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

потому не стоит ее юзать :)

Dzirt 11.04.2009 14:57

Ответ: Speed Text
 
Не согласен.Элементарная или не элементарная,либа текст быстрее рисует чем сам блитц.Кому влом писать самому,или покупать нечто круче, пусть юзает на здоровье.Поэтому для оптимизации своей проги ее все таки нада юзать.

Mhyhr 11.04.2009 15:01

Ответ: Speed Text
 
Лично я возьму либу, т.к. в PureBasic'e не шпарю, всё просто и эффект на лицо...)
Осталось потестить на 7й винде, т.к. может не будет косяков как у висты..

Dzirt 11.04.2009 15:08

Ответ: Speed Text
 
pinqin
Насчет твоей подписи:
"Даже быстро падая со стула я успеваю произнести слово Пи....))"


А кстати,здесь речь шла о Sigel...он круче FastTexta? Впервые про него слышу...

IGR 11.04.2009 15:10

Ответ: Speed Text
 
http://forum.boolean.name/showthread...newpost&t=4960

ABTOMAT 11.04.2009 15:18

Ответ: Speed Text
 
Работает почти так же быстро, как FastText Вострикова.
525 против 545. На блице 24.
Хм, я думаю, неплохая б/п (надеюсь?) замена для тех кто не хочет юзать FT.
Хотя конечно отсутствие возможности вертеть текст, выставлять сглаживание и т.д. + тормоза на Висте удручают. Короче, я остаюсь на FT. Функционал либы уныл.

Цитата:

А кстати,здесь речь шла о Sigel...он круче FastTexta? Впервые про него слышу...
Скажите, столы круче стульев?

IGR 11.04.2009 15:29

Ответ: Speed Text
 
Цитата:

Скажите, столы круче стульев?
что держит крепче: гвоздь вкрученый отверткой или шуруп забитый молотком ??

Dzirt 11.04.2009 15:30

Цитата:

Сообщение от ABTOMAT (Сообщение 103458)
Скажите, столы круче стульев?

Я думал sigel єто некий аналог SpeedText(у)....не придерайся ;)

Цитата:

Сообщение от IGR (Сообщение 103461)
что держит крепче: гвоздь вкрученый отверткой или шуруп забитый молотком ??

Шуруп конечно!) Попробуй отверткой гвоздь вкрутить....ну впринцеппе смотря куда.;)

Yalenz 11.04.2009 16:53

Ответ: Speed Text
 
А вообще можно Сигел скачать? Или он только в разработке?

HolyDel 11.04.2009 17:49

Ответ: Speed Text
 

я не могу тупо выложить набор .cpp, .h и .lib файлов, и разбирайся юзер как хочешь.

нужно написать инсталлер, накатать ряд примеров (самых простых), сделать визарды нормальные, а то текущий уже устарел и еще кучу вещей, которые мне пока делать нет смысла. двиг еще слишком многого не умеет, даже из базового функционала. как прикручу скелетку более менее (чтобы хотя бы анимации с разных файлов грузить). сделаю парент-чилд систему нормальную, а не то УГ что сейчас. тогда можно будет и тулсетом заняться. инсталлерами и прочим барахлом.

старую версию можно скачать тут, но она убога по сравнению с текущей:
http://rghost.ru/98503


Часовой пояс GMT +4, время: 06:42.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot