English 中文(简体)
obe AIR 3.1 投放/投放船(Windows)
原标题:Adobe AIR 3.1 Rendering/Input Issue with Steam Overlay (Windows)

我正在通过Adobe AIR(3.1)将闪电式运动员游戏带至桌面(SX和Windows)。 进入AIR本身的工作进展相当顺利。 处理的一个缩略语是,游戏将在轮船网络上分配。 为了与油轮客户进行互动,我必须写出一个本土的延伸,使浮游轮SDK的AS3号。 两个平台都得到了本土推广支持,我申请发射,并按预期与船运通信。

排入麻烦的I区是处理海轮道问题,因为当游轮启动时,该轮会就被压。 基本上,当游戏启动时,船东客户暂停这一过程,以便把其图书馆藏在D3D或开放式GL。 起初,由于AIR申请书记官的缺席规定为“auto” ,Ruplay根本不出庭。 然而,一旦我把ode变成了“gpu”,则超支似乎像预期的那样。

在职业安全办公室方面,所有工作都是按预期进行的。 我可以 to笑,不要掉上了超莱。 在频谱的窗子端,当我启动超支时,我就把问题排在了一边。 具体来说,当能够做到(使游戏倒塌)时,我要么把 mo改或产生关键的板投入,要么将“电压”和游戏(电线)移至2-3秒。 此外,我已注意到,当我打开工作队主管游戏时,香料的使用率约为75-80%。 当我首次在超支(这是人们所希望的)中工作时,pu用率保持不变。 然而,当我搬走 mo门或把钥匙放在钥匙板上时,香料的使用率降至大约1%。 这个问题发生在5台窗户机器中的4台(2台XP, 3 Win 7)上。 自然,我首先与该问题接触,因为只有在能够做到超支时才这样做。 我把“OSX”和“Windows”两处都上载,供他们的dev子去除;然而,我的接触表明,我对AIRs的提供/投入也有更多的了解。

这里是一家配备“Dev”号的岗位的幻灯,详细说明了超支如何运作:

“视窗超支所需经费如下:

  1. Game must use D3D7, D3D8, D3D9, D3D10, D3D11, or OpenGL
  2. Game must call D3D Present() or OpenGL SwapBuffers() on a fast regular basis (these calls are hooked by the overlay and give it opportunity to do work). For instance 2D games that only call these functions when mouse movement occurs or graphics on screen actually change rather than every frame will not function well.
  3. Game should use standard Win32 input messages, raw Win32 input messages, or DirectInput for input and the overlay will then detect hotkeys and hide/block input events from the game when active.

象你的游戏一样,它可能违反第2号,有时当超支时,停止叫SwapBuffers。 如果你根据用户的投入称这些职能,这种情况可能会发生,由于超支而现在受阻。 你们应当保证,即使投入活动发生,你也会保持泵站和定期间歇。

经过稍微晚的婚礼之后,阀门的dev夫介绍了我的申请,以确定是否发生了与红 Game有关的特定问题。 不幸的是,他们无法在超支本身找到任何进展。 这在很大程度上意味着Windows上的AIR与超支阻碍Win32输入信息一样。 这里是Valval dev的对策:

“我看着你的pot,做了一些测试。 超支的情况并不罕见。 在问题发生时,用Xpref对你进行估价,并用一些微调器检查其认为像 app一样的警钟,在被阻塞时使用零CPU,当它只打电话到时,间隔大约只有1次,直到收回为止(可能《国际公路货运公约》的某部分时间有1次)。 很难得到很多细节,因为我没有给阿伊默特管理图书馆的任何象征。

It does however look like this is somehow related to input state and AIR being unhappy with win32 input messages stopping. If I change our overlay to not block any input at all once activated (which obviously has some pretty big problems for usability, but just for testing purposes.) then the issue does not occur. It s possible that the AIR code has some weird logic where if it s seen some specific WM_WHATVER message it s expecting another right after and blocks on it waiting somehow.

希望您能与您或Adobe一道,研究申请为何在这些情况下发生不良行为,开始阻断,不定期提出。

我在Adobe论坛上台,但那里有过这种uck。 主要是 我希望有人以前已经处理过这个问题,或者对我如何能够处理这个问题有想法。 任何建议、评论或想法都将受到高度赞赏。

问题回答

As it turns out, there is an bug deep in AIR core framework that is the root cause of this issue. Adobe has confirmed the bug, and they are working on a fix for the Cyril (AIR 3.3) release. The status of the bug (#3089755) can be viewed in the Adobe AIR bug list.

短期内,我被迫发现轮船正在消耗的视窗信息,并通过假电,防止AIR锁闭。 我通过利用Windows 2008/6:





相关问题
Why running a service as Local System is bad on windows?

I am trying to find out the difference between difference service account types. I tumbled upon this question. The answer was because it has powerful access to local resources, and Network Service ...

Programmatically detect Windows cluster configuration?

Does anyone know how to programatically detect that a Windows server is part of a cluster? Further, is it possible to detect that the server is the active or passive node? [Edit] And detect it from ...

get file icon for Outlook appointment (.msg)

I ve read Get File Icon used by Shell and the other similar posts - and already use SHFileInfo to get the associated icon for any given extension, and that works great. However, Outlook uses ".msg" ...

Identifying idle state on a windows machine

I know about the GetLastInputInfo method but that would only give me the duration since last user input - keyboard or mouse. If a user input was last received 10 minutes ago, that wouldn t mean the ...

Terminating a thread gracefully not using TerminateThread()

My application creates a thread and that runs in the background all the time. I can only terminate the thread manually, not from within the thread callback function. At the moment I am using ...

热门标签