<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Бегущая строка]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8554</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8554&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Бегущая строка».]]></description>
		<lastBuildDate>Thu, 07 Mar 2019 15:46:49 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132859#p132859</link>
			<description><![CDATA[<p>_D2D_RenderTarget_DrawGlyphRun.au3 красиво смотрится. Даже не верится что это в реальном времени, при 2% процессора.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 07 Mar 2019 15:46:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132859#p132859</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132858#p132858</link>
			<description><![CDATA[<p>Спасибо, примеры интересные.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 07 Mar 2019 15:38:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132858#p132858</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132857#p132857</link>
			<description><![CDATA[<p>Если знаешь autoit, то тогда проще будет:<br /><a href="https://autoit.de/index.php?thread/45155-direct2d-udf/">https://autoit.de/index.php?thread/45155-direct2d-udf/</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 07 Mar 2019 15:20:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132857#p132857</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132853#p132853</link>
			<description><![CDATA[<p>В _rectangle повторно надо наверное не всё выполнять, это есть в примере <strong>nepter</strong>.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 07 Mar 2019 12:12:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132853#p132853</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132851#p132851</link>
			<description><![CDATA[<div class="codebox"><pre><code>#SingleInstance force
#NoTrayIcon
SetBatchLines,-1

;dll structure
;Result := DllCall(&quot;DllFile\Function&quot;, &quot;Type1&quot;, Arg1, &quot;Type2&quot;, Arg2,.....,&quot;TypeX&quot;,ArgX) ;pretty straight forward

DllCall(&quot;LoadLibrary&quot;,&quot;str&quot;,&quot;d2d1.dll&quot;) ;default path C:\Windows\SysWOW64\d2d1.dll on 64bit
global 	sizeX = 300,sizeY = 300, hGui ; hwnd
		,pFactory ; the Direct2d Factory
		,pWDFactory ;the DWrite Factory
DllCall(&quot;d2d1\D2D1CreateFactory&quot;,&quot;uint&quot;,0,&quot;ptr&quot;,guid(CLSID,&quot;{06152247-6f50-465a-9245-118bfd3b6007}&quot;),&quot;uint*&quot;,0,&quot;ptr*&quot;,pFactory) ;Create D2D1 Factory

DllCall(&quot;LoadLibrary&quot;,&quot;str&quot;,&quot;dwrite.dll&quot;)
DllCall(&quot;dwrite\DWriteCreateFactory&quot;,&quot;uint&quot;,0,&quot;ptr&quot;,GUID(CLSID,&quot;{b859ee5a-d838-4b5b-a2e8-1adc7d93db48}&quot;),&quot;ptr*&quot;,pWDFactory) ;Create DWriteFactory


Gui,new,hwndhGui
;CustomColor = EEAA99  ; Can be any RGB color (it will be made transparent below).
Gui +AlwaysOnTop -Caption ;+ToolWindow  ; +ToolWindow avoids a taskbar button and an alt-tab menu item.
;Gui, Color, %CustomColor%
;WinSet, TransColor, %CustomColor% 0

;gui,new,hwndhGui
gui,show,w%sizeX% h%sizeY%

OnMessage(0xF,&quot;_rectangle&quot;)
OnMessage(0x14,&quot;_WM_ERASEBKGND&quot;)
_rectangle()
return
GuiClose:
ExitApp


_WM_ERASEBKGND(){
	return 0
}

_rectangle()
{
	static pRenderTarget,pBrush3,pBackgroundBrush,pTxtBrush,textFormat
	
	if A_PtrSize=8
		_struct(tD2D1_HWND_RENDER_TARGET_PROPERTIES,&quot;uint;uint;uint;uint&quot;,hGui,hGui&gt;&gt;32,sizeX,sizeY)
	else
		_struct(tD2D1_HWND_RENDER_TARGET_PROPERTIES,&quot;uint;uint;uint&quot;,hGui,sizeX,sizeY)
	
	;PixelFormat:
		_struct(tD2D1_PIXEL_FORMAT,&quot;uint;uint&quot;,28,0)
	;	Tooltip % &amp;tD2D1_PIXEL_FORMAT
		
		;_struct(tD2D1_RENDER_TARGET_PROPERTIES,&quot;uint;uint;uint;float;float;uint;uint&quot;)
		_struct(tD2D1_RENDER_TARGET_PROPERTIES,&quot;uint;uint;uint;float;float;uint;uint&quot;,0,0,1,0,0,0,0)
		;Colors
		_struct(tD2D1_COLOR_F4,&quot;float;float;float;float&quot;,0,0,0,0) ;BackGround
		_struct(tD2D1_COLOR_F3,&quot;float;float;float;float&quot;,1,0,0,1) ;Square
		_struct(tD2D1_COLOR_F5,&quot;float;float;float;float&quot;,1,1,0,1) ;Text
		
		_struct(HBITMAP,&quot;uint;uint;uint;uint;uint&quot;,500,500,1,32,0)
		

	;ID2D1Factory
	DllCall(vt(pFactory,14),&quot;ptr&quot;,pFactory
			,&quot;ptr&quot;,&amp;tD2D1_RENDER_TARGET_PROPERTIES
			,&quot;ptr&quot;,&amp;tD2D1_HWND_RENDER_TARGET_PROPERTIES
			,&quot;ptr*&quot;,pRenderTarget)  ;CreateHwndRenderTarget

	;CreateBitmap
;	DllCall(vt(pRenderTarget,4),&quot;ptr&quot;,pRenderTarget,&quot;uint&quot;,500,&quot;uint&quot;,500,&quot;uint&quot;,1,&quot;ptr&quot;,32,&quot;float&quot;,0,&quot;ptr*&quot;,bitmap)
	;im lost here

/*
	DllCall(vt(pFactory,13),&quot;ptr&quot;,pFactory
			,&quot;ptr&quot;,&amp;HBITMAP ; not sure how or what.
			,&quot;ptr&quot;&amp;tD2D1_RENDER_TARGET_PROPERTIES
			,&quot;ptr*&quot;,pRenderTarget) ;CreateWicBitmapRenderTarget
			
	;DllCall(vt(pFactory,16),&quot;ptr&quot;,&amp;tD2D1_RENDER_TARGET_PROPERTIES,&quot;ptr*&quot;,pRenderTarget)
			
		Tooltip % 	DllCall(vt(pRenderTarget,56),pRenderTarget,tD2D1_RENDER_TARGET_PROPERTIES)
		*/


	;ID2D1RenderTarget
	DllCall(vt(pRenderTarget,8),&quot;ptr&quot;,pRenderTarget
			,&quot;ptr&quot;,&amp;tD2D1_COLOR_F4
			,&quot;ptr&quot;,0,&quot;ptr*&quot;,pBackgroundBrush) ;CreateSolidColorBrush
			
	;ID2D1RenderTarget
	DllCall(vt(pRenderTarget,8),&quot;ptr&quot;,pRenderTarget
			,&quot;ptr&quot;,&amp;tD2D1_COLOR_F3			
			,&quot;ptr&quot;,0,&quot;ptr*&quot;,pBrush3) ;CreateSolidColorBrush					
			
	;ID2D1RenderTarget
	DllCall(vt(pRenderTarget,8),&quot;ptr&quot;,pRenderTarget
			,&quot;ptr&quot;,&amp;tD2D1_COLOR_F5
			,&quot;ptr&quot;,0,&quot;ptr*&quot;,pTxtBrush) ;CreateSolidColorBrush
			
	_struct(tD2D1_RECT_F,&quot;float;float;float;float&quot;,0,0,sizeX,sizeY)
	_struct(tD2D1_ROUNDED_RECT,&quot;float;float;float;float;float;float&quot;,0.12*sizeX,0.12*sizeY,0.88*sizeX,0.88*sizeY)	
	_struct(tD2D1_TEXT,&quot;float;float;float;float&quot;,5,5,sizeX,sizeY)

	
	
	;DllCall(vt(pWDFactory,15),&quot;str&quot;,fontFamilyName,&quot;ptr&quot;,fontCollection,&quot;int&quot;,fontWeight,&quot;int&quot;,fontStyle,&quot;int&quot;,fontStretch,&quot;float&quot;,fontSize,&quot;str&quot;,localeName,&quot;ptr*&quot;,textFormat)	
	
	;ID2D1RenderTarget
	DllCall(vt(pRenderTarget,48),&quot;ptr&quot;,pRenderTarget) ;start draw
	DllCall(vt(pRenderTarget,17),&quot;ptr&quot;,pRenderTarget,&quot;ptr&quot;,&amp;tD2D1_RECT_F,&quot;ptr&quot;,pBackgroundBrush) ;background
	DllCall(vt(pRenderTarget,18),&quot;ptr&quot;,pRenderTarget,&quot;ptr&quot;,&amp;tD2D1_ROUNDED_RECT,&quot;ptr&quot;,pBrush3,&quot;float&quot;,2,&quot;ptr&quot;,pStrokeStyle) ;rectangle
	DllCall(vt(pWDFactory,15),&quot;str&quot;,&quot;Arial&quot;,&quot;ptr&quot;,0,&quot;int&quot;,700,&quot;int&quot;,1,&quot;int&quot;,0,&quot;float&quot;,13.0,&quot;str&quot;,&quot;en-us&quot;,&quot;ptr*&quot;,textFormat)	
	DllCall(vt(pRenderTarget,27),&quot;ptr&quot;,pRenderTarget,&quot;str&quot;,&quot;Michael&quot;,&quot;uint&quot;,7,&quot;ptr&quot;,textFormat,&quot;ptr&quot;,&amp;tD2D1_TEXT,&quot;ptr&quot;,pTxtBrush,&quot;uint&quot;,0,&quot;unit&quot;,0) ;drawtext
	DllCall(vt(pRenderTarget,47),&quot;ptr&quot;,pRenderTarget,&quot;ptr&quot;,&amp;tD2D1_RECT_F)
	DllCall(vt(pRenderTarget,49),&quot;ptr&quot;,pRenderTarget,&quot;uint64*&quot;,0,&quot;uint64*&quot;,0) ;end draw
	

}

GUID(ByRef GUID, sGUID){ 
    VarSetCapacity(GUID,16,0)
    return DllCall(&quot;ole32\CLSIDFromString&quot;,&quot;wstr&quot;,sGUID,&quot;ptr&quot;,&amp;GUID)&gt;= 0?&amp;GUID:&quot;&quot;
}


_struct(ByRef var,type=&quot;&quot;,param*){
	if type is Integer
    {
		Loop % VarSetCapacity(var,type,0)//4
			if param[A_Index]
				NumPut(param[A_Index],var,(A_Index-1)*4,&quot;uint&quot;)
	}else{
		StringSplit,key,type,`;,%A_Space%
		VarSetCapacity(var,key0*4,0)
		loop %key0%
			if param[A_Index]
				NumPut(param[A_Index],var,(A_Index-1)*4,key%A_Index%)
	}	
	return &amp;var
}

vt(p,n){
	return NumGet(NumGet(p+0,&quot;ptr&quot;)+n*A_PtrSize,&quot;ptr&quot;)
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 07 Mar 2019 12:09:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132851#p132851</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132849#p132849</link>
			<description><![CDATA[<p>Хм, это окно у меня после сворачивания/разворачивания стало серым.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 07 Mar 2019 12:04:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132849#p132849</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132845#p132845</link>
			<description><![CDATA[<p>Тут его более полные библиотеки:<br /><a href="https://github.com/neptercn/Component_AHK">https://github.com/neptercn/Component_AHK</a><br />Пример от которого можно отталкиваться:<br /></p><div class="codebox"><pre><code>#SingleInstance force
#NoTrayIcon
SetBatchLines,-1

;dll structure
;Result := DllCall(&quot;DllFile\Function&quot;, &quot;Type1&quot;, Arg1, &quot;Type2&quot;, Arg2,.....,&quot;TypeX&quot;,ArgX) ;pretty straight forward

DllCall(&quot;LoadLibrary&quot;,&quot;str&quot;,&quot;d2d1.dll&quot;) ;default path C:\Windows\SysWOW64\d2d1.dll on 64bit
global 	sizeX = 300,sizeY = 300, hGui ; hwnd
		,pFactory ; the Direct2d Factory
		,pWDFactory ;the DWrite Factory
DllCall(&quot;d2d1\D2D1CreateFactory&quot;,&quot;uint&quot;,0,&quot;ptr&quot;,guid(CLSID,&quot;{06152247-6f50-465a-9245-118bfd3b6007}&quot;),&quot;uint*&quot;,0,&quot;ptr*&quot;,pFactory) ;Create D2D1 Factory

DllCall(&quot;LoadLibrary&quot;,&quot;str&quot;,&quot;dwrite.dll&quot;)
DllCall(&quot;dwrite\DWriteCreateFactory&quot;,&quot;uint&quot;,0,&quot;ptr&quot;,GUID(CLSID,&quot;{b859ee5a-d838-4b5b-a2e8-1adc7d93db48}&quot;),&quot;ptr*&quot;,pWDFactory) ;Create DWriteFactory


Gui,new,hwndhGui
;CustomColor = EEAA99  ; Can be any RGB color (it will be made transparent below).
Gui +AlwaysOnTop -Caption ;+ToolWindow  ; +ToolWindow avoids a taskbar button and an alt-tab menu item.
;Gui, Color, %CustomColor%
;WinSet, TransColor, %CustomColor% 0

;gui,new,hwndhGui
gui,show,w%sizeX% h%sizeY%

_rectangle()
return
GuiClose:
ExitApp


_rectangle()
{

	static pRenderTarget,pBrush3,pBackgroundBrush,pTxtBrush,textFormat
	
	if A_PtrSize=8
		_struct(tD2D1_HWND_RENDER_TARGET_PROPERTIES,&quot;uint;uint;uint;uint&quot;,hGui,hGui&gt;&gt;32,sizeX,sizeY)
	else
		_struct(tD2D1_HWND_RENDER_TARGET_PROPERTIES,&quot;uint;uint;uint&quot;,hGui,sizeX,sizeY)
	
	;PixelFormat:
		_struct(tD2D1_PIXEL_FORMAT,&quot;uint;uint&quot;,28,0)
	;	Tooltip % &amp;tD2D1_PIXEL_FORMAT
		
		;_struct(tD2D1_RENDER_TARGET_PROPERTIES,&quot;uint;uint;uint;float;float;uint;uint&quot;)
		_struct(tD2D1_RENDER_TARGET_PROPERTIES,&quot;uint;uint;uint;float;float;uint;uint&quot;,0,0,1,0,0,0,0)
		;Colors
		_struct(tD2D1_COLOR_F4,&quot;float;float;float;float&quot;,0,0,0,0) ;BackGround
		_struct(tD2D1_COLOR_F3,&quot;float;float;float;float&quot;,1,0,0,1) ;Square
		_struct(tD2D1_COLOR_F5,&quot;float;float;float;float&quot;,1,1,0,1) ;Text
		
		_struct(HBITMAP,&quot;uint;uint;uint;uint;uint&quot;,500,500,1,32,0)
		

	;ID2D1Factory
	DllCall(vt(pFactory,14),&quot;ptr&quot;,pFactory
			,&quot;ptr&quot;,&amp;tD2D1_RENDER_TARGET_PROPERTIES
			,&quot;ptr&quot;,&amp;tD2D1_HWND_RENDER_TARGET_PROPERTIES
			,&quot;ptr*&quot;,pRenderTarget)  ;CreateHwndRenderTarget

	;CreateBitmap
;	DllCall(vt(pRenderTarget,4),&quot;ptr&quot;,pRenderTarget,&quot;uint&quot;,500,&quot;uint&quot;,500,&quot;uint&quot;,1,&quot;ptr&quot;,32,&quot;float&quot;,0,&quot;ptr*&quot;,bitmap)
	;im lost here

/*
	DllCall(vt(pFactory,13),&quot;ptr&quot;,pFactory
			,&quot;ptr&quot;,&amp;HBITMAP ; not sure how or what.
			,&quot;ptr&quot;&amp;tD2D1_RENDER_TARGET_PROPERTIES
			,&quot;ptr*&quot;,pRenderTarget) ;CreateWicBitmapRenderTarget
			
	;DllCall(vt(pFactory,16),&quot;ptr&quot;,&amp;tD2D1_RENDER_TARGET_PROPERTIES,&quot;ptr*&quot;,pRenderTarget)
			
		Tooltip % 	DllCall(vt(pRenderTarget,56),pRenderTarget,tD2D1_RENDER_TARGET_PROPERTIES)
		*/


	;ID2D1RenderTarget
	DllCall(vt(pRenderTarget,8),&quot;ptr&quot;,pRenderTarget
			,&quot;ptr&quot;,&amp;tD2D1_COLOR_F4
			,&quot;ptr&quot;,0,&quot;ptr*&quot;,pBackgroundBrush) ;CreateSolidColorBrush
			
	;ID2D1RenderTarget
	DllCall(vt(pRenderTarget,8),&quot;ptr&quot;,pRenderTarget
			,&quot;ptr&quot;,&amp;tD2D1_COLOR_F3			
			,&quot;ptr&quot;,0,&quot;ptr*&quot;,pBrush3) ;CreateSolidColorBrush					
			
	;ID2D1RenderTarget
	DllCall(vt(pRenderTarget,8),&quot;ptr&quot;,pRenderTarget
			,&quot;ptr&quot;,&amp;tD2D1_COLOR_F5
			,&quot;ptr&quot;,0,&quot;ptr*&quot;,pTxtBrush) ;CreateSolidColorBrush
			
	_struct(tD2D1_RECT_F,&quot;float;float;float;float&quot;,0,0,sizeX,sizeY)
	_struct(tD2D1_ROUNDED_RECT,&quot;float;float;float;float;float;float&quot;,0.12*sizeX,0.12*sizeY,0.88*sizeX,0.88*sizeY)	
	_struct(tD2D1_TEXT,&quot;float;float;float;float&quot;,5,5,sizeX,sizeY)

	
	
	;DllCall(vt(pWDFactory,15),&quot;str&quot;,fontFamilyName,&quot;ptr&quot;,fontCollection,&quot;int&quot;,fontWeight,&quot;int&quot;,fontStyle,&quot;int&quot;,fontStretch,&quot;float&quot;,fontSize,&quot;str&quot;,localeName,&quot;ptr*&quot;,textFormat)	
	
	;ID2D1RenderTarget
	DllCall(vt(pRenderTarget,48),&quot;ptr&quot;,pRenderTarget) ;start draw
	DllCall(vt(pRenderTarget,17),&quot;ptr&quot;,pRenderTarget,&quot;ptr&quot;,&amp;tD2D1_RECT_F,&quot;ptr&quot;,pBackgroundBrush) ;background
	DllCall(vt(pRenderTarget,18),&quot;ptr&quot;,pRenderTarget,&quot;ptr&quot;,&amp;tD2D1_ROUNDED_RECT,&quot;ptr&quot;,pBrush3,&quot;float&quot;,2,&quot;ptr&quot;,pStrokeStyle) ;rectangle
	DllCall(vt(pWDFactory,15),&quot;str&quot;,&quot;Arial&quot;,&quot;ptr&quot;,0,&quot;int&quot;,700,&quot;int&quot;,1,&quot;int&quot;,0,&quot;float&quot;,13.0,&quot;str&quot;,&quot;en-us&quot;,&quot;ptr*&quot;,textFormat)	
	DllCall(vt(pRenderTarget,27),&quot;ptr&quot;,pRenderTarget,&quot;str&quot;,&quot;Michael&quot;,&quot;uint&quot;,7,&quot;ptr&quot;,textFormat,&quot;ptr&quot;,&amp;tD2D1_TEXT,&quot;ptr&quot;,pTxtBrush,&quot;uint&quot;,0,&quot;unit&quot;,0) ;drawtext
	DllCall(vt(pRenderTarget,47),&quot;ptr&quot;,pRenderTarget,&quot;ptr&quot;,&amp;tD2D1_RECT_F)
	DllCall(vt(pRenderTarget,49),&quot;ptr&quot;,pRenderTarget,&quot;uint64*&quot;,0,&quot;uint64*&quot;,0) ;end draw
	

}

GUID(ByRef GUID, sGUID){ 
    VarSetCapacity(GUID,16,0)
    return DllCall(&quot;ole32\CLSIDFromString&quot;,&quot;wstr&quot;,sGUID,&quot;ptr&quot;,&amp;GUID)&gt;= 0?&amp;GUID:&quot;&quot;
}


_struct(ByRef var,type=&quot;&quot;,param*){
	if type is Integer
    {
		Loop % VarSetCapacity(var,type,0)//4
			if param[A_Index]
				NumPut(param[A_Index],var,(A_Index-1)*4,&quot;uint&quot;)
	}else{
		StringSplit,key,type,`;,%A_Space%
		VarSetCapacity(var,key0*4,0)
		loop %key0%
			if param[A_Index]
				NumPut(param[A_Index],var,(A_Index-1)*4,key%A_Index%)
	}	
	return &amp;var
}

vt(p,n){
	return NumGet(NumGet(p+0,&quot;ptr&quot;)+n*A_PtrSize,&quot;ptr&quot;)
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 07 Mar 2019 10:57:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132845#p132845</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132844#p132844</link>
			<description><![CDATA[<p>Самое главное то, что написан враппер.<br />Берешь какую-нибудь книжку по Direct2D, читаешь, изучаешь уроки.<br />Потом с помощью враппера выполняешь их на ахк.<br />Если какие-то функции переведены на ахк не будут, ищешь их на мсдн, считаешь сдвиги и добавляешь.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 07 Mar 2019 10:40:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132844#p132844</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132843#p132843</link>
			<description><![CDATA[<p>Direct2D выглядит хорошо, но судя по тому что на AutoHotkey это чуть ли не единственный пример, путь одолеет не каждый идущий.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 07 Mar 2019 10:24:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132843#p132843</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132841#p132841</link>
			<description><![CDATA[<p>Кто ж его знает.<br />Рассуждать можно до бесконечности.<br />Реальные результаты можно получить только с помощью бенчмарков.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 07 Mar 2019 09:28:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132841#p132841</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132840#p132840</link>
			<description><![CDATA[<p>Тогда не понятно почему автор предпочёл SetDIBitsToDevice вместо BitBlt для большего кол-ва fps. Судя по опыту создания экранной лупы, BitBlt при перерисовке больших площадей периодически мелькает, и не даёт существенный прирост производительности в сравнении с UpdateLayeredWindow.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 07 Mar 2019 09:13:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132840#p132840</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132838#p132838</link>
			<description><![CDATA[<p>Не SetDIBits, а SetDIBitsToDevice.<br />Это совсем разные функции.<br />Теоретически сказать не могу, я бы исходил из практики - попробовать все варианты и выбрать наиболее подходящий.<br />МСДН пишет, что BitBlt быстрее:<br /><a href="https://docs.microsoft.com/en-us/windows/desktop/gdi/device-independent-bitmaps">https://docs.microsoft.com/en-us/window … nt-bitmaps</a><br />Хотя возможно тебя&nbsp; ни один из вариантов не устроит и тогда придется садиться за изучение Direct2D:<br /><a href="https://autohotkey.com/board/topic/94649-sample-ahk-l-show-how-to-use-direct2d-and-ui-animation/">https://autohotkey.com/board/topic/9464 … animation/</a><br /><a href="https://github.com/neptercn/Direct2D">https://github.com/neptercn/Direct2D</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 07 Mar 2019 08:27:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132838#p132838</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132834#p132834</link>
			<description><![CDATA[<p>UpdateLayeredWindow на GDI+, но она тормозит. BitBlt и SetDIBits на GDI, ты предлагал их в качестве менее прожорливой альтернативы если я правильно понял.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 06 Mar 2019 22:27:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132834#p132834</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132833#p132833</link>
			<description><![CDATA[<p>Не совсем понял почему ты сравниваешь SetDIBits с UpdateLayeredWindow и BitBlt?</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Wed, 06 Mar 2019 22:22:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132833#p132833</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Бегущая строка]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=132832#p132832</link>
			<description><![CDATA[<p>А, да, как то использовал готовый пример с ней.<br />Как по твоему, почему теоретически SetDIBits может быть шустрее чем UpdateLayeredWindow, и в чём преимущества перед BitBllt?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 06 Mar 2019 18:58:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=132832#p132832</guid>
		</item>
	</channel>
</rss>
