问题列表 - 第279852页

在运行时添加新3D对象的最佳方法

到目前为止,我一直在创建期间创建3D对象.但现在我需要动态添加它们.什么可以更简单,我想...

现在的主要问题是如何以最快的方式上传新对象的数据并找出数据上传的时间.

这是我的设置:

  • 我正在使用vulkan内存分配器库,所以我是自由形式的内存管理负担.
  • 我打算VkBuffer为每个对象使用一个单独的 - 这样我就不需要管理偏移,对齐,并且添加/删除对象会更容易.

这是我的想法/问题:

  1. 如何上传数据?我希望缓冲区只能是gpu-visible,这意味着我需要一个临时缓冲区.
  2. 如果我使用临时缓冲区,我需要知道数据何时可以在gpu上使用.我不想冲洗管道并等待.我看到的唯一方法是对每个对象使用一个围栏,并且只draw在该围栏准备就绪时调用该命令.
  3. 如果我使用临时缓冲区并希望在短帧期间上传多个对象,我需要以某种方式确保此临时缓冲区的各个部分不被不同的对象覆盖.为此,我需要保持它的大,处理偏移的对齐.但有多大?

我很确定我太复杂了.我相信应该有一个更简单的模式.你会怎么做?

vulkan

2
推荐指数
1
解决办法
56
查看次数

Apple Watch 并发症无法可靠更新

我有一个 iPhone 应用程序,可将数据从 iPhone 应用程序直接发送到表盘以显示为复杂功能。

我使用该WatchConnectivity框架创建了一个WCSession将数据从手机发送到手表的方法。

我的数据存储在字典中,并使用WCSessiontransferCurrentComplicationUserInfo方法发送到手表。(这种方法每天可以使用 50 次左右,我知道这一点 - 这不是问题。)

transferCurrentComplicationUserInfo方法似乎在我第一次尝试发送数据时起作用。

我的问题是我的 iPhone 应用程序打算在一个会话中多次调用这个函数,而且它只能在第一次可靠地工作。

当我发送第二组数据时,第一组数据仍保留在并发症上。通常,当我发送第三组时,会出现第二组。有时第二组永久出现,有时只出现一秒钟,然后显示第三组。

这是不一致的,这就是我遇到的问题。

有什么我设置不正确的吗?

代码:

//iPhone code to send data to Apple Watch:

func sendComplication(complication: Complication) {
        guard let session = session else {
            delegate?.failedToSendComplication(reason: "Could not connect to your Apple Watch.")
            return
        }
        guard let context = convertComplicationToDictionary(complication: complication) else {
            delegate?.failedToSendComplication(reason: "Couldn't cast complication to a dictionary.")
            return
        }
        if session.remainingComplicationUserInfoTransfers > 0 { …
Run Code Online (Sandbox Code Playgroud)

apple-watch watchkit clockkit apple-watch-complication watchconnectivity

7
推荐指数
1
解决办法
441
查看次数

[错误]:使用 Python3 执行多线程脚本时 threading.Thread() 出现问题

下面的代码示例是我尝试创建的一个小脚本。在这个脚本中,有两个函数。和。calculate_the_square(takes_the_given_array)calculate_the_cube(takes_the_given_array)

我创建了两个线程,threa_01 和 thread_02,并告诉它们执行我想要的函数。在 args 变量中,我发送要发送的数组以便进行计算 (args=array)。在目标变量中,我发送要在其中运行的特定线程的函数名称(target=calculate_the_squaretarget=calculate_the_cube)。然后我开始执行线程并让它们连接起来。

不幸的是,当我执行它时,我面临以下问题:

问题

Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "C:\Program Files (x86)\Python37-32\lib\threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
TypeError: calculate_the_square() takes 1 positional argument but 6 were given

Exception in thread Thread-2:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "C:\Program Files (x86)\Python37-32\lib\threading.py", line 865, in run …
Run Code Online (Sandbox Code Playgroud)

multithreading python-3.x

3
推荐指数
2
解决办法
2万
查看次数

如何处理Angular 7中的连接丢失页面?

我想要的是,如果网络不可用,并且用户尝试导航到下一页,那么ConnectionLostComponent就在那里.

但是,如果没有网络,用户不采取任何行动意味着不导航到第二页.那么不应该有一个连接丢失的页面.用户应该留在当前页面上.

为此,我已经实现了canActivate guard作为以下代码:

@Injectable({
  providedIn: 'root'
})
export class NetworkGuard implements CanActivate {
  constructor(private router: Router, private network: NetworkService) {
  }

  canActivate(next: ActivatedRouteSnapshot,
              state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {
    if (window.navigator.onLine) {
      return true;
    } else {
      if (!this.isConnectionLostComponent()) {
        this.router.navigate(['/connection-lost'], {skipLocationChange: true});
      }
      return false;
    }
  }

  private isConnectionLostComponent() {
    // check whether connection lost component is added on not
    return this.network.isActive;
  }
}
Run Code Online (Sandbox Code Playgroud)

除了一个条件外它工作正常.也就是说,如果我从浏览器单击后退或前进,它的更新URL connection-lost地址栏 …

javascript guard web angular

7
推荐指数
2
解决办法
952
查看次数

React Infinite Scroller - 两个孩子拥有相同的钥匙。loadMore 函数被调用两次

我正在尝试使用react-infinite-scroller 构建类似于facebook 的无限滚动帖子。但是,它在控制台中多次给出相同的错误 -

\n\n
\n

“遇到两个具有相同密钥的子项。shdj1289密钥应该\n是唯一的,以便组件在更新时保持其身份。\n非唯一的密钥可能会导致子项重复和/或省略\xe2\x80\x94\n该行为不受支持,并且可能在未来版本中发生变化。”

\n
\n\n

这是渲染函数

\n\n

\r\n
\r\n
render() {\r\n        const { loading, userData, circleData, redirectToLogin, posts } = this.state;\r\n        return redirectToLogin ? <Redirect to="/" /> : (\r\n            <Container>\r\n                <h1>Hi {userData.firstName}</h1>\r\n                \r\n                <InfiniteScroll\r\n                    loadMore={this.fetchPosts}\r\n                    hasMore={this.state.hasMore}\r\n                    useWindow={false}\r\n                    loader={<div key={0}></div>}\r\n                >\r\n                    {posts.map(p => {\r\n                        return (<Post key={p.postIdentity} data={p} />);\r\n                    })}\r\n                </InfiniteScroll>\r\n            </Container>\r\n        )\r\n    }
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n\n

这是 fetchPosts 函数 -

\n\n

\r\n
\r\n
fetchPosts = () => {\r\n        const postQuery = {\r\n            "PageIndex": …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

5
推荐指数
1
解决办法
2126
查看次数

将 BACPAC 导入_现有_数据库

有没有办法将 BACPAC 文件导入现有(空)数据库?看起来 PowerShell 命令只允许我创建新的目标数据库......

有什么窍门吗?

bacpac azure-sql-database

3
推荐指数
1
解决办法
3195
查看次数

为什么{0}分配有效但数组不为{5}

我尝试了以下代码:

int a[4] = {0};
int b[4] = {5};
int c[4];
printf("%d %d %d %d %d %d\n", a[0], a[3] , b[0], b[3], c[0], c[3]);
Run Code Online (Sandbox Code Playgroud)

得到以下结果:

0 0 5 0 random random
Run Code Online (Sandbox Code Playgroud)

虽然我得到了为什么我得到了c数组的随机值,我不明白为什么分配{5}不起作用{0},只是初始化数组的第一个元素.

有没有办法将数组b元素初始化为不同于0的相同值?(不使用memset或for循环)

c arrays array-initialization

2
推荐指数
1
解决办法
124
查看次数

将特定结构传递给C中的功能

我一直用C编写程序,用PIC在显示器上绘制字符.

我有许多结构包含不同字体的符号和元数据,我正在努力研究如何将它们传递给在显示缓冲区中绘制符号的函数.我目前的代码将无法编译.

到目前为止,我在头文件中有遵循此格式的结构:

struct Arial
{
    char symbol[1000] = {...};
    int info[32][3] = {...};
};

struct Courier
{
    char symbol[1000] = {...};
    int info[32][3] = {...};
};

struct Calibri
{
    char symbol[1000] = {...};
    int info[32][3] = {...};
};
Run Code Online (Sandbox Code Playgroud)

理想情况下,在我的其余代码中,我想传递对显示函数参数中的一个结构的引用,以便它知道要使用哪种字体.我无法理解如何做到这一点,我感到困惑.

例如,如果我想使用字体Arial打印Arial结构中的第10个字符:

void display_function(struct *font_name, int letter)
{
    int letter_start = font_name->info[letter][0];
    char letter_data = font_name->symbol[letter_start];

    // Draws to buffer here
}

void main()
{
    display_function(&Arial, 10);
}
Run Code Online (Sandbox Code Playgroud)

任何有关前进道路的帮助都将非常感激.我试过寻找其他类似的问题,但找不到我能够解决的问题.

c pointers structure

2
推荐指数
1
解决办法
58
查看次数

如何处理Azure存储队列中的大消息?

我们使用几个 azure 函数和 azure 存储队列在它们之间进行通信。我们知道每个队列消息的限制为 64kB,因此我们必须使用消息压缩,但有时我们会超出该限制。根据文档https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted#capacity-and-quotas

\n\n
\n

Azure 通过组合队列和 blob \xe2\x80\x93 来支持大消息,此时您可以为单个项目排队最多 200 GB。

\n
\n\n

看起来我们可以将大消息放入存储队列中。不幸的是没有关于此的额外文档。所以我们的问题是它应该如何运作?它应该开箱即用,或者我们应该使用某种模式,例如将消息写入 blob,将带有 blob id 的消息放入队列,然后在某些队列触发的函数中按 id 读取 blob?

\n\n

我们使用 Microsoft.Azure.Storage.Queue v9.4.2 nuget 包将消息推送到队列中。

\n

c# azure-storage azure-storage-queues

5
推荐指数
1
解决办法
4321
查看次数

C++ 共享库有重复的符号

我是 C++ 符号表和库的新手,想了解符号表的行为。我们有一个原生支持的安卓应用程序。在分析共享库的符号表的过程中,我注意到 .so 文件中存在重复的符号。请查找符号表的示例列表。

0162502c  w   DO .data  00000004  Base        boost::asio::error::get_addrinfo_category()::instance

00aaa4f4  w   DF .text  0000009c  Base        boost::asio::error::get_misc_category()

01626334  w   DO .bss   00000004  Base        guard variable for boost::asio::error::get_misc_category()::instance

00aab4d0  w   DF .text  0000003c  Base        boost::asio::error::detail::misc_category::~misc_category()

00aab368  w   DF .text  0000003c  Base        boost::asio::error::detail::addrinfo_category::~addrinfo_category()

00aab3a4  w   DF .text  00000034  Base        boost::asio::error::detail::addrinfo_category::name() const

00aab3d8  w   DF .text  000000f8  Base        boost::asio::error::detail::addrinfo_category::message(int) const

00aab50c  w   DF .text  0000003c  Base        boost::asio::error::detail::misc_category::~misc_category()
Run Code Online (Sandbox Code Playgroud)

在这里您可以注意到以下符号“boost::asio::error::detail::misc_category::~misc_category()”出现了两次。

我想了解为什么我们在符号表中得到重复的符号。也有兴趣知道为什么我的应用程序在有重复符号时运行良好 [哪个链接器应该在理想情况下抛出重复符号错误] 还想知道符号表中的重复符号是否会增加“so”的大小,最终导致增加应用程序的大小

如果发生这种情况,我如何确保在符号表中只获得唯一的条目。注意:-我们正在使用clang

android android-ndk c++11 .so

4
推荐指数
1
解决办法
1615
查看次数